MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / ParseINI

Method ParseINI

src/SB/Game/zNPCTypeCommon.cpp:1515–1641  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1513}
1514
1515void zNPCCommon::ParseINI()
1516{
1517 NPCConfig* cfg = this->cfg_npc;
1518
1519 this->TagVerts();
1520
1521 for (S32 i = NPC_PARM_MOVERATE; i < NPC_PARM_ENDTAG_INI; i++)
1522 {
1523 en_npcparm pid = (en_npcparm)i;
1524
1525 switch (pid)
1526 {
1527 case NPC_PARM_ACCEL:
1528 this->GetParm(pid, &cfg->fac_accelMax);
1529 break;
1530 case NPC_PARM_DRIFT:
1531 this->GetParm(pid, &cfg->fac_driftMax);
1532 break;
1533 case NPC_PARM_MASS:
1534 this->GetParm(pid, &cfg->npcMass);
1535 if (cfg->npcMass < 0.5f)
1536 {
1537 cfg->npcMass = 0.5f;
1538 }
1539 cfg->npcMassInv = 1.0f / cfg->npcMass;
1540 break;
1541 case NPC_PARM_TOSSELASTIC:
1542 this->GetParm(pid, &cfg->fac_elastic);
1543 break;
1544 case NPC_PARM_TOSSGRAV:
1545 this->GetParm(pid, &cfg->fac_gravKnock);
1546 break;
1547 case NPC_PARM_HITPOINTS:
1548 this->GetParm(pid, &cfg->pts_damage);
1549 break;
1550 case NPC_PARM_BND_ISBOX:
1551 this->GetParm(pid, &cfg->useBoxBound);
1552 break;
1553 case NPC_PARM_BND_CENTER:
1554 this->GetParm(pid, &cfg->off_bound);
1555 break;
1556 case NPC_PARM_BND_EXTENT:
1557 this->GetParm(pid, &cfg->dim_bound);
1558 break;
1559 case NPC_PARM_MOVERATE:
1560 this->GetParm(pid, &cfg->spd_moveMax);
1561 break;
1562 case NPC_PARM_TURNRATE:
1563 {
1564 F32 fv = RAD2DEG(cfg->spd_turnMax);
1565 this->GetParm(pid, &fv);
1566 cfg->spd_turnMax = DEG2RAD(fv);
1567 break;
1568 }
1569 case NPC_PARM_MODELSCALE:
1570 this->GetParm(pid, &cfg->scl_model);
1571 break;
1572 case NPC_PARM_DETECT_RAD:

Callers 1

InitMethod · 0.95

Calls 2

TagVertsMethod · 0.95
GetParmMethod · 0.95

Tested by

no test coverage detected