- implement DrawCiv, CloseControllers

This commit is contained in:
Ilya Shurumov 2020-06-28 23:59:26 +06:00
parent ed72d7d346
commit 814a8c73a3
4 changed files with 573 additions and 773 deletions

File diff suppressed because it is too large Load Diff

View File

@ -34,7 +34,7 @@ extern void InitTannerShadow(); // 0x000681EC
extern void TannerShadow(VECTOR *pPedPos, SVECTOR *pLightPos, CVECTOR *col, short angle); // 0x00068358
extern void DoCivHead(SVECTOR *vert1, SVECTOR *vert2); // 0x00068B2C
extern void DoCivHead(PEDESTRIAN *pPed, SVECTOR *vert1, SVECTOR *vert2); // 0x00068B2C
extern void DrawObject(MODEL *model, MATRIX *matrix, VECTOR *pos, int z_correct); // 0x00069438

View File

@ -119,25 +119,18 @@ void InitControllers(void)
/* WARNING: Unknown calling convention yet parameter storage is locked */
// [D]
void CloseControllers(void)
{
UNIMPLEMENTED();
/*
PAD *pPVar1;
int iVar2;
int i;
PadStopCom();
pPVar1 = Pads;
iVar2 = 1;
do {
pPVar1->active = '\0';
pPVar1->type = '\0';
iVar2 = iVar2 + -1;
pPVar1 = pPVar1 + 1;
} while (-1 < iVar2);
return;
*/
Pads[i].active = 0;
Pads[i].type = 0;
i++;
} while (i < 2);
}

View File

@ -1437,7 +1437,7 @@ void DrawAllPedestrians(void)
PositionVisible((VECTOR *)&pPed->position) != 0 &&
FrustrumCheck((VECTOR *)&pPed->position, 60) != -1)
{
if (pPed->type - 8 < 6)
if ((uint)pPed->type - 8 < 6)
DrawCiv(pPed);
else
DrawCharacter(pPed);
@ -3198,6 +3198,7 @@ void SetupCivPedRouteData(VECTOR *pPos)
/* WARNING: Unknown calling convention yet parameter storage is locked */
// [D]
void PingInPedestrians(void)
{
bool bVar1;
@ -3267,7 +3268,6 @@ void PingInPedestrians(void)
step = -28;
#if 0
PVar3 = PED_ACTION_CIVRUN;
if (((pedestrian_roads.north != -28 &&
@ -3282,23 +3282,6 @@ void PingInPedestrians(void)
if (pPed->type == PED_ACTION_CIVRUN) // [A] fix bug
pPed->speed = 30;
#else
// [A] using Tanner animation, different skeleton
PVar3 = PED_ACTION_RUN;
if (((pedestrian_roads.north != -28 &&
(PVar3 = PED_ACTION_RUN, pedestrian_roads.south != -28)) &&
(PVar3 = PED_ACTION_RUN, pedestrian_roads.east != -28)) &&
(PVar3 = PED_ACTION_WALK, pedestrian_roads.west == -28))
{
PVar3 = PED_ACTION_RUN;
}
pPed->type = PVar3;
if (pPed->type == PED_ACTION_RUN)
pPed->speed = 30;
#endif
lVar7 = Random2(-0x1c);
lVar5 = Random2(step);