![]() |
HyperRogue
11.3d
game/visualization engine based on non-Euclidean geometry
|
Classes | |
struct | cellrotation_t |
struct | gpdata_t |
Public Member Functions | |
void | prepare_basics () |
void | prepare_compute3 () |
void | prepare_shapes () |
void | prepare_usershapes () |
void | hpcpush (hyperpoint h) |
void | hpcsquare (hyperpoint h1, hyperpoint h2, hyperpoint h3, hyperpoint h4) |
void | chasmifyPoly (double fac, double fac2, int k) |
void | shift (hpcshape &sh, double dx, double dy, double dz) |
void | initPolyForGL () |
void | extra_vertices () |
transmatrix | ddi (int a, ld x) |
void | drawTentacle (hpcshape &h, ld rad, ld var, ld divby) |
hyperpoint | hpxyzsc (double x, double y, double z) |
hyperpoint | turtlevertex (int u, double x, double y, double z) |
void | bshape (hpcshape &sh, PPR prio) |
void | finishshape () |
void | bshape (hpcshape &sh, PPR prio, double shzoom, int shapeid, double bonus=0, flagtype flags=0) |
void | copyshape (hpcshape &sh, hpcshape &orig, PPR prio) |
void | zoomShape (hpcshape &old, hpcshape &newsh, double factor, PPR prio) |
void | pushShape (usershapelayer &ds) |
void | make_sidewalls () |
void | procedural_shapes () |
void | make_wall (int id, const vector< hyperpoint > vertices, vector< ld > weights=equal_weights) |
void | reserve_wall3d (int i) |
void | compute_cornerbonus () |
void | create_wall3d () |
void | configure_floorshapes () |
void | init_floorshapes () |
void | bshape2 (hpcshape &sh, PPR prio, int shapeid, struct matrixlist &m) |
void | bshape_regular (floorshape &fsh, int id, int sides, ld shift, ld size, cell *model) |
void | generate_floorshapes_for (int id, cell *c, int siid, int sidir) |
void | generate_floorshapes () |
void | make_floor_textures_here () |
vector< hyperpoint > | get_shape (hpcshape sh) |
void | add_cone (ld z0, const vector< hyperpoint > &vh, ld z1) |
void | add_prism_sync (ld z0, vector< hyperpoint > vh0, ld z1, vector< hyperpoint > vh1) |
void | add_prism (ld z0, vector< hyperpoint > vh0, ld z1, vector< hyperpoint > vh1) |
void | shift_last (ld z) |
void | shift_shape (hpcshape &sh, ld z) |
void | shift_shape_orthogonally (hpcshape &sh, ld z) |
void | add_texture (hpcshape &sh) |
void | make_ha_3d (hpcshape &sh, bool isarmor, ld scale) |
void | make_humanoid_3d (hpcshape &sh) |
void | addtri (array< hyperpoint, 3 > hs, int kind) |
void | make_armor_3d (hpcshape &sh, int kind=1) |
void | make_foot_3d (hpcshape &sh) |
void | make_head_only () |
void | make_head_3d (hpcshape &sh) |
void | make_paw_3d (hpcshape &sh, hpcshape &legsh) |
void | make_abody_3d (hpcshape &sh, ld tail) |
void | make_ahead_3d (hpcshape &sh) |
void | make_skeletal (hpcshape &sh, ld push=0) |
void | make_revolution (hpcshape &sh, int mx=180, ld push=0) |
void | make_revolution_cut (hpcshape &sh, int each=180, ld push=0, ld width=99) |
void | clone_shape (hpcshape &sh, hpcshape &target) |
void | animate_bird (hpcshape &orig, hpcshape_animated &animated, ld body) |
void | slimetriangle (hyperpoint a, hyperpoint b, hyperpoint c, ld rad, int lev) |
void | balltriangle (hyperpoint a, hyperpoint b, hyperpoint c, ld rad, int lev) |
void | make_ball (hpcshape &sh, ld rad, int lev) |
void | make_star (hpcshape &sh, ld rad) |
void | make_euclidean_sky () |
void | adjust_eye (hpcshape &eye, hpcshape head, ld shift_eye, ld shift_head, int q, ld zoom=1) |
void | shift_last_straight (ld z) |
void | queueball (const transmatrix &V, ld rad, color_t col, eItem what) |
void | make_shadow (hpcshape &sh) |
void | make_3d_models () |
void | require_basics () |
void | require_shapes () |
void | require_usershapes () |
hpcshape & | generate_pipe (ld length, ld width) |
Public Attributes | |
ld | tessf |
ld | crossf |
ld | hexf |
ld | hcrossf |
ld | hexhexdist |
ld | hexvdist |
ld | hepvdist |
ld | rhexf |
vector< transmatrix > | heptmove |
vector< transmatrix > | hexmove |
vector< transmatrix > | invhexmove |
int | base_distlimit |
ld | sword_size |
ld | scalefactor |
ld | orbsize |
ld | floorrad0 |
ld | floorrad1 |
ld | zhexf |
ld | corner_bonus |
ld | hexshift |
ld | asteroid_size [8] |
ld | wormscale |
ld | tentacle_length |
ld | plevel |
int | single_step |
int | steps |
ld | INFDEEP |
ld | BOTTOM |
ld | HELLSPIKE |
ld | LAKE |
ld | WALL |
ld | FLOOR |
ld | STUFF |
ld | SLEV [4] |
ld | FLATEYE |
ld | LEG0 |
ld | LEG1 |
ld | LEG |
ld | LEG3 |
ld | GROIN |
ld | GROIN1 |
ld | GHOST |
ld | BODY |
ld | BODY1 |
ld | BODY2 |
ld | BODY3 |
ld | NECK1 |
ld | NECK |
ld | NECK3 |
ld | HEAD |
ld | HEAD1 |
ld | HEAD2 |
ld | HEAD3 |
ld | ALEG0 |
ld | ALEG |
ld | ABODY |
ld | AHEAD |
ld | BIRD |
ld | LOWSKY |
ld | SKY |
ld | HIGH |
ld | HIGH2 |
ld | SHALLOW |
ld | human_height |
ld | slev |
ld | eyelevel_familiar |
ld | eyelevel_human |
ld | eyelevel_dog |
hpcshape | shSemiFloorSide [SIDEPARS] |
hpcshape | shBFloor [2] |
hpcshape | shWave [8][2] |
hpcshape | shCircleFloor |
hpcshape | shBarrel |
hpcshape | shWall [2] |
hpcshape | shMineMark [2] |
hpcshape | shBigMineMark [2] |
hpcshape | shFan |
hpcshape | shZebra [5] |
hpcshape | shSwitchDisk |
hpcshape | shTower [11] |
hpcshape | shEmeraldFloor [6] |
hpcshape | shSemiFeatherFloor [2] |
hpcshape | shSemiFloor [2] |
hpcshape | shSemiBFloor [2] |
hpcshape | shSemiFloorShadow |
hpcshape | shMercuryBridge [2] |
hpcshape | shTriheptaSpecial [14] |
hpcshape | shCross |
hpcshape | shGiantStar [2] |
hpcshape | shLake |
hpcshape | shMirror |
hpcshape | shHalfFloor [6] |
hpcshape | shHalfMirror [3] |
hpcshape | shGem [2] |
hpcshape | shStar |
hpcshape | shDisk |
hpcshape | shDiskT |
hpcshape | shDiskS |
hpcshape | shDiskM |
hpcshape | shDiskSq |
hpcshape | shRing |
hpcshape | shTinyBird |
hpcshape | shTinyShark |
hpcshape | shEgg |
hpcshape | shSpikedRing |
hpcshape | shTargetRing |
hpcshape | shSawRing |
hpcshape | shGearRing |
hpcshape | shPeaceRing |
hpcshape | shHeptaRing |
hpcshape | shSpearRing |
hpcshape | shLoveRing |
hpcshape | shFrogRing |
hpcshape | shReserved1 |
hpcshape | shReserved2 |
hpcshape | shDaisy |
hpcshape | shTriangle |
hpcshape | shNecro |
hpcshape | shStatue |
hpcshape | shKey |
hpcshape | shWindArrow |
hpcshape | shGun |
hpcshape | shFigurine |
hpcshape | shTreat |
hpcshape | shElementalShard |
hpcshape | shIBranch |
hpcshape | shTentacle |
hpcshape | shTentacleX |
hpcshape | shILeaf [3] |
hpcshape | shMovestar |
hpcshape | shWolf |
hpcshape | shYeti |
hpcshape | shDemon |
hpcshape | shGDemon |
hpcshape | shEagle |
hpcshape | shGargoyleWings |
hpcshape | shGargoyleBody |
hpcshape | shFoxTail1 |
hpcshape | shFoxTail2 |
hpcshape | shDogBody |
hpcshape | shDogHead |
hpcshape | shDogFrontLeg |
hpcshape | shDogRearLeg |
hpcshape | shDogFrontPaw |
hpcshape | shDogRearPaw |
hpcshape | shDogTorso |
hpcshape | shHawk |
hpcshape | shCatBody |
hpcshape | shCatLegs |
hpcshape | shCatHead |
hpcshape | shFamiliarHead |
hpcshape | shFamiliarEye |
hpcshape | shWolf1 |
hpcshape | shWolf2 |
hpcshape | shWolf3 |
hpcshape | shRatEye1 |
hpcshape | shRatEye2 |
hpcshape | shRatEye3 |
hpcshape | shDogStripes |
hpcshape | shPBody |
hpcshape | shPSword |
hpcshape | shPKnife |
hpcshape | shFerocityM |
hpcshape | shFerocityF |
hpcshape | shHumanFoot |
hpcshape | shHumanLeg |
hpcshape | shHumanGroin |
hpcshape | shHumanNeck |
hpcshape | shSkeletalFoot |
hpcshape | shYetiFoot |
hpcshape | shMagicSword |
hpcshape | shMagicShovel |
hpcshape | shSeaTentacle |
hpcshape | shKrakenHead |
hpcshape | shKrakenEye |
hpcshape | shKrakenEye2 |
hpcshape | shArrow |
hpcshape | shPHead |
hpcshape | shPFace |
hpcshape | shGolemhead |
hpcshape | shHood |
hpcshape | shArmor |
hpcshape | shAztecHead |
hpcshape | shAztecCap |
hpcshape | shSabre |
hpcshape | shTurban1 |
hpcshape | shTurban2 |
hpcshape | shVikingHelmet |
hpcshape | shRaiderHelmet |
hpcshape | shRaiderArmor |
hpcshape | shRaiderBody |
hpcshape | shRaiderShirt |
hpcshape | shWestHat1 |
hpcshape | shWestHat2 |
hpcshape | shGunInHand |
hpcshape | shKnightArmor |
hpcshape | shKnightCloak |
hpcshape | shWightCloak |
hpcshape | shGhost |
hpcshape | shEyes |
hpcshape | shSlime |
hpcshape | shJelly |
hpcshape | shJoint |
hpcshape | shWormHead |
hpcshape | shTentHead |
hpcshape | shShark |
hpcshape | shWormSegment |
hpcshape | shSmallWormSegment |
hpcshape | shWormTail |
hpcshape | shSmallWormTail |
hpcshape | shSlimeEyes |
hpcshape | shDragonEyes |
hpcshape | shWormEyes |
hpcshape | shGhostEyes |
hpcshape | shMiniGhost |
hpcshape | shMiniEyes |
hpcshape | shHedgehogBlade |
hpcshape | shHedgehogBladePlayer |
hpcshape | shWolfBody |
hpcshape | shWolfHead |
hpcshape | shWolfLegs |
hpcshape | shWolfEyes |
hpcshape | shWolfFrontLeg |
hpcshape | shWolfRearLeg |
hpcshape | shWolfFrontPaw |
hpcshape | shWolfRearPaw |
hpcshape | shFemaleBody |
hpcshape | shFemaleHair |
hpcshape | shFemaleDress |
hpcshape | shWitchDress |
hpcshape | shWitchHair |
hpcshape | shBeautyHair |
hpcshape | shFlowerHair |
hpcshape | shFlowerHand |
hpcshape | shSuspenders |
hpcshape | shTrophy |
hpcshape | shBugBody |
hpcshape | shBugArmor |
hpcshape | shBugLeg |
hpcshape | shBugAntenna |
hpcshape | shPickAxe |
hpcshape | shPike |
hpcshape | shFlailBall |
hpcshape | shFlailTrunk |
hpcshape | shFlailChain |
hpcshape | shHammerHead |
hpcshape | shBook |
hpcshape | shBookCover |
hpcshape | shGrail |
hpcshape | shBoatOuter |
hpcshape | shBoatInner |
hpcshape | shCompass1 |
hpcshape | shCompass2 |
hpcshape | shCompass3 |
hpcshape | shKnife |
hpcshape | shTongue |
hpcshape | shFlailMissile |
hpcshape | shTrapArrow |
hpcshape | shPirateHook |
hpcshape | shPirateHood |
hpcshape | shEyepatch |
hpcshape | shPirateX |
hpcshape | shHeptaMarker |
hpcshape | shSnowball |
hpcshape | shSun |
hpcshape | shNightStar |
hpcshape | shEuclideanSky |
hpcshape | shSkeletonBody |
hpcshape | shSkull |
hpcshape | shSkullEyes |
hpcshape | shFatBody |
hpcshape | shWaterElemental |
hpcshape | shPalaceGate |
hpcshape | shFishTail |
hpcshape | shMouse |
hpcshape | shMouseLegs |
hpcshape | shMouseEyes |
hpcshape | shPrincessDress |
hpcshape | shPrinceDress |
hpcshape | shWizardCape1 |
hpcshape | shWizardCape2 |
hpcshape | shBigCarpet1 |
hpcshape | shBigCarpet2 |
hpcshape | shBigCarpet3 |
hpcshape | shGoatHead |
hpcshape | shRose |
hpcshape | shRoseItem |
hpcshape | shThorns |
hpcshape | shRatHead |
hpcshape | shRatTail |
hpcshape | shRatEyes |
hpcshape | shRatCape1 |
hpcshape | shRatCape2 |
hpcshape | shWizardHat1 |
hpcshape | shWizardHat2 |
hpcshape | shTortoise [13][6] |
hpcshape | shDragonLegs |
hpcshape | shDragonTail |
hpcshape | shDragonHead |
hpcshape | shDragonSegment |
hpcshape | shDragonNostril |
hpcshape | shDragonWings |
hpcshape | shSolidBranch |
hpcshape | shWeakBranch |
hpcshape | shBead0 |
hpcshape | shBead1 |
hpcshape | shBatWings |
hpcshape | shBatBody |
hpcshape | shBatMouth |
hpcshape | shBatFang |
hpcshape | shBatEye |
hpcshape | shParticle [16] |
hpcshape | shAsteroid [8] |
hpcshape | shReptile [5][4] |
hpcshape | shReptileBody |
hpcshape | shReptileHead |
hpcshape | shReptileFrontFoot |
hpcshape | shReptileRearFoot |
hpcshape | shReptileFrontLeg |
hpcshape | shReptileRearLeg |
hpcshape | shReptileTail |
hpcshape | shReptileEye |
hpcshape | shTrylobite |
hpcshape | shTrylobiteHead |
hpcshape | shTrylobiteBody |
hpcshape | shTrylobiteFrontLeg |
hpcshape | shTrylobiteRearLeg |
hpcshape | shTrylobiteFrontClaw |
hpcshape | shTrylobiteRearClaw |
hpcshape | shBullBody |
hpcshape | shBullHead |
hpcshape | shBullHorn |
hpcshape | shBullRearHoof |
hpcshape | shBullFrontHoof |
hpcshape | shButterflyBody |
hpcshape | shButterflyWing |
hpcshape | shGadflyBody |
hpcshape | shGadflyWing |
hpcshape | shGadflyEye |
hpcshape | shTerraArmor1 |
hpcshape | shTerraArmor2 |
hpcshape | shTerraArmor3 |
hpcshape | shTerraHead |
hpcshape | shTerraFace |
hpcshape | shJiangShi |
hpcshape | shJiangShiDress |
hpcshape | shJiangShiCap1 |
hpcshape | shJiangShiCap2 |
hpcshape | shPikeBody |
hpcshape | shPikeEye |
hpcshape | shAsymmetric |
hpcshape | shPBodyOnly |
hpcshape | shPBodyArm |
hpcshape | shPBodyHand |
hpcshape | shPHeadOnly |
hpcshape | shDodeca |
hpcshape | shFrogRearFoot |
hpcshape | shFrogFrontFoot |
hpcshape | shFrogRearLeg |
hpcshape | shFrogFrontLeg |
hpcshape | shFrogRearLeg2 |
hpcshape | shFrogBody |
hpcshape | shFrogEye |
hpcshape | shFrogStripe |
hpcshape | shFrogJumpFoot |
hpcshape | shFrogJumpLeg |
hpcshape_animated | shAnimatedEagle |
hpcshape_animated | shAnimatedTinyEagle |
hpcshape_animated | shAnimatedGadfly |
hpcshape_animated | shAnimatedHawk |
hpcshape_animated | shAnimatedButterfly |
hpcshape_animated | shAnimatedGargoyle |
hpcshape_animated | shAnimatedGargoyle2 |
hpcshape_animated | shAnimatedBat |
hpcshape_animated | shAnimatedBat2 |
map< int, hpcshape > | shPipe |
vector< hpcshape > | shPlainWall3D |
vector< hpcshape > | shWireframe3D |
vector< hpcshape > | shWall3D |
vector< hpcshape > | shMiniWall3D |
vector< hyperpoint > | walltester |
vector< int > | wallstart |
vector< transmatrix > | raywall |
vector< struct plain_floorshape * > | all_plain_floorshapes |
vector< struct escher_floorshape * > | all_escher_floorshapes |
plain_floorshape | shFloor |
plain_floorshape | shMFloor |
plain_floorshape | shMFloor2 |
plain_floorshape | shMFloor3 |
plain_floorshape | shMFloor4 |
plain_floorshape | shFullFloor |
plain_floorshape | shBigTriangle |
plain_floorshape | shTriheptaFloor |
plain_floorshape | shBigHepta |
escher_floorshape | shStarFloor |
escher_floorshape | shCloudFloor |
escher_floorshape | shCrossFloor |
escher_floorshape | shChargedFloor |
escher_floorshape | shSStarFloor |
escher_floorshape | shOverFloor |
escher_floorshape | shTriFloor |
escher_floorshape | shFeatherFloor |
escher_floorshape | shBarrowFloor |
escher_floorshape | shNewFloor |
escher_floorshape | shTrollFloor |
escher_floorshape | shButterflyFloor |
escher_floorshape | shLavaFloor |
escher_floorshape | shLavaSeabed |
escher_floorshape | shSeabed |
escher_floorshape | shCloudSeabed |
escher_floorshape | shCaveSeabed |
escher_floorshape | shPalaceFloor |
escher_floorshape | shDemonFloor |
escher_floorshape | shCaveFloor |
escher_floorshape | shDesertFloor |
escher_floorshape | shPowerFloor |
escher_floorshape | shRoseFloor |
escher_floorshape | shSwitchFloor |
escher_floorshape | shTurtleFloor |
escher_floorshape | shRedRockFloor [3] |
escher_floorshape | shDragonFloor |
ld | dlow_table [SIDEPARS] |
ld | dhi_table [SIDEPARS] |
ld | dfloor_table [SIDEPARS] |
int | prehpc |
vector< hyperpoint > | hpc |
bool | first |
bool | validsidepar [SIDEPARS] |
vector< glvertex > | ourshape |
hpcshape | shFullCross [2] |
hpcshape * | last |
int | SD3 |
int | SD6 |
int | SD7 |
int | S12 |
int | S14 |
int | S21 |
int | S28 |
int | S42 |
int | S36 |
int | S84 |
vector< int > | walloffsets |
vector< array< int, 3 > > | symmetriesAt |
vector< cellrotation_t > | cellrotations |
vector< hpcshape * > | allshapes |
transmatrix | shadowmulmatrix |
map< usershapelayer *, hpcshape > | ushr |
shared_ptr< gpdata_t > | gpdata |
int | state |
int | usershape_state |
basic_textureinfo | models_texture |
int | timestamp |
Static Public Attributes | |
static constexpr double | bscale7 = 1 |
static constexpr double | brot7 = 0 |
static constexpr double | bscale6 = 1 |
static constexpr double | brot6 = 0 |
basic geometry parameters
ld hr::geometry_information::tessf |
distance from heptagon center to another heptagon center
ld hr::geometry_information::crossf |
distance from heptagon center to adjacent cell center (either hcrossf or tessf)
ld hr::geometry_information::hexf |
distance from heptagon center to small heptagon vertex
ld hr::geometry_information::hcrossf |
distance from heptagon center to big heptagon vertex
ld hr::geometry_information::hexhexdist |
distance between adjacent hexagon vertices
ld hr::geometry_information::hexvdist |
distance between hexagon vertex and hexagon center
ld hr::geometry_information::hepvdist |
distance between heptagon vertex and hexagon center (either hcrossf or something else)
ld hr::geometry_information::rhexf |
distance from heptagon center to heptagon vertex (either hexf or hcrossf)
ld hr::geometry_information::sword_size |
size of the Sword (from Orb of the Sword), used in the shmup mode
ld hr::geometry_information::scalefactor |
scale factor for the graphics of most things
ld hr::geometry_information::plevel |
level in product geometries
int hr::geometry_information::single_step |
level for a z-step
int hr::geometry_information::steps |
the number of levels in SL2
ld hr::geometry_information::INFDEEP |
various parameters related to the 3D view
basic_textureinfo hr::geometry_information::models_texture |
contains the texture point coordinates for 3D models