mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 19:20:46 +00:00
CON: Add EVENT_DISPLAYROOMSCAMERATILE
git-svn-id: https://svn.eduke32.com/eduke32@7313 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
a91391fdec
commit
9b17be7f3e
4 changed files with 19 additions and 4 deletions
|
@ -155,6 +155,7 @@ enum GameEvent_t {
|
||||||
EVENT_DAMAGEWALL,
|
EVENT_DAMAGEWALL,
|
||||||
EVENT_DAMAGEFLOOR,
|
EVENT_DAMAGEFLOOR,
|
||||||
EVENT_DAMAGECEILING,
|
EVENT_DAMAGECEILING,
|
||||||
|
EVENT_DISPLAYROOMSCAMERATILE,
|
||||||
#ifdef LUNATIC
|
#ifdef LUNATIC
|
||||||
EVENT_ANIMATEALLSPRITES,
|
EVENT_ANIMATEALLSPRITES,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -756,13 +756,15 @@ void G_DrawRooms(int32_t playerNum, int32_t smoothRatio)
|
||||||
CAMERA(q16ang) = fix16_from_int(actor[ud.camerasprite].tempang
|
CAMERA(q16ang) = fix16_from_int(actor[ud.camerasprite].tempang
|
||||||
+ mulscale16(((pSprite->ang + 1024 - actor[ud.camerasprite].tempang) & 2047) - 1024, smoothRatio));
|
+ mulscale16(((pSprite->ang + 1024 - actor[ud.camerasprite].tempang) & 2047) - 1024, smoothRatio));
|
||||||
|
|
||||||
int const noDraw = VM_OnEventWithReturn(EVENT_DISPLAYROOMSCAMERA, pPlayer->i, playerNum, 0);
|
int const noDraw = VM_OnEventWithReturn(EVENT_DISPLAYROOMSCAMERA, ud.camerasprite, playerNum, 0);
|
||||||
|
|
||||||
if (noDraw != 1) // event return values other than 0 and 1 are reserved
|
if (noDraw != 1) // event return values other than 0 and 1 are reserved
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUGGINGAIDS
|
||||||
if (EDUKE32_PREDICT_FALSE(noDraw != 0))
|
if (EDUKE32_PREDICT_FALSE(noDraw != 0))
|
||||||
OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMSCAMERA return value must be 0 or 1, "
|
OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMSCAMERA return value must be 0 or 1, "
|
||||||
"other values are reserved.\n");
|
"other values are reserved.\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef LEGACY_ROR
|
#ifdef LEGACY_ROR
|
||||||
G_SE40(smoothRatio);
|
G_SE40(smoothRatio);
|
||||||
|
@ -1016,11 +1018,11 @@ void G_DrawRooms(int32_t playerNum, int32_t smoothRatio)
|
||||||
|
|
||||||
if (noDraw != 1) // event return values other than 0 and 1 are reserved
|
if (noDraw != 1) // event return values other than 0 and 1 are reserved
|
||||||
{
|
{
|
||||||
/*
|
#ifdef DEBUGGINGAIDS
|
||||||
if (EDUKE32_PREDICT_FALSE(dont_draw != 0))
|
if (EDUKE32_PREDICT_FALSE(noDraw != 0))
|
||||||
OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMS return value must be 0 or 1, "
|
OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMS return value must be 0 or 1, "
|
||||||
"other values are reserved.\n");
|
"other values are reserved.\n");
|
||||||
*/
|
#endif
|
||||||
|
|
||||||
G_HandleMirror(CAMERA(pos.x), CAMERA(pos.y), CAMERA(pos.z), CAMERA(q16ang), CAMERA(q16horiz), smoothRatio);
|
G_HandleMirror(CAMERA(pos.x), CAMERA(pos.y), CAMERA(pos.z), CAMERA(q16ang), CAMERA(q16horiz), smoothRatio);
|
||||||
#ifdef LEGACY_ROR
|
#ifdef LEGACY_ROR
|
||||||
|
|
|
@ -981,6 +981,7 @@ const char *EventNames[MAXEVENTS] =
|
||||||
"EVENT_DAMAGEWALL",
|
"EVENT_DAMAGEWALL",
|
||||||
"EVENT_DAMAGEFLOOR",
|
"EVENT_DAMAGEFLOOR",
|
||||||
"EVENT_DAMAGECEILING",
|
"EVENT_DAMAGECEILING",
|
||||||
|
"EVENT_DISPLAYROOMSCAMERATILE",
|
||||||
#ifdef LUNATIC
|
#ifdef LUNATIC
|
||||||
"EVENT_ANIMATEALLSPRITES",
|
"EVENT_ANIMATEALLSPRITES",
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -376,12 +376,23 @@ int SetAnimation(int sectNum, int32_t *animPtr, int goalVal, int animVel)
|
||||||
|
|
||||||
static void G_SetupCamTile(int spriteNum, int tileNum, int smoothRatio)
|
static void G_SetupCamTile(int spriteNum, int tileNum, int smoothRatio)
|
||||||
{
|
{
|
||||||
|
int const playerNum = screenpeek;
|
||||||
|
int const noDraw = VM_OnEventWithReturn(EVENT_DISPLAYROOMSCAMERATILE, spriteNum, playerNum, 0);
|
||||||
|
|
||||||
vec3_t const camera = G_GetCameraPosition(spriteNum, smoothRatio);
|
vec3_t const camera = G_GetCameraPosition(spriteNum, smoothRatio);
|
||||||
int const saveMirror = display_mirror;
|
int const saveMirror = display_mirror;
|
||||||
|
|
||||||
//if (waloff[wn] == 0) loadtile(wn);
|
//if (waloff[wn] == 0) loadtile(wn);
|
||||||
renderSetTarget(tileNum, tilesiz[tileNum].y, tilesiz[tileNum].x);
|
renderSetTarget(tileNum, tilesiz[tileNum].y, tilesiz[tileNum].x);
|
||||||
|
|
||||||
|
if (noDraw == 1)
|
||||||
|
return;
|
||||||
|
#ifdef DEBUGGINGAIDS
|
||||||
|
else if (EDUKE32_PREDICT_FALSE(noDraw != 0)) // event return values other than 0 and 1 are reserved
|
||||||
|
OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMSCAMERATILE return value must be 0 or 1, "
|
||||||
|
"other values are reserved.\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
yax_preparedrawrooms();
|
yax_preparedrawrooms();
|
||||||
drawrooms(camera.x, camera.y, camera.z, SA(spriteNum), 100 + sprite[spriteNum].shade, SECT(spriteNum));
|
drawrooms(camera.x, camera.y, camera.z, SA(spriteNum), 100 + sprite[spriteNum].shade, SECT(spriteNum));
|
||||||
yax_drawrooms(G_DoSpriteAnimations, SECT(spriteNum), 0, smoothRatio);
|
yax_drawrooms(G_DoSpriteAnimations, SECT(spriteNum), 0, smoothRatio);
|
||||||
|
|
Loading…
Reference in a new issue