mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 00:41:55 +00:00
Add EVENT_RESETGOTPICS which gives scripts the chance to reset gotpics (and similar effects trackers) for effects that run in EVENT_DISPLAYROOMS.
EVENT_RESETGOTPICS is called after the last call to EVENT_DISPLAYROOMS in a frame, but before any engine-side calls to renderDrawRoomsQ16() git-svn-id: https://svn.eduke32.com/eduke32@7734 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
cdd83905ca
commit
c2340dd409
4 changed files with 12 additions and 1 deletions
|
@ -156,6 +156,7 @@ enum GameEvent_t {
|
|||
EVENT_DAMAGEFLOOR,
|
||||
EVENT_DAMAGECEILING,
|
||||
EVENT_DISPLAYROOMSCAMERATILE,
|
||||
EVENT_RESETGOTPICS,
|
||||
#ifdef LUNATIC
|
||||
EVENT_ANIMATEALLSPRITES,
|
||||
#endif
|
||||
|
|
|
@ -582,6 +582,10 @@ void G_HandleMirror(int32_t x, int32_t y, int32_t z, fix16_t a, fix16_t q16horiz
|
|||
// NOTE: We can have g_mirrorCount==0 but gotpic'd MIRROR,
|
||||
// for example in LNGA2.
|
||||
gotpic[MIRROR>>3] &= ~(1<<(MIRROR&7));
|
||||
|
||||
//give scripts the chance to reset gotpics for effects that run in EVENT_DISPLAYROOMS
|
||||
//EVENT_RESETGOTPICS must be called after the last call to EVENT_DISPLAYROOMS in a frame, but before any engine-side renderDrawRoomsQ16
|
||||
VM_OnEvent(EVENT_RESETGOTPICS, -1, -1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -651,6 +655,10 @@ void G_HandleMirror(int32_t x, int32_t y, int32_t z, fix16_t a, fix16_t q16horiz
|
|||
CAMERA(q16ang) = origCamq16ang;
|
||||
CAMERA(q16horiz) = origCamq16horiz;
|
||||
|
||||
//give scripts the chance to reset gotpics for effects that run in EVENT_DISPLAYROOMS
|
||||
//EVENT_RESETGOTPICS must be called after the last call to EVENT_DISPLAYROOMS in a frame, but before any engine-side renderDrawRoomsQ16
|
||||
VM_OnEvent(EVENT_RESETGOTPICS, -1, -1);
|
||||
|
||||
//prepare to render the mirror
|
||||
renderPrepareMirror(x, y, a, g_mirrorWall[i], &tposx, &tposy, &tang);
|
||||
|
||||
|
|
|
@ -983,6 +983,7 @@ const char *EventNames[MAXEVENTS] =
|
|||
"EVENT_DAMAGEFLOOR",
|
||||
"EVENT_DAMAGECEILING",
|
||||
"EVENT_DISPLAYROOMSCAMERATILE",
|
||||
"EVENT_RESETGOTPICS",
|
||||
#ifdef LUNATIC
|
||||
"EVENT_ANIMATEALLSPRITES",
|
||||
#endif
|
||||
|
|
|
@ -192,11 +192,12 @@ EVENT = {
|
|||
EVENT_DISPLAYSCUBA = 112,
|
||||
EVENT_DISPLAYTIP = 113,
|
||||
EVENT_DISPLAYACCESS = 114,
|
||||
EVENT_RESETGOTPICS = 115,
|
||||
-- EVENT_ANIMATEALLSPRITES = previous+1, -- internal
|
||||
-- KEEPINSYNC with MAXEVENTS below
|
||||
}
|
||||
|
||||
MAXEVENTS = 115 -- KEEPINSYNC with above EVENT_* list
|
||||
MAXEVENTS = 116 -- KEEPINSYNC with above EVENT_* list
|
||||
|
||||
-- NOTE: negated values are not exported to the ffi.C namespace or CON.
|
||||
-- See TWEAK_SFLAG below.
|
||||
|
|
Loading…
Reference in a new issue