mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-23 21:07:17 +00:00
10.0m, and some unfinished features for 10.1 ;)
This commit is contained in:
parent
9d20c2f7fd
commit
85c46220f6
27
cell.cpp
27
cell.cpp
@ -719,6 +719,8 @@ void initcells() {
|
|||||||
|
|
||||||
allmaps.push_back(currentmap);
|
allmaps.push_back(currentmap);
|
||||||
|
|
||||||
|
windmap::create();
|
||||||
|
|
||||||
// origin->emeraldval =
|
// origin->emeraldval =
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1401,6 +1403,31 @@ pair<int, bool> fieldval(cell *c) {
|
|||||||
else return make_pair(btspin(c->master->fieldval, c->spin(0)), true);
|
else return make_pair(btspin(c->master->fieldval, c->spin(0)), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int fieldval_uniq(cell *c) {
|
||||||
|
if(sphere) {
|
||||||
|
if(c->type == 5) return c->master->fieldval;
|
||||||
|
else return createMov(c, 0)->master->fieldval + 256 * createMov(c,2)->master->fieldval + (1<<16) * createMov(c,4)->master->fieldval;
|
||||||
|
}
|
||||||
|
else if(torus) {
|
||||||
|
return decodeId(c->master);
|
||||||
|
}
|
||||||
|
else if(euclid) {
|
||||||
|
eucoord x, y;
|
||||||
|
decodeMaster(c->master, x, y);
|
||||||
|
int i = (short int)(x) * torusconfig::dx + (short int)(y) * torusconfig::dy;
|
||||||
|
i %= torusconfig::qty;
|
||||||
|
if(i<0) i += torusconfig::qty;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
if(c->type == 7) return c->master->fieldval/7;
|
||||||
|
else {
|
||||||
|
int z = 0;
|
||||||
|
for(int u=0; u<6; u+=2)
|
||||||
|
z = max(z, btspin(createMov(c, u)->master->fieldval, c->spin(u)));
|
||||||
|
return -1-z;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int subpathid = fp43.matcode[fp43.strtomatrix("RRRPRRRRRPRRRP")];
|
int subpathid = fp43.matcode[fp43.strtomatrix("RRRPRRRRRPRRRP")];
|
||||||
int subpathorder = fp43.order(fp43.matrices[subpathid]);
|
int subpathorder = fp43.order(fp43.matrices[subpathid]);
|
||||||
|
|
||||||
|
@ -1440,7 +1440,7 @@ enum eWall { waNone, waIcewall, waBarrier, waFloorA, waFloorB, waCavewall, waCav
|
|||||||
|
|
||||||
// --- land types ---
|
// --- land types ---
|
||||||
|
|
||||||
const int landtypes = 72;
|
const int landtypes = 73;
|
||||||
|
|
||||||
struct landtype {
|
struct landtype {
|
||||||
int color;
|
int color;
|
||||||
@ -1623,6 +1623,7 @@ const landtype linf[landtypes] = {
|
|||||||
{ 0xC8C8FF, "Reflection", mirroreddesc},
|
{ 0xC8C8FF, "Reflection", mirroreddesc},
|
||||||
{ 0xC8C8FF, "Mirror Land",
|
{ 0xC8C8FF, "Mirror Land",
|
||||||
"A strange land which contains mirrors and mirages, protected by Mirror Rangers."},
|
"A strange land which contains mirrors and mirages, protected by Mirror Rangers."},
|
||||||
|
{ 0xFFFFFF, "Alchemy II", NODESCYET}
|
||||||
};
|
};
|
||||||
|
|
||||||
enum eLand { laNone, laBarrier, laCrossroads, laDesert, laIce, laCaves, laJungle, laAlchemist, laMirror, laGraveyard,
|
enum eLand { laNone, laBarrier, laCrossroads, laDesert, laIce, laCaves, laJungle, laAlchemist, laMirror, laGraveyard,
|
||||||
@ -1641,7 +1642,8 @@ enum eLand { laNone, laBarrier, laCrossroads, laDesert, laIce, laCaves, laJungle
|
|||||||
laHalloween, laDungeon, laMountain, laReptile,
|
laHalloween, laDungeon, laMountain, laReptile,
|
||||||
laPrairie, laBull, laCrossroads5, laCA,
|
laPrairie, laBull, laCrossroads5, laCA,
|
||||||
laMirrorWall, laMirrored, laMirrorWall2, laMirrored2,
|
laMirrorWall, laMirrored, laMirrorWall2, laMirrored2,
|
||||||
laMirrorOld
|
laMirrorOld,
|
||||||
|
laAlchemy2
|
||||||
};
|
};
|
||||||
|
|
||||||
// cell information for the game
|
// cell information for the game
|
||||||
|
76
complex.cpp
76
complex.cpp
File diff suppressed because one or more lines are too long
44
graph.cpp
44
graph.cpp
@ -2270,7 +2270,9 @@ void setcolors(cell *c, int& wcol, int &fcol) {
|
|||||||
// water colors
|
// water colors
|
||||||
if(isWateryOrBoat(c) || c->wall == waReptileBridge) {
|
if(isWateryOrBoat(c) || c->wall == waReptileBridge) {
|
||||||
if(c->land == laOcean)
|
if(c->land == laOcean)
|
||||||
fcol = (c->landparam > 25 && !chaosmode) ? 0x000090 :
|
fcol = (c->landparam > 25 && !chaosmode) ? (
|
||||||
|
0x90 + 8 * sin(windmap::windcodes[windmap::getId(c)] * M_PI / 128 - SDL_GetTicks()/1000.)
|
||||||
|
) :
|
||||||
0x1010C0 + int(32 * sin(ticks / 500. + (chaosmode ? c->CHAOSPARAM : c->landparam)*1.5));
|
0x1010C0 + int(32 * sin(ticks / 500. + (chaosmode ? c->CHAOSPARAM : c->landparam)*1.5));
|
||||||
else if(c->land == laOceanWall)
|
else if(c->land == laOceanWall)
|
||||||
fcol = 0x2020FF;
|
fcol = 0x2020FF;
|
||||||
@ -2364,6 +2366,11 @@ void setcolors(cell *c, int& wcol, int &fcol) {
|
|||||||
case laCanvas:
|
case laCanvas:
|
||||||
fcol = c->landparam;
|
fcol = c->landparam;
|
||||||
break;
|
break;
|
||||||
|
case laAlchemy2:
|
||||||
|
fcol = (windmap::windcodes[windmap::getId(c)] - SDL_GetTicks()/10) & 255;
|
||||||
|
if(fcol > 128) fcol = 256 - fcol;
|
||||||
|
fcol += 96;
|
||||||
|
break;
|
||||||
case laPalace:
|
case laPalace:
|
||||||
fcol = 0x806020;
|
fcol = 0x806020;
|
||||||
if(c->wall == waClosedGate || c->wall == waOpenGate)
|
if(c->wall == waClosedGate || c->wall == waOpenGate)
|
||||||
@ -2663,6 +2670,22 @@ void plainfloor(cell *c, bool warp, const transmatrix &V, int col, int prio) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void fullplainfloor(cell *c, bool warp, const transmatrix &V, int col, int prio) {
|
||||||
|
if(warp) {
|
||||||
|
if(euclid) {
|
||||||
|
if(ishex1(c))
|
||||||
|
queuepolyat(V * pispin * applyPatterndir(c), shTriheptaEuc[0], col, prio);
|
||||||
|
else
|
||||||
|
queuepolyat(V * applyPatterndir(c), shTriheptaEuc[ishept(c)?1:0], col, prio);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
queuepolyat(V * applyPatterndir(c), shTriheptaFloor[sphere ? 6-c->type : mapeditor::nopattern(c)], col, prio);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
queuepolyat(V, shFullFloor[c->type==6?0:1], col, prio);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void qplainfloor(cell *c, bool warp, const transmatrix &V, int col) {
|
void qplainfloor(cell *c, bool warp, const transmatrix &V, int col) {
|
||||||
if(warp) {
|
if(warp) {
|
||||||
if(euclid) {
|
if(euclid) {
|
||||||
@ -2679,6 +2702,8 @@ void qplainfloor(cell *c, bool warp, const transmatrix &V, int col) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int wavephase;
|
||||||
|
|
||||||
void warpfloor(cell *c, const transmatrix& V, int col, int prio, bool warp) {
|
void warpfloor(cell *c, const transmatrix& V, int col, int prio, bool warp) {
|
||||||
if(shmup::on || purehepta) warp = false;
|
if(shmup::on || purehepta) warp = false;
|
||||||
if(wmescher && qfi.special)
|
if(wmescher && qfi.special)
|
||||||
@ -3427,6 +3452,9 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
else if(c->land == laTemple)
|
else if(c->land == laTemple)
|
||||||
qfloor(c, Vf, (eoh ? shFloor: shTriFloor)[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, (eoh ? shFloor: shTriFloor)[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
|
/* else if(c->land == laAlchemist)
|
||||||
|
qfloor(c, Vf, shCloudFloor[ct6], darkena(fcol, fd, 0xFF)); */
|
||||||
|
|
||||||
else if(c->land == laAlchemist)
|
else if(c->land == laAlchemist)
|
||||||
qfloor(c, Vf, shCloudFloor[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, shCloudFloor[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
@ -3472,14 +3500,12 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
qfloor(c, Vf, shMFloor[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, shMFloor[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
else if(c->land == laWhirlwind)
|
else if(c->land == laWhirlwind)
|
||||||
// drawZebraFloor(V, c, darkena(fcol, fd, 0xFF));
|
|
||||||
qfloor(c, Vf, (eoh ? shCloudFloor : shNewFloor)[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, (eoh ? shCloudFloor : shNewFloor)[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
else if(c->land == laHell)
|
else if(c->land == laHell)
|
||||||
qfloor(c, Vf, (euclid ? shStarFloor : shDemonFloor)[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, (euclid ? shStarFloor : shDemonFloor)[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
else if(c->land == laIce)
|
else if(c->land == laIce)
|
||||||
// qfloor(c, V, shFloor[ct6], darkena(fcol, 2, 0xFF));
|
|
||||||
qfloor(c, Vf, shStarFloor[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, shStarFloor[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
else if(c->land == laCocytus)
|
else if(c->land == laCocytus)
|
||||||
@ -3525,9 +3551,15 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
else if(c->land == laDryForest)
|
else if(c->land == laDryForest)
|
||||||
qfloor(c, Vf, (eoh ? shStarFloor : shDesertFloor)[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, (eoh ? shStarFloor : shDesertFloor)[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
else if(c->land == laCaribbean || c->land == laOcean || c->land == laOceanWall || c->land == laWhirlpool)
|
// else if(c->land == laOcean && c->landparam > 25)
|
||||||
|
// qfloor(c, Vf, shWave[wavephase][ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
|
else if((c->land == laCaribbean || c->land == laOcean || c->land == laOceanWall || c->land == laWhirlpool))
|
||||||
qfloor(c, Vf, shCloudFloor[ct6], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, shCloudFloor[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
|
else if((c->land == laKraken))
|
||||||
|
qfloor(c, Vf, shFullFloor[ct6], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
else if(c->land == laLivefjord)
|
else if(c->land == laLivefjord)
|
||||||
qfloor(c, Vf, shCaveFloor[ECT], darkena(fcol, fd, 0xFF));
|
qfloor(c, Vf, shCaveFloor[ECT], darkena(fcol, fd, 0xFF));
|
||||||
|
|
||||||
@ -3915,6 +3947,8 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
|
|
||||||
if(chasmg == 1 && wmspatial) {
|
if(chasmg == 1 && wmspatial) {
|
||||||
int fd0 = fd ? fd-1 : 0;
|
int fd0 = fd ? fd-1 : 0;
|
||||||
|
|
||||||
|
qfi.shape = &getSeabed(*qfi.shape);
|
||||||
warpfloor(c, (*Vdp), darkena(fcol, fd0, 0x80), PPR_LAKELEV, isWarped(c));
|
warpfloor(c, (*Vdp), darkena(fcol, fd0, 0x80), PPR_LAKELEV, isWarped(c));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4453,6 +4487,8 @@ void drawthemap() {
|
|||||||
|
|
||||||
frameid++;
|
frameid++;
|
||||||
|
|
||||||
|
wavephase = (-(SDL_GetTicks() / 100)) & 7;
|
||||||
|
|
||||||
if(!allowIncreasedSight()) {
|
if(!allowIncreasedSight()) {
|
||||||
if(sightrange > 7) sightrange = 7;
|
if(sightrange > 7) sightrange = 7;
|
||||||
overgenerate = false;
|
overgenerate = false;
|
||||||
|
6
hyper.h
6
hyper.h
@ -1530,3 +1530,9 @@ bool inscreenrange(cell *c);
|
|||||||
bool allowIncreasedSight();
|
bool allowIncreasedSight();
|
||||||
|
|
||||||
static bool orbProtection(eItem it) { return false; } // not implemented
|
static bool orbProtection(eItem it) { return false; } // not implemented
|
||||||
|
|
||||||
|
namespace windmap {
|
||||||
|
void create();
|
||||||
|
}
|
||||||
|
|
||||||
|
extern int wavephase;
|
||||||
|
8
hyper.rc
8
hyper.rc
@ -1,8 +1,8 @@
|
|||||||
id ICON "hr-icon.ico"
|
id ICON "hr-icon.ico"
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 10,0,0,12
|
FILEVERSION 10,0,0,13
|
||||||
PRODUCTVERSION 10,0,0,12
|
PRODUCTVERSION 10,0,0,13
|
||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -10,12 +10,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Zeno Rogue"
|
VALUE "CompanyName", "Zeno Rogue"
|
||||||
VALUE "FileDescription", "A roguelike in non-euclidean space"
|
VALUE "FileDescription", "A roguelike in non-euclidean space"
|
||||||
VALUE "FileVersion", "A10.0l"
|
VALUE "FileVersion", "A10.0m"
|
||||||
VALUE "InternalName", "hyper"
|
VALUE "InternalName", "hyper"
|
||||||
VALUE "LegalCopyright", "Zeno Rogue"
|
VALUE "LegalCopyright", "Zeno Rogue"
|
||||||
VALUE "OriginalFilename", "hyper.exe"
|
VALUE "OriginalFilename", "hyper.exe"
|
||||||
VALUE "ProductName", "HyperRogue"
|
VALUE "ProductName", "HyperRogue"
|
||||||
VALUE "ProductVersion", "10.0l"
|
VALUE "ProductVersion", "10.0m"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
6
init.cpp
6
init.cpp
@ -1,6 +1,6 @@
|
|||||||
#define VER "10.0l"
|
#define VER "10.0m"
|
||||||
#define VERNUM 10012
|
#define VERNUM 10013
|
||||||
#define VERNUM_HEX 0xA00C
|
#define VERNUM_HEX 0xA00D
|
||||||
|
|
||||||
#define GEN_M 0
|
#define GEN_M 0
|
||||||
#define GEN_F 1
|
#define GEN_F 1
|
||||||
|
@ -220,6 +220,9 @@ int isNative(eLand l, eMonster m) {
|
|||||||
case laPrairie:
|
case laPrairie:
|
||||||
return (m == moRagingBull || m == moHerdBull || m == moGadfly) ? 1 : 0;
|
return (m == moRagingBull || m == moHerdBull || m == moGadfly) ? 1 : 0;
|
||||||
|
|
||||||
|
case laAlchemy2:
|
||||||
|
return false;
|
||||||
|
|
||||||
case laCA: return false;
|
case laCA: return false;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -308,6 +311,7 @@ eItem treasureType(eLand l) {
|
|||||||
case laBull: return itBull;
|
case laBull: return itBull;
|
||||||
case laPrairie: return itGreenGrass;
|
case laPrairie: return itGreenGrass;
|
||||||
|
|
||||||
|
case laAlchemy2: return itElixir;
|
||||||
case laCA: return itNone;
|
case laCA: return itNone;
|
||||||
}
|
}
|
||||||
return itNone;
|
return itNone;
|
||||||
@ -760,6 +764,9 @@ bool landUnlocked(eLand l) {
|
|||||||
case laBull:
|
case laBull:
|
||||||
return gold() >= R90;
|
return gold() >= R90;
|
||||||
|
|
||||||
|
case laAlchemy2:
|
||||||
|
return gold() >= R30 && items[itElixir] >= U10;
|
||||||
|
|
||||||
case laCrossroads5:
|
case laCrossroads5:
|
||||||
return gold() >= R300;
|
return gold() >= R300;
|
||||||
}
|
}
|
||||||
@ -3514,7 +3521,7 @@ void setdist(cell *c, int d, cell *from) {
|
|||||||
|
|
||||||
// this fixes the following problem:
|
// this fixes the following problem:
|
||||||
// http://steamcommunity.com/app/342610/discussions/0/1470840994970724215/
|
// http://steamcommunity.com/app/342610/discussions/0/1470840994970724215/
|
||||||
if(from && d >= 7) {
|
if(!generatingEquidistant && from && d >= 7) {
|
||||||
int cdi = celldist(c);
|
int cdi = celldist(c);
|
||||||
if(celldist(from) > cdi) {
|
if(celldist(from) > cdi) {
|
||||||
forCellCM(c2, c) if(celldist(c2) < cdi) {
|
forCellCM(c2, c) if(celldist(c2) < cdi) {
|
||||||
|
63
polygons.cpp
63
polygons.cpp
@ -595,6 +595,9 @@ void drawqueue() {
|
|||||||
|
|
||||||
hpcshape
|
hpcshape
|
||||||
shFloorSide[SIDEPARS][2], shSemiFloorSide[SIDEPARS], shTriheptaSide[SIDEPARS][2], shMFloorSide[SIDEPARS][2],
|
shFloorSide[SIDEPARS][2], shSemiFloorSide[SIDEPARS], shTriheptaSide[SIDEPARS][2], shMFloorSide[SIDEPARS][2],
|
||||||
|
shFullFloor[2],
|
||||||
|
shSeabed[2], shCloudSeabed[2], shCaveSeabed[2],
|
||||||
|
shWave[8][2],
|
||||||
shFloor[2], shBFloor[2], shMFloor2[2], shMFloor3[2], shMFloor4[2],
|
shFloor[2], shBFloor[2], shMFloor2[2], shMFloor3[2], shMFloor4[2],
|
||||||
shCircleFloor,
|
shCircleFloor,
|
||||||
shFloorShadow[2], shTriheptaFloorShadow[2], shTriheptaEucShadow[3],
|
shFloorShadow[2], shTriheptaFloorShadow[2], shTriheptaEucShadow[3],
|
||||||
@ -854,6 +857,15 @@ void buildpolys() {
|
|||||||
bshape(shTriheptaFloorShadow[1], PPR_FLOOR);
|
bshape(shTriheptaFloorShadow[1], PPR_FLOOR);
|
||||||
for(int t=0; t<=S7; t++) hpcpush(ddi(t*12, sphere ? .54 : scalef*spzoom6*.5273*SHADMUL) * C0);
|
for(int t=0; t<=S7; t++) hpcpush(ddi(t*12, sphere ? .54 : scalef*spzoom6*.5273*SHADMUL) * C0);
|
||||||
|
|
||||||
|
{double x = sphere?.401:euclid?.3 : .328;
|
||||||
|
bshape(shFullFloor[0], PPR_FLOOR);
|
||||||
|
for(int t=0; t<=6; t++) hpcpush(ddi(S7 + t*S14, x) * C0);
|
||||||
|
|
||||||
|
x = purehepta ? 0.62 : sphere ? .345 : 0.38;
|
||||||
|
bshape(shFullFloor[1], PPR_FLOOR);
|
||||||
|
for(int t=0; t<=S7; t++) hpcpush(ddi(t*12, x) * C0);
|
||||||
|
}
|
||||||
|
|
||||||
bshape(shFloor[0], PPR_FLOOR);
|
bshape(shFloor[0], PPR_FLOOR);
|
||||||
for(int t=0; t<=6; t++) hpcpush(ddi(S7 + t*S14, shexf*.8*spzoom) * C0);
|
for(int t=0; t<=6; t++) hpcpush(ddi(S7 + t*S14, shexf*.8*spzoom) * C0);
|
||||||
|
|
||||||
@ -1264,6 +1276,21 @@ void buildpolys() {
|
|||||||
bshape(shHalfMirror[1], PPR_WALL, scalef*spzoom6, 328);
|
bshape(shHalfMirror[1], PPR_WALL, scalef*spzoom6, 328);
|
||||||
bshape(shHalfMirror[2], PPR_WALL, scalef*spzoom6, 332);
|
bshape(shHalfMirror[2], PPR_WALL, scalef*spzoom6, 332);
|
||||||
|
|
||||||
|
bshape(shSeabed[0], PPR_FLOOR, scalef*spzoom6, 334);
|
||||||
|
bshape(shSeabed[1], PPR_FLOOR, scalef*spzoom6, 335);
|
||||||
|
bshape(shCloudSeabed[0], PPR_FLOOR, scalef*spzoom6, 336);
|
||||||
|
bshape(shCloudSeabed[1], PPR_FLOOR, scalef*spzoom6, 337);
|
||||||
|
bshape(shCaveSeabed[0], PPR_FLOOR, scalef*spzoom6, 338);
|
||||||
|
bshape(shCaveSeabed[1], PPR_FLOOR, scalef*spzoom6, 339);
|
||||||
|
|
||||||
|
for(int i=0; i<8; i++) {
|
||||||
|
hpcshape& sh = shWave[i][1];
|
||||||
|
bshape(sh, PPR_FLOOR, scalef*spzoom6, 340);
|
||||||
|
for(int t=sh.s; t<sh.e; t++)
|
||||||
|
hpc[t] = spin(M_PI * i / (S7 * 4)) * hpc[t];
|
||||||
|
bshape(shWave[i][0], PPR_FLOOR, scalef*spzoom6, 341 + i);
|
||||||
|
}
|
||||||
|
|
||||||
bshape(shLeafFloor[0], PPR_FLOOR_DRAGON, 1*spzoom6, 313);
|
bshape(shLeafFloor[0], PPR_FLOOR_DRAGON, 1*spzoom6, 313);
|
||||||
bshape(shLeafFloor[1], PPR_FLOOR_DRAGON, 1*spzoomd7, 314);
|
bshape(shLeafFloor[1], PPR_FLOOR_DRAGON, 1*spzoomd7, 314);
|
||||||
|
|
||||||
@ -1715,12 +1742,23 @@ bool isSpecial(const hpcshape &h) {
|
|||||||
&h != &shTriheptaEuc[1];
|
&h != &shTriheptaEuc[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const hpcshape& getSeabed(const hpcshape& c) {
|
||||||
|
if(purehepta || euclid || sphere) return c;
|
||||||
|
if(&c == &shFloor[0]) return shFullFloor[0];
|
||||||
|
if(&c == &shFloor[1]) return shFullFloor[1];
|
||||||
|
if(&c == &shCaveFloor[0]) return shCaveSeabed[0];
|
||||||
|
if(&c == &shCaveFloor[1]) return shCaveSeabed[1];
|
||||||
|
if(&c == &shCloudFloor[0]) return shCloudSeabed[0];
|
||||||
|
if(&c == &shCloudFloor[1]) return shCloudSeabed[1];
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
void qfloor0(cell *c, const transmatrix& V, const hpcshape& h, int col) {
|
void qfloor0(cell *c, const transmatrix& V, const hpcshape& h, int col) {
|
||||||
extern bool wmspatial;
|
extern bool wmspatial;
|
||||||
if(chasmg == 2) ;
|
if(chasmg == 2) ;
|
||||||
else if(chasmg && wmspatial) {
|
else if(chasmg && wmspatial) {
|
||||||
if(detaillevel == 0) return;
|
if(detaillevel == 0) return;
|
||||||
queuepolyat(V,h, c->land == laCocytus ? 0x080808FF : 0x101010FF, PPR_LAKEBOTTOM);
|
queuepolyat(V, getSeabed(h), c->land == laCocytus ? 0x080808FF : 0x101010FF, PPR_LAKEBOTTOM);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
queuepoly(V,h,col);
|
queuepoly(V,h,col);
|
||||||
@ -2705,6 +2743,29 @@ NEWSHAPE, 332, 6, 2, -0.016778,-0.008267, -0.261607,-0.011992,
|
|||||||
|
|
||||||
NEWSHAPE, 333, 1, 2, 0.309841,0.030742, 0.317580,0.053457, 0.334636,0.058055, 0.348174,0.020510, 0.376877,0.022300, 0.687421,0.025648, 0.689655,0.067551, 0.764187,0.063670, 0.857074,0.041713, 0.877970,0.009947,
|
NEWSHAPE, 333, 1, 2, 0.309841,0.030742, 0.317580,0.053457, 0.334636,0.058055, 0.348174,0.020510, 0.376877,0.022300, 0.687421,0.025648, 0.689655,0.067551, 0.764187,0.063670, 0.857074,0.041713, 0.877970,0.009947,
|
||||||
|
|
||||||
|
NEWSHAPE, 334, 3, 1, -0.105576,-0.310802, -0.089088,-0.290550, -0.093680,-0.249985, -0.122644,-0.145810, -0.163610,-0.059795, -0.218747,-0.008106, -0.248163,0.025043, -0.288167,0.072185, -0.343952,0.136311, -0.334320,0.175461, -0.167285,0.005435, -0.033821,-0.070939, 0.023553,-0.057189, 0.018549,-0.042281, -0.037669,-0.048310, -0.159595,0.014100, -0.324263,0.188022, -0.292243,0.222279, -0.156865,0.105267, -0.269602,0.234419,
|
||||||
|
// 3 1 0 [000000]
|
||||||
|
NEWSHAPE, 335, 7, 1, 0.630896,-0.017243, 0.635685,-0.036640, 0.598195,-0.013808, 0.578658,0.004348, 0.518765,0.041438, 0.473213,0.052123, 0.438282,0.057356, 0.363338,0.043998, 0.319911,0.024470, 0.305024,0.010850, 0.311704,-0.028346, 0.329285,-0.092284, 0.336019,-0.135243, 0.389245,-0.255305, 0.391920,-0.305109, 0.393425,-0.394636, 0.393988,-0.421032, 0.392645,-0.461313, 0.388233,-0.488635,
|
||||||
|
|
||||||
|
NEWSHAPE, 336, 6, 1, -0.275302,-0.159499, -0.271762,-0.143824, -0.259519,-0.121154, -0.233677,-0.073572, -0.230950,-0.048375, -0.253372,-0.021090, -0.282216,0.003606, -0.312272,0.027869, -0.333611,0.051397, -0.322056,0.102122, -0.310427,0.125702, -0.289273,0.151653,
|
||||||
|
// 3 1 0 [000000]
|
||||||
|
NEWSHAPE, 337, 7, 1, -0.344613,-0.163178, -0.343328,-0.158477, -0.339398,-0.155316, -0.331625,-0.143563, -0.312189,-0.120371, -0.298918,-0.094936, -0.290925,-0.065675, -0.303772,-0.033612, -0.318623,-0.019712, -0.333911,-0.009121, -0.358867,0.006952, -0.378653,0.024361, -0.388462,0.047480, -0.384686,0.080428, -0.365524,0.120307, -0.357683,0.137712, -0.349127,0.156460,
|
||||||
|
|
||||||
|
NEWSHAPE, 338, 3, 1, -0.236647,0.182860, -0.048267,0.312652, -0.029042,0.305930, -0.008857,0.306171, 0.028203,0.314150, 0.035096,0.317705, 0.052903,0.320051, 0.074068,0.315314, 0.103117,0.308962, 0.141064,0.295765, 0.177370,0.274685, 0.212797,0.248082, 0.250462,0.198914,
|
||||||
|
// 3 1 0 [000000]
|
||||||
|
NEWSHAPE, 339, 7, 1, -0.311164,0.181794, -0.281489,0.184438, -0.224601,0.202893, -0.166641,0.244605, -0.128636,0.295175, -0.104773,0.341126, -0.103079,0.384939, -0.097144,0.419892, -0.083906,0.427485, -0.076666,0.412206,
|
||||||
|
|
||||||
|
NEWSHAPE, 340, 7, 1, 0.358115,-0.002263, 0.352245,-0.015654, 0.339277,-0.044366, 0.301027,-0.104037, 0.302282,-0.125857, 0.336188,-0.163014, 0.378199,-0.161820, 0.415940,-0.146184, 0.418836,-0.142581, 0.387934,-0.194555, 0.331182,-0.238021, 0.273850,-0.271284,
|
||||||
|
|
||||||
|
NEWSHAPE, 341, 1, 1, 0.058098,-0.184167, 0.043764,-0.193521, 0.030120,-0.205230, 0.062927,-0.201718, 0.085161,-0.207060, 0.103674,-0.214608, 0.119223,-0.223616, 0.129906,-0.266195, 0.124486,-0.282176, 0.070902,-0.310435, -0.020955,-0.372622, -0.046676,-0.402829, -0.083152,-0.396295, -0.125465,-0.373796, -0.149041,-0.292258, -0.123746,-0.212687, -0.154293,-0.114741, -0.205826,-0.089865, -0.236903,-0.086544, -0.188542,0.041769, -0.189476,0.058860, -0.192794,0.076530, -0.206156,0.046363, -0.221900,0.029778, -0.237693,0.017520, -0.253269,0.008558, -0.295485,0.020596, -0.306615,0.033280, -0.304296,0.093815, -0.312223,0.204459, -0.325522,0.241837, -0.301626,0.270159, -0.260984,0.295554, -0.178582,0.275202, -0.122319,0.213511, -0.022222,0.190992, 0.025088,0.223183, 0.043502,0.248436, 0.130444,0.142398, 0.145712,0.134661, 0.162674,0.128700, 0.143229,0.155355, 0.136739,0.177282, 0.134019,0.197088, 0.134046,0.215058, 0.165579,0.245599, 0.182129,0.248896, 0.233394,0.216620, 0.333178,0.168163, 0.372198,0.160992, 0.384778,0.126136, 0.386449,0.078242, 0.327623,0.017056, 0.246065,-0.000824, 0.176515,-0.076251, 0.180738,-0.133318, 0.193401,-0.161892, 0.058098,-0.184167,
|
||||||
|
NEWSHAPE, 342, 1, 1, 0.085922,-0.170851, 0.094684,-0.178713, 0.111076,-0.179370, 0.126675,-0.183798, 0.152543,-0.203864, 0.159822,-0.219394, 0.158645,-0.253717, 0.151002,-0.264105, 0.099747,-0.278812, 0.046291,-0.301056, 0.001653,-0.327469, -0.024257,-0.346115, -0.052036,-0.374799, -0.074384,-0.388585, -0.100523,-0.395273, -0.130621,-0.374380, -0.147379,-0.344657, -0.158388,-0.304821, -0.148369,-0.279439, -0.119203,-0.194952, -0.129525,-0.133964, -0.153101,-0.109438, -0.181621,-0.090898, -0.223761,-0.104234, -0.191091,-0.043735, -0.182715,-0.018133, -0.190922,0.011015, -0.202112,0.007358, -0.210877,-0.006510, -0.222511,-0.017805, -0.252823,-0.030174, -0.269912,-0.028713, -0.299048,-0.010532, -0.304223,0.001281, -0.291332,0.053023, -0.283868,0.110439, -0.284423,0.162303, -0.287616,0.194065, -0.298567,0.232464, -0.299332,0.258711, -0.292055,0.284692, -0.258912,0.300311, -0.224792,0.299962, -0.184789,0.289579, -0.167817,0.268211, -0.109232,0.200709, -0.051254,0.179154, -0.018226,0.187308, 0.012091,0.202737, 0.021611,0.245900, 0.057670,0.187357, 0.075654,0.167302, 0.105000,0.159836, 0.107428,0.171355, 0.099801,0.185880, 0.095836,0.201603, 0.100280,0.234038, 0.110090,0.248107, 0.140403,0.264249, 0.153221,0.262824, 0.191585,0.225789, 0.237577,0.190617, 0.282770,0.165166, 0.311873,0.152050, 0.350603,0.142335, 0.373716,0.129874, 0.392578,0.110581, 0.389533,0.074069, 0.372171,0.044695, 0.343177,0.015242, 0.316186,0.011228, 0.228435,-0.005757, 0.180779,-0.045190, 0.171327,-0.077870, 0.169530,-0.111839, 0.202150,-0.141666, 0.133421,-0.143622, 0.107061,-0.149169, 0.085922,-0.170851,
|
||||||
|
NEWSHAPE, 343, 1, 1, 0.123762,-0.146862, 0.148168,-0.159183, 0.171907,-0.173839, 0.194215,-0.193089, 0.194432,-0.231857, 0.182134,-0.248025, 0.118729,-0.258775, 0.010421,-0.297013, -0.053987,-0.359470, -0.067850,-0.369100, -0.094636,-0.374835, -0.116752,-0.372581, -0.136917,-0.354191, -0.147941,-0.314240, -0.129620,-0.188762, -0.137276,-0.139942, -0.169277,-0.114566, -0.218880,-0.123383, -0.206725,-0.105873, -0.189067,-0.033750, -0.211941,-0.048726, -0.236502,-0.061956, -0.264327,-0.071651, -0.298010,-0.052455, -0.305863,-0.033720, -0.283470,0.026565, -0.262431,0.139482, -0.284317,0.226489, -0.285725,0.243310, -0.277299,0.269375, -0.264289,0.287401, -0.238280,0.295669, -0.198169,0.285241, -0.098663,0.206635, -0.052555,0.188856, -0.014579,0.203881, 0.002587,0.251247, 0.011674,0.231966, 0.065305,0.180612, 0.063773,0.207909, 0.064595,0.235795, 0.070112,0.264740, 0.103578,0.284312, 0.123729,0.281745, 0.164741,0.232210, 0.252010,0.157531, 0.338304,0.132981, 0.353575,0.125790, 0.371935,0.105460, 0.381041,0.085180, 0.375197,0.058522, 0.346110,0.028999, 0.228283,-0.017873, 0.189831,-0.048914, 0.183856,-0.089315, 0.216293,-0.127864, 0.195051,-0.126093, 0.123762,-0.146862,
|
||||||
|
NEWSHAPE, 344, 1, 1, 0.176734,-0.128319, 0.183999,-0.139147, 0.224403,-0.163780, 0.239334,-0.182738, 0.230289,-0.228566, 0.217192,-0.239264, 0.096376,-0.250178, 0.041628,-0.264450, -0.012807,-0.297334, -0.043367,-0.322080, -0.108868,-0.364399, -0.136576,-0.367959, -0.150241,-0.361680, -0.162970,-0.349757, -0.155723,-0.340758, -0.143049,-0.329347, -0.136673,-0.296693, -0.139002,-0.273102, -0.137671,-0.229504, -0.129949,-0.174244, -0.118095,-0.156850, -0.112660,-0.151602, -0.127923,-0.130954, -0.158854,-0.123781, -0.190420,-0.128861, -0.206135,-0.137967, -0.222795,-0.149463, -0.206378,-0.120377, -0.199745,-0.105164, -0.199495,-0.088897, -0.212504,-0.089774, -0.254039,-0.112449, -0.277923,-0.115900, -0.313088,-0.085153, -0.315805,-0.068462, -0.264849,0.041625, -0.249834,0.096174, -0.251095,0.159758, -0.257246,0.198597, -0.261145,0.276482, -0.250374,0.302258, -0.238104,0.310953, -0.221413,0.316015, -0.217244,0.305239, -0.213698,0.288558, -0.188607,0.266709, -0.167012,0.256930, -0.129921,0.233979, -0.085925,0.199661, -0.076789,0.180698, -0.074961,0.173367, -0.049448,0.176262, -0.027770,0.199462, -0.016387,0.229339, -0.016415,0.247502, -0.018041,0.267678, -0.001061,0.238917, 0.008798,0.225566, 0.022761,0.217216, 0.028505,0.228921, 0.029636,0.276229, 0.038589,0.298638, 0.082799,0.313719, 0.098613,0.307726, 0.168473,0.208553, 0.208206,0.168276, 0.263902,0.137576, 0.300613,0.123483, 0.370013,0.087917, 0.386950,0.065701, 0.388345,0.050727, 0.384383,0.033742, 0.372967,0.035519, 0.356747,0.040789, 0.325280,0.029984, 0.306014,0.016172, 0.267592,-0.004475, 0.215874,-0.025417, 0.194884,-0.023848, 0.187621,-0.021765, 0.177371,-0.045308, 0.186624,-0.075681, 0.206807,-0.100478, 0.222550,-0.109535, 0.240836,-0.118215, 0.207439,-0.118540, 0.190947,-0.120402, 0.176734,-0.128319,
|
||||||
|
NEWSHAPE, 345, 1, 1, 0.227190,-0.112910, 0.227678,-0.122664, 0.258616,-0.141627, 0.284143,-0.179401, 0.271193,-0.219662, 0.253336,-0.228455, 0.186161,-0.226070, 0.083987,-0.230586, -0.035239,-0.293862, -0.071610,-0.335399, -0.107589,-0.345855, -0.138890,-0.318922, -0.137405,-0.245784, -0.139048,-0.174181, -0.178492,-0.141135, -0.221384,-0.154076, -0.211378,-0.140297, -0.220069,-0.135843, -0.251961,-0.153155, -0.297437,-0.156375, -0.325829,-0.125029, -0.324516,-0.105168, -0.288863,-0.048185, -0.241687,0.042558, -0.236872,0.177449, -0.254659,0.229716, -0.245725,0.266102, -0.206750,0.279743, -0.144153,0.241888, -0.081321,0.207510, -0.032980,0.225146, -0.022742,0.268762, -0.015812,0.253207, -0.007609,0.258507, -0.006655,0.294782, 0.013294,0.335776, 0.054636,0.344691, 0.071180,0.333623, 0.102702,0.274255, 0.157700,0.188028, 0.272111,0.116413, 0.326269,0.105683, 0.353314,0.079753, 0.345640,0.039179, 0.281558,0.003896, 0.220369,-0.033329, 0.211472,-0.084011, 0.244126,-0.114686, 0.227190,-0.112910,
|
||||||
|
NEWSHAPE, 346, 3, 1, -0.239730,-0.007608, -0.223885,0.067283, -0.220256,0.133782, -0.242650,0.195422, -0.253278,0.205455, -0.260377,0.171703, -0.282853,0.129264, -0.323970,0.130146, -0.298985,0.146911, -0.285820,0.188205, -0.265413,0.247080, -0.253036,0.259972, -0.219733,0.277154, -0.176198,0.277543, -0.141016,0.238755, -0.107826,0.210921, -0.064270,0.213048, -0.027789,0.236562, -0.013484,0.250322, 0.005700,0.314857, 0.015326,0.356416, 0.035962,0.374414, 0.050913,0.366903,
|
||||||
|
NEWSHAPE, 347, 3, 1, -0.224843,0.011231, -0.221774,0.155893, -0.237013,0.176616, -0.235167,0.161978, -0.233348,0.147389, -0.243466,0.116780, -0.268483,0.091378, -0.289413,0.094518, -0.303691,0.109465, -0.306027,0.164940, -0.298818,0.218829, -0.292029,0.245261, -0.240190,0.282931, -0.188317,0.284726, -0.152862,0.259042, -0.141074,0.232138, -0.099370,0.203720, -0.045785,0.208279, 0.009668,0.253588, 0.013535,0.280682, 0.018420,0.337425, 0.015783,0.401804, -0.001438,0.415925, 0.031579,0.404581, 0.041846,0.335206, 0.079240,0.235103,
|
||||||
|
NEWSHAPE, 348, 1, 1, 0.008663,-0.233609, 0.008598,-0.236670, 0.039937,-0.234457, 0.082195,-0.248873, 0.101194,-0.283516, 0.097960,-0.306736, 0.045069,-0.337983, -0.033666,-0.406661, -0.064823,-0.404114, -0.127271,-0.339591, -0.144421,-0.275485, -0.132327,-0.228734, -0.153707,-0.155774, -0.224124,-0.089714, -0.257905,-0.091799, -0.211227,-0.013730, -0.195172,0.041425, -0.206643,0.109302, -0.209261,0.110889, -0.223014,0.082642, -0.256628,0.053254, -0.296129,0.054121, -0.314621,0.068532, -0.315236,0.129961, -0.335346,0.232486, -0.317561,0.258195, -0.230459,0.280015, -0.166367,0.262815, -0.131926,0.228966, -0.058051,0.211001, 0.034367,0.238954, 0.049452,0.269252, 0.093723,0.189793, 0.133461,0.148311, 0.197980,0.124307, 0.200663,0.125781, 0.183077,0.151815, 0.174433,0.195619, 0.194935,0.229395, 0.216661,0.238204, 0.270167,0.208022, 0.369012,0.174175, 0.382384,0.145919, 0.357730,0.059576, 0.310788,0.012670, 0.264253,-0.000232, 0.211758,-0.055227, 0.189757,-0.149240, 0.208453,-0.177453, 0.117504,-0.176063, 0.061711,-0.189736, 0.008663,-0.233609,
|
||||||
|
|
||||||
NEWSHAPE
|
NEWSHAPE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user