mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-06-02 02:01:19 +00:00
- added: DECORATE now allows definitions of dynamic light attachments per state.
These are fully inheritable by subclasses unlike lights defined in GLDEFS. The light itself still needs to defined the old way in GLDEFS though. It's only the attachment that can now be done in DECORATE. Update to ZDoom r1935: - Removed the Actor uservar array and replaced it with user-defined variables. A_SetUserVar/SetUserVariable/GetUserVariable now take a variable name instead of an array index. A_SetUserArray/SetUserArray/GetUserArray have been added to access elements in user-defined arrays. - Rewrote wide sky texture scaling again. This time, it should work for any size textures at any scale. I also tried doing sky scrolling on the sky cylinder, but that didn't look so good, so I left it in screen space. git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@577 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
parent
ead4444982
commit
0a8ac6a153
46 changed files with 2854 additions and 2114 deletions
|
@ -785,47 +785,6 @@ static void R_Shutdown ()
|
|||
R_DeinitData();
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// I am keeping both the original nodes from the WAD and the ones
|
||||
// created for the GL renderer. THe original set is only being used
|
||||
// to get the sector for in-game positioning of actors but not for rendering.
|
||||
//
|
||||
// Unfortunately this is necessary because ZDBSP is much more sensitive
|
||||
// to sloppy mapping practices that produce overlapping sectors.
|
||||
// The crane in P:AR E1M3 is a good example that would be broken If
|
||||
// I didn't do this.
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// P_PointInSubsector
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
subsector_t *P_PointInSubsector (fixed_t x, fixed_t y)
|
||||
{
|
||||
node_t *node;
|
||||
int side;
|
||||
|
||||
// single subsector is a special case
|
||||
if (numgamenodes == 0)
|
||||
return gamesubsectors;
|
||||
|
||||
node = gamenodes + numgamenodes - 1;
|
||||
|
||||
do
|
||||
{
|
||||
side = R_PointOnSide (x, y, node);
|
||||
node = (node_t *)node->children[side];
|
||||
}
|
||||
while (!((size_t)node & 1));
|
||||
|
||||
return (subsector_t *)((BYTE *)node - 1);
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// R_PointInSubsector
|
||||
|
@ -901,11 +860,11 @@ void R_InterpolateView (player_t *player, fixed_t frac, InterpolationViewer *ivi
|
|||
// Avoid overflowing viewpitch (can happen when a netgame is stalled)
|
||||
if (viewpitch + delta <= viewpitch)
|
||||
{
|
||||
viewpitch = +ANGLE_1*MAX_DN_ANGLE;
|
||||
viewpitch = screen->GetMaxViewPitch(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
viewpitch = MIN(viewpitch + delta, +ANGLE_1*MAX_DN_ANGLE);
|
||||
viewpitch = MIN(viewpitch + delta, screen->GetMaxViewPitch(true));
|
||||
}
|
||||
}
|
||||
else if (delta < 0)
|
||||
|
@ -913,11 +872,11 @@ void R_InterpolateView (player_t *player, fixed_t frac, InterpolationViewer *ivi
|
|||
// Avoid overflowing viewpitch (can happen when a netgame is stalled)
|
||||
if (viewpitch + delta >= viewpitch)
|
||||
{
|
||||
viewpitch = -ANGLE_1*MAX_UP_ANGLE;
|
||||
viewpitch = screen->GetMaxViewPitch(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
viewpitch = MAX(viewpitch + delta, -ANGLE_1*MAX_UP_ANGLE);
|
||||
viewpitch = MAX(viewpitch + delta, screen->GetMaxViewPitch(false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue