MCPcopy Create free account
hub / github.com/OpenNFS/OpenNFS / PC

Class PC

src/nfs_data.h:535–652  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

533 };
534
535 struct PC {
536 // ---- CORE DATA TYPES ----
537 struct POLYGONDATA {
538 int16_t texture;
539 int16_t otherSideTex;
540 uint8_t vertex[4];
541 };
542
543 struct VERT {
544 int16_t x, z, y;
545 };
546
547 // (Unfortunately, structs below contain the above two modified structs, so must be duplicated across PS1/PC)
548 struct VROAD {
549 VERT normalVec;
550 VERT forwardVec;
551 };
552
553 // ---- EXTRA BLOCKS ----
554 struct GEOM_BLOCK {
555 // XBID = 8
556 uint32_t recSize;
557 uint16_t nVerts;
558 uint16_t nPoly;
559 VERT *vertexTable;
560 POLYGONDATA *polygonTable;
561 };
562
563 // ---- TRACK BLOCKS ----
564 struct TRKBLOCK {
565 TRKBLOCK_HEADER *header;
566 VERT *vertexTable;
567 POLYGONDATA *polygonTable;
568 POLY_TYPE *polyTypes;
569 uint16_t nNeighbours;
570 uint16_t *blockNeighbours;
571 uint16_t nStructures;
572 GEOM_BLOCK *structures;
573
574 uint16_t nStructureReferences;
575 std::vector<GEOM_REF_BLOCK> structureRefData;
576
577 MEDIAN_BLOCK *medianData;
578 uint16_t nVroad;
579 VROAD *vroadData; // Reference using XBID 5
580 uint16_t nLanes;
581 LANE_BLOCK *laneData;
582 };
583
584 struct SUPERBLOCK {
585 uint32_t superBlockSize;
586 uint32_t nBlocks;
587 uint32_t padding;
588 TRKBLOCK *trackBlocks;
589 };
590
591 // ---- MASTER TRACK STRUCT ----
592 struct TRACK {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected