1
0
Fork 0
mirror of https://github.com/Acamaeda/The-Modding-Tree.git synced 2025-05-10 03:51:33 +00:00

Added small screen support and OOM display

This commit is contained in:
Harley White 2021-05-06 15:45:03 -04:00
parent 5ed897bd7b
commit cbb303c21b
8 changed files with 70 additions and 21 deletions

View file

@ -407,8 +407,9 @@ var interval = setInterval(function() {
if (needCanvasUpdate){ resizeCanvas();
needCanvasUpdate = false;
}
tmp.scrolled = document.getElementById('treeTab').scrollTop > 30
tmp.scrolled = document.getElementById('treeTab') && document.getElementById('treeTab').scrollTop > 30
updateTemp();
updateOther(diff);
gameLoop(diff)
fixNaNs()
adjustPopupTime(0.05)

View file

@ -106,7 +106,7 @@ var systemComponents = {
<h2 class="overlayThing" id="points">{{format(player.points)}}</h2>
<span v-if="player.points.lt('1e1e6')" class="overlayThing"> {{modInfo.pointsName}}</span>
<br>
<span v-if="canGenPoints()" class="overlayThing">({{format(getPointGen())}}/sec)</span>
<span v-if="canGenPoints()" class="overlayThing">({{tmp.other.oompsMag != 0 ? format(tmp.other.oomps) + " OOM" + (tmp.other.oompsMag < 0 ? "^OOM" : tmp.other.oompsMag > 1 ? "^" + tmp.other.oompsMag : "") + "s" : format(getPointGen())}}/sec)</span>
<div v-for="thing in tmp.displayThings" class="overlayThing"><span v-if="thing" v-html="thing"></span></div>
</div>
`

View file

@ -38,6 +38,13 @@ function setupTemp() {
setupBarStyles(layer)
setupBuyables(layer)
}
tmp.other = {
screenWidth: window.innerWidth,
lastPoints: player.points || new Decimal(0),
oomps: new Decimal(0),
}
temp = tmp
}
@ -94,7 +101,6 @@ function updateTemp() {
if (isFunction(text)) text = text()
tmp.displayThings.push(text)
}
}
function updateTempData(layerData, tmpData, funcsData) {
@ -206,4 +212,40 @@ function setupBuyables(layer) {
}
}
}
}
function updateOther(diff) {
tmp.other.oompsMag = 0
if (player.points.lte(new Decimal(1e100))) return
var pp = new Decimal(player.points);
var lp = tmp.other.lastPoints || new Decimal(0);
if (pp.gt(lp)) {
if (pp.gte("10^^8")) {
pp = pp.slog(1e10)
lp = lp.slog(1e10)
tmp.other.oomps = pp.sub(lp).div(diff)
tmp.other.oompsMag = -1;
} else {
while (pp.div(lp).log(10).div(diff).gte("100") && tmp.other.oompsMag <= 5 && lp.gt(0)) {
pp = pp.log(10)
lp = lp.log(10)
tmp.other.oomps = pp.sub(lp).div(diff)
tmp.other.oompsMag++;
}
}
}
var screenWidth = window.innerWidth
var splitScreen = screenWidth >= 1024
if (player.splitMode === "disabled") splitScreen = false
if (player.splitMode === "enabled") splitScreen = true
tmp.other = {
screenWidth: screenWidth,
splitScreen: splitScreen,
lastPoints: player.points,
oomps: tmp.other.oomps,
oompsMag: tmp.other.oompsMag,
}
}

View file

@ -283,6 +283,7 @@ function layerunlocked(layer) {
function keepGoing() {
player.keepGoing = true;
needCanvasUpdate = true;
goBack()
}
function toNumber(x) {
@ -348,7 +349,6 @@ document.onkeydown = function (e) {
if (ctrlDown && hotkeys[key]) e.preventDefault()
if (hotkeys[key]) {
let k = hotkeys[key]
console.log(tmp[k.layer].hotkeys)
if (player[k.layer].unlocked && tmp[k.layer].hotkeys[k.id].unlocked)
k.onPress()
}

View file

@ -21,7 +21,7 @@ function startPlayerBase() {
showStory: true,
points: modInfo.initialStartPoints,
subtabs: {},
lastSafeTab: (layoutInfo.showTree ? "none" : layoutInfo.startTab)
lastSafeTab: (readData(layoutInfo.showTree) ? "none" : layoutInfo.startTab)
};
}
function getStartPlayer() {