mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-11 18:50:46 +00:00
Wrap some ud.camera* and g_camera{Distance,Clock} into CAMERA* macros.
In Lunatic, make it a struct type "camera_t" instead. git-svn-id: https://svn.eduke32.com/eduke32@3405 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
cb20ad6e90
commit
c9190e79ae
9 changed files with 117 additions and 86 deletions
|
@ -89,7 +89,11 @@ static int32_t usecwd = 0;
|
|||
|
||||
int32_t g_quitDeadline = 0;
|
||||
|
||||
#ifdef LUNATIC
|
||||
camera_t g_camera;
|
||||
#else
|
||||
int32_t g_cameraDistance = 0, g_cameraClock = 0;
|
||||
#endif
|
||||
static int32_t g_quickExit;
|
||||
static int32_t g_commandSetup = 0;
|
||||
int32_t g_noSetup = 0;
|
||||
|
@ -2833,8 +2837,8 @@ void G_DisplayRest(int32_t smoothratio)
|
|||
{
|
||||
ready2send = 1;
|
||||
totalclock = ototalclock;
|
||||
g_cameraClock = totalclock;
|
||||
g_cameraDistance = 65536L;
|
||||
CAMERACLOCK = totalclock;
|
||||
CAMERADIST = 65536;
|
||||
}
|
||||
walock[TILE_SAVESHOT] = 199;
|
||||
G_UpdateScreenArea();
|
||||
|
@ -3075,14 +3079,14 @@ static void G_DoThirdPerson(const DukePlayer_t *pp, vec3_t *vect, int16_t *vsect
|
|||
}
|
||||
if (klabs(n.x) > klabs(n.y)) i = divscale16(hx,n.x);
|
||||
else i = divscale16(hy,n.y);
|
||||
if (i < g_cameraDistance) g_cameraDistance = i;
|
||||
if (i < CAMERADIST) CAMERADIST = i;
|
||||
}
|
||||
vect->x += mulscale16(n.x,g_cameraDistance);
|
||||
vect->y += mulscale16(n.y,g_cameraDistance);
|
||||
vect->z += mulscale16(n.z,g_cameraDistance);
|
||||
vect->x += mulscale16(n.x,CAMERADIST);
|
||||
vect->y += mulscale16(n.y,CAMERADIST);
|
||||
vect->z += mulscale16(n.z,CAMERADIST);
|
||||
|
||||
g_cameraDistance = min(g_cameraDistance+((totalclock-g_cameraClock)<<10),65536);
|
||||
g_cameraClock = totalclock;
|
||||
CAMERADIST = min(CAMERADIST+((totalclock-CAMERACLOCK)<<10),65536);
|
||||
CAMERACLOCK = totalclock;
|
||||
|
||||
updatesectorz(vect->x,vect->y,vect->z,vsectnum);
|
||||
|
||||
|
@ -3228,9 +3232,9 @@ static void G_SE40(int32_t smoothratio)
|
|||
if (klabs(sector[sp->sectnum].floorz - sp->z) < klabs(sector[sprite[sprite2].sectnum].floorz - sprite[sprite2].z))
|
||||
level = 1;
|
||||
|
||||
x = ud.camera.x - sp->x;
|
||||
y = ud.camera.y - sp->y;
|
||||
z = ud.camera.z - (level ? sector[sp->sectnum].floorz : sector[sp->sectnum].ceilingz);
|
||||
x = CAMERA(pos.x) - sp->x;
|
||||
y = CAMERA(pos.y) - sp->y;
|
||||
z = CAMERA(pos.z) - (level ? sector[sp->sectnum].floorz : sector[sp->sectnum].ceilingz);
|
||||
|
||||
sect = sprite[sprite2].sectnum;
|
||||
updatesector(sprite[sprite2].x + x, sprite[sprite2].y + y, §);
|
||||
|
@ -3291,11 +3295,11 @@ static void G_SE40(int32_t smoothratio)
|
|||
|
||||
#ifdef POLYMER
|
||||
if (getrendermode() == REND_POLYMER)
|
||||
polymer_setanimatesprites(G_DoSpriteAnimations, ud.camera.x, ud.camera.y, ud.cameraang, smoothratio);
|
||||
polymer_setanimatesprites(G_DoSpriteAnimations, CAMERA(pos.x), CAMERA(pos.y), CAMERA(ang), smoothratio);
|
||||
#endif
|
||||
|
||||
drawrooms(sprite[sprite2].x + x, sprite[sprite2].y + y,
|
||||
z + renderz, ud.cameraang, ud.camerahoriz, sect);
|
||||
z + renderz, CAMERA(ang), CAMERA(horiz), sect);
|
||||
drawing_ror = 1 + level;
|
||||
|
||||
// dupe the sprites touching the portal to the other sector
|
||||
|
@ -3323,7 +3327,7 @@ static void G_SE40(int32_t smoothratio)
|
|||
}
|
||||
}
|
||||
|
||||
G_DoSpriteAnimations(ud.camera.x,ud.camera.y,ud.cameraang,smoothratio);
|
||||
G_DoSpriteAnimations(CAMERA(pos.x),CAMERA(pos.y),CAMERA(ang),smoothratio);
|
||||
drawmasks();
|
||||
|
||||
if (level)
|
||||
|
@ -3472,7 +3476,7 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
|
||||
g_visibility = (int32_t)(p->visibility * (numplayers > 1 ? 1.f : r_ambientlightrecip));
|
||||
|
||||
ud.camerasect = p->cursectnum;
|
||||
CAMERA(sect) = p->cursectnum;
|
||||
|
||||
G_DoInterpolations(smoothratio);
|
||||
G_AnimateCamSprite();
|
||||
|
@ -3485,19 +3489,19 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
if (s->yvel < 0) s->yvel = -100;
|
||||
else if (s->yvel > 199) s->yvel = 300;
|
||||
|
||||
ud.cameraang = actor[ud.camerasprite].tempang +
|
||||
CAMERA(ang) = actor[ud.camerasprite].tempang +
|
||||
mulscale16(((s->ang+1024-actor[ud.camerasprite].tempang)&2047)-1024, smoothratio);
|
||||
|
||||
G_SE40(smoothratio);
|
||||
|
||||
#ifdef POLYMER
|
||||
if (getrendermode() == REND_POLYMER)
|
||||
polymer_setanimatesprites(G_DoSpriteAnimations, s->x, s->y, ud.cameraang, smoothratio);
|
||||
polymer_setanimatesprites(G_DoSpriteAnimations, s->x, s->y, CAMERA(ang), smoothratio);
|
||||
#endif
|
||||
yax_preparedrawrooms();
|
||||
drawrooms(s->x,s->y,s->z-(4<<8),ud.cameraang,s->yvel,s->sectnum);
|
||||
drawrooms(s->x,s->y,s->z-(4<<8),CAMERA(ang),s->yvel,s->sectnum);
|
||||
yax_drawrooms(G_DoSpriteAnimations, s->sectnum, 0, smoothratio);
|
||||
G_DoSpriteAnimations(s->x,s->y,ud.cameraang,smoothratio);
|
||||
G_DoSpriteAnimations(s->x,s->y,CAMERA(ang),smoothratio);
|
||||
drawmasks();
|
||||
}
|
||||
else
|
||||
|
@ -3606,10 +3610,10 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
p->opos.z+mulscale16(p->pos.z-p->opos.z, smoothratio)
|
||||
};
|
||||
|
||||
Bmemcpy(&ud.camera, &cam, sizeof(vec3_t));
|
||||
ud.cameraang = p->oang + mulscale16(((p->ang+1024-p->oang)&2047)-1024, smoothratio);
|
||||
ud.cameraang += p->look_ang;
|
||||
ud.camerahoriz = p->ohoriz+p->ohorizoff
|
||||
Bmemcpy(&CAMERA(pos), &cam, sizeof(vec3_t));
|
||||
CAMERA(ang) = p->oang + mulscale16(((p->ang+1024-p->oang)&2047)-1024, smoothratio);
|
||||
CAMERA(ang) += p->look_ang;
|
||||
CAMERA(horiz) = p->ohoriz+p->ohorizoff
|
||||
+ mulscale16((p->horiz+p->horizoff-p->ohoriz-p->ohorizoff), smoothratio);
|
||||
|
||||
if (ud.viewbob)
|
||||
|
@ -3618,22 +3622,22 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
if (p->over_shoulder_on)
|
||||
addz >>= 3;
|
||||
|
||||
ud.camera.z += addz;
|
||||
CAMERA(pos.z) += addz;
|
||||
}
|
||||
|
||||
if (p->over_shoulder_on)
|
||||
{
|
||||
ud.camera.z -= 3072;
|
||||
G_DoThirdPerson(p,&ud.camera,&ud.camerasect,ud.cameraang,ud.camerahoriz);
|
||||
CAMERA(pos.z) -= 3072;
|
||||
G_DoThirdPerson(p,&CAMERA(pos),&CAMERA(sect),CAMERA(ang),CAMERA(horiz));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// looking through viewscreen
|
||||
Bmemcpy(&ud.camera, &p->pos, sizeof(vec3_t));
|
||||
ud.cameraang = p->ang + p->look_ang;
|
||||
ud.camerahoriz = 100+sprite[p->newowner].shade;
|
||||
ud.camerasect = sprite[p->newowner].sectnum;
|
||||
Bmemcpy(&CAMERA(pos), &p->pos, sizeof(vec3_t));
|
||||
CAMERA(ang) = p->ang + p->look_ang;
|
||||
CAMERA(horiz) = 100+sprite[p->newowner].shade;
|
||||
CAMERA(sect) = sprite[p->newowner].sectnum;
|
||||
smoothratio = 65536;
|
||||
}
|
||||
|
||||
|
@ -3642,53 +3646,53 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
|
||||
if (g_earthquakeTime > 0 && p->on_ground == 1)
|
||||
{
|
||||
ud.camera.z += 256-(((g_earthquakeTime)&1)<<9);
|
||||
ud.cameraang += (2-((g_earthquakeTime)&2))<<2;
|
||||
CAMERA(pos.z) += 256-(((g_earthquakeTime)&1)<<9);
|
||||
CAMERA(ang) += (2-((g_earthquakeTime)&2))<<2;
|
||||
}
|
||||
|
||||
if (sprite[p->i].pal == 1)
|
||||
ud.camera.z -= (18<<8);
|
||||
CAMERA(pos.z) -= (18<<8);
|
||||
|
||||
if (p->newowner < 0 && p->spritebridge == 0)
|
||||
{
|
||||
// NOTE: when shrunk, p->pos.z can be below the floor. This puts the
|
||||
// camera into the sector again then.
|
||||
|
||||
if (ud.camera.z < (p->truecz + (4<<8)))
|
||||
ud.camera.z = cz + (4<<8);
|
||||
else if (ud.camera.z > (p->truefz - (4<<8)))
|
||||
ud.camera.z = fz - (4<<8);
|
||||
if (CAMERA(pos.z) < (p->truecz + (4<<8)))
|
||||
CAMERA(pos.z) = cz + (4<<8);
|
||||
else if (CAMERA(pos.z) > (p->truefz - (4<<8)))
|
||||
CAMERA(pos.z) = fz - (4<<8);
|
||||
}
|
||||
|
||||
while (ud.camerasect >= 0) // if, really
|
||||
while (CAMERA(sect) >= 0) // if, really
|
||||
{
|
||||
getzsofslope(ud.camerasect,ud.camera.x,ud.camera.y,&cz,&fz);
|
||||
getzsofslope(CAMERA(sect),CAMERA(pos.x),CAMERA(pos.y),&cz,&fz);
|
||||
#ifdef YAX_ENABLE
|
||||
if (yax_getbunch(ud.camerasect, YAX_CEILING) >= 0)
|
||||
if (yax_getbunch(CAMERA(sect), YAX_CEILING) >= 0)
|
||||
{
|
||||
if (ud.camera.z < cz)
|
||||
if (CAMERA(pos.z) < cz)
|
||||
{
|
||||
updatesectorz(ud.camera.x, ud.camera.y, ud.camera.z, &ud.camerasect);
|
||||
break; // since ud.camerasect might have been updated to -1
|
||||
updatesectorz(CAMERA(pos.x), CAMERA(pos.y), CAMERA(pos.z), &CAMERA(sect));
|
||||
break; // since CAMERA(sect) might have been updated to -1
|
||||
// NOTE: fist discovered in WGR2 SVN r134, til' death level 1
|
||||
// (Lochwood Hollow). A problem REMAINS with Polymost, maybe classic!
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (ud.camera.z < cz+(4<<8))
|
||||
ud.camera.z = cz+(4<<8);
|
||||
if (CAMERA(pos.z) < cz+(4<<8))
|
||||
CAMERA(pos.z) = cz+(4<<8);
|
||||
|
||||
#ifdef YAX_ENABLE
|
||||
if (yax_getbunch(ud.camerasect, YAX_FLOOR) >= 0)
|
||||
if (yax_getbunch(CAMERA(sect), YAX_FLOOR) >= 0)
|
||||
{
|
||||
if (ud.camera.z > fz)
|
||||
updatesectorz(ud.camera.x, ud.camera.y, ud.camera.z, &ud.camerasect);
|
||||
if (CAMERA(pos.z) > fz)
|
||||
updatesectorz(CAMERA(pos.x), CAMERA(pos.y), CAMERA(pos.z), &CAMERA(sect));
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (ud.camera.z > fz-(4<<8))
|
||||
ud.camera.z = fz-(4<<8);
|
||||
if (CAMERA(pos.z) > fz-(4<<8))
|
||||
CAMERA(pos.z) = fz-(4<<8);
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -3699,7 +3703,7 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
if (G_HaveEvent(EVENT_DISPLAYROOMS))
|
||||
dont_draw = VM_OnEvent(EVENT_DISPLAYROOMS, g_player[screenpeek].ps->i, screenpeek, -1, 0);
|
||||
|
||||
ud.camerahoriz = clamp(ud.camerahoriz, HORIZ_MIN, HORIZ_MAX);
|
||||
CAMERA(horiz) = clamp(CAMERA(horiz), HORIZ_MIN, HORIZ_MAX);
|
||||
|
||||
if (dont_draw != 1) // event return values other than 0 and 1 are reserved
|
||||
{
|
||||
|
@ -3707,21 +3711,21 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
OSD_Printf(OSD_ERROR "ERROR: EVENT_DISPLAYROOMS return value must be 0 or 1, "
|
||||
"other values are reserved.\n");
|
||||
|
||||
G_HandleMirror(ud.camera.x, ud.camera.y, ud.camera.z, ud.cameraang, ud.camerahoriz, smoothratio);
|
||||
G_HandleMirror(CAMERA(pos.x), CAMERA(pos.y), CAMERA(pos.z), CAMERA(ang), CAMERA(horiz), smoothratio);
|
||||
|
||||
G_SE40(smoothratio);
|
||||
|
||||
#ifdef POLYMER
|
||||
if (getrendermode() == REND_POLYMER)
|
||||
polymer_setanimatesprites(G_DoSpriteAnimations, ud.camera.x,ud.camera.y,ud.cameraang,smoothratio);
|
||||
polymer_setanimatesprites(G_DoSpriteAnimations, CAMERA(pos.x),CAMERA(pos.y),CAMERA(ang),smoothratio);
|
||||
#endif
|
||||
// for G_PrintCoords
|
||||
dr_viewingrange = viewingrange;
|
||||
dr_yxaspect = yxaspect;
|
||||
|
||||
yax_preparedrawrooms();
|
||||
drawrooms(ud.camera.x,ud.camera.y,ud.camera.z,ud.cameraang,ud.camerahoriz,ud.camerasect);
|
||||
yax_drawrooms(G_DoSpriteAnimations, ud.camerasect, 0, smoothratio);
|
||||
drawrooms(CAMERA(pos.x),CAMERA(pos.y),CAMERA(pos.z),CAMERA(ang),CAMERA(horiz),CAMERA(sect));
|
||||
yax_drawrooms(G_DoSpriteAnimations, CAMERA(sect), 0, smoothratio);
|
||||
|
||||
// dupe the sprites touching the portal to the other sector
|
||||
|
||||
|
@ -3753,7 +3757,7 @@ void G_DrawRooms(int32_t snum, int32_t smoothratio)
|
|||
}
|
||||
}
|
||||
|
||||
G_DoSpriteAnimations(ud.camera.x,ud.camera.y,ud.cameraang,smoothratio);
|
||||
G_DoSpriteAnimations(CAMERA(pos.x),CAMERA(pos.y),CAMERA(ang),smoothratio);
|
||||
|
||||
drawing_ror = 0;
|
||||
drawmasks();
|
||||
|
@ -7363,8 +7367,8 @@ FOUNDCHEAT:
|
|||
else
|
||||
{
|
||||
g_player[myconnectindex].ps->over_shoulder_on = 1;
|
||||
g_cameraDistance = 0;
|
||||
g_cameraClock = totalclock;
|
||||
CAMERADIST = 0;
|
||||
CAMERACLOCK = totalclock;
|
||||
}
|
||||
// P_DoQuote(QUOTE_CHEATS_DISABLED,g_player[myconnectindex].ps);
|
||||
end_cheat();
|
||||
|
@ -7976,8 +7980,8 @@ FAKE_F3:
|
|||
else
|
||||
{
|
||||
g_player[myconnectindex].ps->over_shoulder_on = 1;
|
||||
g_cameraDistance = 0;
|
||||
g_cameraClock = totalclock;
|
||||
CAMERADIST = 0;
|
||||
CAMERACLOCK = totalclock;
|
||||
}
|
||||
P_DoQuote(QUOTE_VIEW_MODE_OFF+g_player[myconnectindex].ps->over_shoulder_on,g_player[myconnectindex].ps);
|
||||
}
|
||||
|
|
|
@ -74,8 +74,28 @@ typedef enum basepal_ {
|
|||
|
||||
void A_DeleteSprite(int32_t s);
|
||||
|
||||
#ifdef LUNATIC
|
||||
typedef struct {
|
||||
vec3_t camera;
|
||||
vec3_t pos;
|
||||
int32_t dist, clock;
|
||||
int16_t ang, horiz, sect;
|
||||
} camera_t;
|
||||
|
||||
extern camera_t g_camera;
|
||||
|
||||
# define CAMERA(Membname) (g_camera.Membname)
|
||||
# define CAMERADIST (g_camera.dist)
|
||||
# define CAMERACLOCK (g_camera.clock)
|
||||
#else
|
||||
# define CAMERA(Membname) (ud.camera ## Membname)
|
||||
# define CAMERADIST g_cameraDistance
|
||||
# define CAMERACLOCK g_cameraClock
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
#if !defined LUNATIC
|
||||
vec3_t camerapos;
|
||||
#endif
|
||||
int32_t const_visibility,uw_framerate;
|
||||
int32_t camera_time,folfvel,folavel,folx,foly,fola;
|
||||
int32_t reccnt,crosshairscale;
|
||||
|
@ -95,8 +115,9 @@ typedef struct {
|
|||
int32_t player_skill,level_number,volume_number,m_marker,marker,mouseflip;
|
||||
|
||||
int32_t configversion;
|
||||
|
||||
#if !defined LUNATIC
|
||||
int16_t cameraang, camerasect, camerahoriz;
|
||||
#endif
|
||||
int16_t pause_on,from_bonus;
|
||||
int16_t camerasprite,last_camsprite;
|
||||
int16_t last_level,secretlevel, bgstretch;
|
||||
|
@ -204,9 +225,10 @@ extern int32_t althud_shadows;
|
|||
extern int32_t cacnum;
|
||||
//extern int32_t drawing_ror;
|
||||
extern int32_t g_Shareware;
|
||||
#if !defined LUNATIC
|
||||
extern int32_t g_cameraClock;
|
||||
extern int32_t g_cameraDistance;
|
||||
extern int32_t g_cameraDistance;
|
||||
#endif
|
||||
extern int32_t g_crosshairSum;
|
||||
extern int32_t g_doQuickSave;
|
||||
extern int32_t g_forceWeaponChoice;
|
||||
|
|
|
@ -935,8 +935,8 @@ static void VM_ResetPlayer(void)
|
|||
{
|
||||
if (vm.g_p == myconnectindex)
|
||||
{
|
||||
g_cameraDistance = 0;
|
||||
g_cameraClock = totalclock;
|
||||
CAMERADIST = 0;
|
||||
CAMERACLOCK = totalclock;
|
||||
}
|
||||
|
||||
if (g_fakeMultiMode)
|
||||
|
@ -5510,8 +5510,8 @@ void G_RestoreMapState(mapstate_t *save)
|
|||
|
||||
if (g_player[myconnectindex].ps->over_shoulder_on != 0)
|
||||
{
|
||||
g_cameraDistance = 0;
|
||||
g_cameraClock = 0;
|
||||
CAMERADIST = 0;
|
||||
CAMERACLOCK = 0;
|
||||
g_player[myconnectindex].ps->over_shoulder_on = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -1340,9 +1340,9 @@ static void Gv_AddSystemVars(void)
|
|||
Gv_NewVar("CLIPMASK0", CLIPMASK0, GAMEVAR_SYSTEM|GAMEVAR_READONLY);
|
||||
Gv_NewVar("CLIPMASK1", CLIPMASK1, GAMEVAR_SYSTEM|GAMEVAR_READONLY);
|
||||
|
||||
Gv_NewVar("camerax",(intptr_t)&ud.camera.x, GAMEVAR_SYSTEM | GAMEVAR_INTPTR);
|
||||
Gv_NewVar("cameray",(intptr_t)&ud.camera.y, GAMEVAR_SYSTEM | GAMEVAR_INTPTR);
|
||||
Gv_NewVar("cameraz",(intptr_t)&ud.camera.z, GAMEVAR_SYSTEM | GAMEVAR_INTPTR);
|
||||
Gv_NewVar("camerax",(intptr_t)&ud.camerapos.x, GAMEVAR_SYSTEM | GAMEVAR_INTPTR);
|
||||
Gv_NewVar("cameray",(intptr_t)&ud.camerapos.y, GAMEVAR_SYSTEM | GAMEVAR_INTPTR);
|
||||
Gv_NewVar("cameraz",(intptr_t)&ud.camerapos.z, GAMEVAR_SYSTEM | GAMEVAR_INTPTR);
|
||||
Gv_NewVar("cameraang",(intptr_t)&ud.cameraang, GAMEVAR_SYSTEM | GAMEVAR_SHORTPTR);
|
||||
Gv_NewVar("camerahoriz",(intptr_t)&ud.camerahoriz, GAMEVAR_SYSTEM | GAMEVAR_SHORTPTR);
|
||||
Gv_NewVar("camerasect",(intptr_t)&ud.camerasect, GAMEVAR_SYSTEM | GAMEVAR_SHORTPTR);
|
||||
|
@ -1513,9 +1513,9 @@ void Gv_RefreshPointers(void)
|
|||
aGameVars[Gv_GetVarIndex("gametype_flags")].val.lValue = (intptr_t)&GametypeFlags[ud.coop];
|
||||
aGameVars[Gv_GetVarIndex("framerate")].val.lValue = (intptr_t)&g_currentFrameRate;
|
||||
|
||||
aGameVars[Gv_GetVarIndex("camerax")].val.lValue = (intptr_t)&ud.camera.x;
|
||||
aGameVars[Gv_GetVarIndex("cameray")].val.lValue = (intptr_t)&ud.camera.y;
|
||||
aGameVars[Gv_GetVarIndex("cameraz")].val.lValue = (intptr_t)&ud.camera.z;
|
||||
aGameVars[Gv_GetVarIndex("camerax")].val.lValue = (intptr_t)&ud.camerapos.x;
|
||||
aGameVars[Gv_GetVarIndex("cameray")].val.lValue = (intptr_t)&ud.camerapos.y;
|
||||
aGameVars[Gv_GetVarIndex("cameraz")].val.lValue = (intptr_t)&ud.camerapos.z;
|
||||
aGameVars[Gv_GetVarIndex("cameraang")].val.lValue = (intptr_t)&ud.cameraang;
|
||||
aGameVars[Gv_GetVarIndex("camerahoriz")].val.lValue = (intptr_t)&ud.camerahoriz;
|
||||
aGameVars[Gv_GetVarIndex("camerasect")].val.lValue = (intptr_t)&ud.camerasect;
|
||||
|
|
|
@ -339,6 +339,13 @@ typedef struct {
|
|||
} tiledata_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
vec3_t pos;
|
||||
int32_t dist, clock;
|
||||
int16_t ang, horiz;
|
||||
int16_t sect;
|
||||
} camera_t;
|
||||
|
||||
// NOTE: not packed!
|
||||
typedef struct {
|
||||
]] .. table.concat(con_lang.wdata_members, ';')..';' .. [[
|
||||
|
@ -355,7 +362,6 @@ enum
|
|||
|
||||
// NOTE: not packed!
|
||||
typedef struct {
|
||||
vec3_t camera;
|
||||
int32_t const_visibility,uw_framerate;
|
||||
int32_t camera_time,folfvel,folavel,folx,foly,fola;
|
||||
int32_t reccnt,crosshairscale;
|
||||
|
@ -376,7 +382,6 @@ typedef struct {
|
|||
|
||||
int32_t configversion;
|
||||
|
||||
int16_t cameraang, camerasect, camerahoriz;
|
||||
int16_t pause_on,from_bonus;
|
||||
int16_t camerasprite,last_camsprite;
|
||||
int16_t last_level,secretlevel, bgstretch;
|
||||
|
|
|
@ -5418,7 +5418,7 @@ VOLUME_ALL_40x:
|
|||
if ((g_player[myconnectindex].ps->gm&MODE_MENU) != MODE_MENU)
|
||||
{
|
||||
G_UpdateScreenArea();
|
||||
g_cameraClock = totalclock;
|
||||
g_cameraDistance = 65536L;
|
||||
CAMERACLOCK = totalclock;
|
||||
CAMERADIST = 65536;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -466,7 +466,7 @@ static void P_PreFireHitscan(int32_t i, int32_t p, int32_t atwith,
|
|||
if (G_HaveEvent(EVENT_GETSHOTRANGE))
|
||||
VM_OnEvent(EVENT_GETSHOTRANGE, i,p, -1, 0);
|
||||
|
||||
#if defined LUNATIC
|
||||
#ifdef LUNATIC
|
||||
angRange = ps->angrange;
|
||||
zRange = ps->zrange;
|
||||
#else
|
||||
|
|
|
@ -1744,8 +1744,8 @@ static void postloadplayer(int32_t savegamep)
|
|||
//1
|
||||
if (g_player[myconnectindex].ps->over_shoulder_on != 0)
|
||||
{
|
||||
g_cameraDistance = 0;
|
||||
g_cameraClock = 0;
|
||||
CAMERADIST = 0;
|
||||
CAMERACLOCK = 0;
|
||||
g_player[myconnectindex].ps->over_shoulder_on = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -600,10 +600,10 @@ int32_t S_PlaySound3D(int32_t num, int32_t i, const vec3_t *pos)
|
|||
return -1;
|
||||
}
|
||||
|
||||
cs = ud.camerasect;
|
||||
ca = ud.cameraang;
|
||||
cs = CAMERA(sect);
|
||||
ca = CAMERA(ang);
|
||||
|
||||
explosionp = S_CalcDistAndAng(i, num, cs, ca, &ud.camera, pos, &sndist, &sndang);
|
||||
explosionp = S_CalcDistAndAng(i, num, cs, ca, &CAMERA(pos), pos, &sndist, &sndang);
|
||||
|
||||
pitch = S_GetPitch(num);
|
||||
peekps = g_player[screenpeek].ps;
|
||||
|
@ -828,9 +828,9 @@ void S_Update(void)
|
|||
|
||||
if (ud.camerasprite == -1)
|
||||
{
|
||||
c = &ud.camera;
|
||||
cs = ud.camerasect;
|
||||
ca = ud.cameraang;
|
||||
c = &CAMERA(pos);
|
||||
cs = CAMERA(sect);
|
||||
ca = CAMERA(ang);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue