mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-27 22:00:52 +00:00
- some smaller stuff.
# Conflicts: # source/games/whaven/src/input.cpp
This commit is contained in:
parent
756f11f746
commit
0138f7e333
6 changed files with 33 additions and 31 deletions
|
@ -268,7 +268,7 @@ void aiProcess() {
|
||||||
}
|
}
|
||||||
else if (moveStat.type != kHitNone) {
|
else if (moveStat.type != kHitNone) {
|
||||||
if (moveStat.type == kHitWall) { // hit a wall
|
if (moveStat.type == kHitWall) { // hit a wall
|
||||||
actoruse(i);
|
actoruse(actor);
|
||||||
}
|
}
|
||||||
SetNewStatus(actor, FINDME);
|
SetNewStatus(actor, FINDME);
|
||||||
}
|
}
|
||||||
|
@ -1203,8 +1203,8 @@ PLAYER* aiGetPlayerTarget(DWHActor* actor) {
|
||||||
return &player[pnum];
|
return &player[pnum];
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean actoruse(short i) {
|
boolean actoruse(DWHActor* actor) {
|
||||||
SPRITE& spr = sprite[i];
|
SPRITE& spr = actor->s();
|
||||||
Neartag nearTag;
|
Neartag nearTag;
|
||||||
|
|
||||||
neartag(spr.x, spr.y, spr.z, spr.sectnum, spr.ang, nearTag, 1024, 3);
|
neartag(spr.x, spr.y, spr.z, spr.sectnum, spr.ang, nearTag, 1024, 3);
|
||||||
|
|
|
@ -136,7 +136,7 @@ extern int checksight_ang;
|
||||||
boolean checksight(PLAYER& plr, DWHActor* actor);
|
boolean checksight(PLAYER& plr, DWHActor* actor);
|
||||||
void monsterweapon(DWHActor*);
|
void monsterweapon(DWHActor*);
|
||||||
PLAYER* aiGetPlayerTarget(DWHActor*);
|
PLAYER* aiGetPlayerTarget(DWHActor*);
|
||||||
boolean actoruse(short i);
|
boolean actoruse(DWHActor* i);
|
||||||
|
|
||||||
void initAI();
|
void initAI();
|
||||||
void aiInit();
|
void aiInit();
|
||||||
|
@ -163,7 +163,7 @@ void premapSkeleton(DWHActor* actor);
|
||||||
void premapSkully(DWHActor* actor);
|
void premapSkully(DWHActor* actor);
|
||||||
void premapSpider(DWHActor* actor);
|
void premapSpider(DWHActor* actor);
|
||||||
void premapWillow(DWHActor* actor);
|
void premapWillow(DWHActor* actor);
|
||||||
void deaddude(short sn);
|
void deaddude(DWHActor* sn);
|
||||||
|
|
||||||
|
|
||||||
inline int findplayer() {
|
inline int findplayer() {
|
||||||
|
|
|
@ -616,9 +616,9 @@ void gonzoProcess(PLAYER& plr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static short searchpatrol(SPRITE& spr) {
|
static DWHActor* searchpatrol(SPRITE& spr) {
|
||||||
int mindist = 0x7fffffff;
|
int mindist = 0x7fffffff;
|
||||||
short target = -1;
|
DWHActor* target = nullptr;
|
||||||
|
|
||||||
WHStatIterator it(ATTACK2);
|
WHStatIterator it(ATTACK2);
|
||||||
while (auto itActor = it.Next())
|
while (auto itActor = it.Next())
|
||||||
|
@ -629,7 +629,7 @@ static short searchpatrol(SPRITE& spr) {
|
||||||
int dist = abs(tspr.x - spr.x) + abs(tspr.y - spr.y);
|
int dist = abs(tspr.x - spr.x) + abs(tspr.y - spr.y);
|
||||||
if (dist < mindist) {
|
if (dist < mindist) {
|
||||||
mindist = dist;
|
mindist = dist;
|
||||||
target = j;
|
target = itActor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -640,9 +640,9 @@ static boolean patrolprocess(PLAYER& plr, DWHActor* actor)
|
||||||
{
|
{
|
||||||
SPRITE& spr = actor->s();
|
SPRITE& spr = actor->s();
|
||||||
|
|
||||||
short target = searchpatrol(spr);
|
auto target = searchpatrol(spr);
|
||||||
if (target != -1) {
|
if (target != nullptr) {
|
||||||
SPRITE& tspr = sprite[target];
|
SPRITE& tspr = target->s();
|
||||||
if (cansee(tspr.x, tspr.y, tspr.z, tspr.sectnum, spr.x, spr.y, spr.z - (tileHeight(spr.picnum) << 7),
|
if (cansee(tspr.x, tspr.y, tspr.z, tspr.sectnum, spr.x, spr.y, spr.z - (tileHeight(spr.picnum) << 7),
|
||||||
spr.sectnum)) {
|
spr.sectnum)) {
|
||||||
spr.ang = getangle(tspr.x - spr.x, tspr.y - spr.y);
|
spr.ang = getangle(tspr.x - spr.x, tspr.y - spr.y);
|
||||||
|
@ -650,7 +650,7 @@ static boolean patrolprocess(PLAYER& plr, DWHActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return target != -1;
|
return target != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gonzopike(DWHActor* actor, PLAYER& plr) {
|
static void gonzopike(DWHActor* actor, PLAYER& plr) {
|
||||||
|
@ -787,8 +787,9 @@ void premapGonzo(DWHActor* actor) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void deaddude(short sn) {
|
void deaddude(DWHActor* actor)
|
||||||
auto& spr = sprite[sn];
|
{
|
||||||
|
auto& spr = actor->s();
|
||||||
auto spawnedactor = InsertActor(spr.sectnum, DEAD);
|
auto spawnedactor = InsertActor(spr.sectnum, DEAD);
|
||||||
auto& spawned = spawnedactor->s();
|
auto& spawned = spawnedactor->s();
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ void analyzesprites(PLAYER& plr, int dasmoothratio,tspritetype* tsprite, int& sp
|
||||||
tspritelistcnt = spritesortcnt;
|
tspritelistcnt = spritesortcnt;
|
||||||
for (int i = spritesortcnt - 1; i >= 0; i--) {
|
for (int i = spritesortcnt - 1; i >= 0; i--) {
|
||||||
SPRITE& tspr = tsprite[i];
|
SPRITE& tspr = tsprite[i];
|
||||||
|
auto tactor = &whActors[tspr.owner];
|
||||||
|
|
||||||
if (plr.nightglowtime <= 0) {
|
if (plr.nightglowtime <= 0) {
|
||||||
if(((tspr.detail != GONZOTYPE && tspr.picnum != GONZOGSHDEAD) || tspr.shade != 31) && tspr.statnum != EVILSPIRIT)
|
if(((tspr.detail != GONZOTYPE && tspr.picnum != GONZOGSHDEAD) || tspr.shade != 31) && tspr.statnum != EVILSPIRIT)
|
||||||
|
@ -23,7 +24,7 @@ void analyzesprites(PLAYER& plr, int dasmoothratio,tspritetype* tsprite, int& sp
|
||||||
tspr.ang = tspr.interpolatedang(dasmoothratio);
|
tspr.ang = tspr.interpolatedang(dasmoothratio);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (sprite[tspr.owner].detail) {
|
switch (tactor->s().detail) {
|
||||||
case GRONTYPE:
|
case GRONTYPE:
|
||||||
if (tspr.picnum == GRONHAL || tspr.picnum == GRONSW || tspr.picnum == GRONSWATTACK
|
if (tspr.picnum == GRONHAL || tspr.picnum == GRONSW || tspr.picnum == GRONSWATTACK
|
||||||
|| tspr.picnum == GRONMU) {
|
|| tspr.picnum == GRONMU) {
|
||||||
|
|
|
@ -202,7 +202,7 @@ void processinput(int num) {
|
||||||
int oldposx, oldposy;
|
int oldposx, oldposy;
|
||||||
int dist;
|
int dist;
|
||||||
int feetoffground;
|
int feetoffground;
|
||||||
short onsprite = -1;
|
DWHActor* onsprite = nullptr;
|
||||||
|
|
||||||
PLAYER& plr = player[num];
|
PLAYER& plr = player[num];
|
||||||
oldposx = plr.x;
|
oldposx = plr.x;
|
||||||
|
@ -253,10 +253,10 @@ void processinput(int num) {
|
||||||
if (lohit.type == kHitSprite) {
|
if (lohit.type == kHitSprite) {
|
||||||
auto& spr = lohit.actor->s();
|
auto& spr = lohit.actor->s();
|
||||||
if ((spr.z - plr.z) <= (getPlayerHeight() << 8))
|
if ((spr.z - plr.z) <= (getPlayerHeight() << 8))
|
||||||
onsprite = lohit.actor->GetSpriteIndex();
|
onsprite = lohit.actor;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
onsprite = -1;
|
onsprite = nullptr;
|
||||||
|
|
||||||
feetoffground = (plr.sector != -1) ? (plr.Sector()->floorz - plr.z) : 0;
|
feetoffground = (plr.sector != -1) ? (plr.Sector()->floorz - plr.z) : 0;
|
||||||
|
|
||||||
|
@ -479,16 +479,16 @@ void processinput(int num) {
|
||||||
if (abs(plr.plInput.svel) > gi->playerKeyMove() || abs(plr.plInput.fvel) > gi->playerKeyMove()) {
|
if (abs(plr.plInput.svel) > gi->playerKeyMove() || abs(plr.plInput.fvel) > gi->playerKeyMove()) {
|
||||||
dist >>= 2;
|
dist >>= 2;
|
||||||
|
|
||||||
if (dist > 0 && feetoffground <= (plr.height << 8) || onsprite != -1) {
|
if (dist > 0 && feetoffground <= (plr.height << 8) || onsprite != nullptr) {
|
||||||
oldhoriz = ((dist * bsinf(PlayClock << 5)) * (1. / 524288.)) * (1. / 4.);
|
oldhoriz = ((dist * bsinf(PlayClock << 5)) * (1. / 524288.)) * (1. / 4.);
|
||||||
plr.horizon.addadjustment(oldhoriz);
|
plr.horizon.addadjustment(oldhoriz);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
oldhoriz = 0;
|
oldhoriz = 0;
|
||||||
|
|
||||||
if (onsprite != -1 && dist > 50 && lopoint == 1 && justplayed == 0) {
|
if (onsprite != nullptr && dist > 50 && lopoint == 1 && justplayed == 0) {
|
||||||
|
|
||||||
switch (sprite[onsprite].picnum) {
|
switch (onsprite->s().picnum) {
|
||||||
case WALLARROW:
|
case WALLARROW:
|
||||||
case OPENCHEST:
|
case OPENCHEST:
|
||||||
case GIFTBOX:
|
case GIFTBOX:
|
||||||
|
@ -527,9 +527,9 @@ void processinput(int num) {
|
||||||
break;
|
break;
|
||||||
case SPIDER:
|
case SPIDER:
|
||||||
// STOMP
|
// STOMP
|
||||||
spritesound(S_DEADSTEP, &whActors[onsprite]);
|
spritesound(S_DEADSTEP, onsprite);
|
||||||
justplayed = 1;
|
justplayed = 1;
|
||||||
newstatus(onsprite, DIE);
|
SetNewStatus(onsprite, DIE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FREDDEAD:
|
case FREDDEAD:
|
||||||
|
@ -552,11 +552,11 @@ void processinput(int num) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sprite[onsprite].picnum == RAT)
|
if (onsprite->s().picnum == RAT)
|
||||||
{
|
{
|
||||||
spritesound(S_RATS1 + (krand() % 2), &whActors[onsprite]);
|
spritesound(S_RATS1 + (krand() % 2), onsprite);
|
||||||
justplayed = 1;
|
justplayed = 1;
|
||||||
deletesprite(onsprite);
|
DeleteActor(onsprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1167,7 +1167,7 @@ void newstatus(short sn, int seq) {
|
||||||
ChangeActorStat(actor, DEAD);
|
ChangeActorStat(actor, DEAD);
|
||||||
if (spr.pal == 4) {
|
if (spr.pal == 4) {
|
||||||
ChangeActorStat(actor, SHADE);
|
ChangeActorStat(actor, SHADE);
|
||||||
deaddude(sn);
|
deaddude(actor);
|
||||||
} else {
|
} else {
|
||||||
ChangeActorStat(actor, DEAD);
|
ChangeActorStat(actor, DEAD);
|
||||||
if (spr.shade < 25)
|
if (spr.shade < 25)
|
||||||
|
@ -1183,7 +1183,7 @@ void newstatus(short sn, int seq) {
|
||||||
spr.cstat &= ~3;
|
spr.cstat &= ~3;
|
||||||
if (spr.pal == 4) {
|
if (spr.pal == 4) {
|
||||||
ChangeActorStat(actor, SHADE);
|
ChangeActorStat(actor, SHADE);
|
||||||
deaddude(sn);
|
deaddude(actor);
|
||||||
} else {
|
} else {
|
||||||
ChangeActorStat(actor, DEAD);
|
ChangeActorStat(actor, DEAD);
|
||||||
monsterweapon(actor);
|
monsterweapon(actor);
|
||||||
|
@ -1198,7 +1198,7 @@ void newstatus(short sn, int seq) {
|
||||||
spr.cstat &= ~3;
|
spr.cstat &= ~3;
|
||||||
if (spr.pal == 4) {
|
if (spr.pal == 4) {
|
||||||
ChangeActorStat(actor, SHADE);
|
ChangeActorStat(actor, SHADE);
|
||||||
deaddude(sn);
|
deaddude(actor);
|
||||||
} else {
|
} else {
|
||||||
ChangeActorStat(actor, DEAD);
|
ChangeActorStat(actor, DEAD);
|
||||||
monsterweapon(actor);
|
monsterweapon(actor);
|
||||||
|
@ -1213,7 +1213,7 @@ void newstatus(short sn, int seq) {
|
||||||
spr.cstat &= ~3;
|
spr.cstat &= ~3;
|
||||||
if (spr.pal == 4) {
|
if (spr.pal == 4) {
|
||||||
ChangeActorStat(actor, SHADE);
|
ChangeActorStat(actor, SHADE);
|
||||||
deaddude(sn);
|
deaddude(actor);
|
||||||
} else {
|
} else {
|
||||||
ChangeActorStat(actor, DEAD);
|
ChangeActorStat(actor, DEAD);
|
||||||
monsterweapon(actor);
|
monsterweapon(actor);
|
||||||
|
@ -1240,7 +1240,7 @@ void newstatus(short sn, int seq) {
|
||||||
else spr.cstat &= ~1;
|
else spr.cstat &= ~1;
|
||||||
if (spr.pal == 4) {
|
if (spr.pal == 4) {
|
||||||
ChangeActorStat(actor, SHADE);
|
ChangeActorStat(actor, SHADE);
|
||||||
deaddude(sn);
|
deaddude(actor);
|
||||||
} else {
|
} else {
|
||||||
ChangeActorStat(actor, DEAD);
|
ChangeActorStat(actor, DEAD);
|
||||||
monsterweapon(actor);
|
monsterweapon(actor);
|
||||||
|
|
Loading…
Reference in a new issue