diff --git a/html/src/app.js b/html/src/app.js
index 1119c329..7bf045de 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -1158,7 +1158,7 @@ speechSynthesis.getVoices();
json.last_login = API.currentUser.last_login;
if ($app.lastLocation.location) {
json.location = $app.lastLocation.location;
- json.$location_at = Date.parse($app.lastLocation.date);
+ json.$location_at = $app.lastLocation.date;
}
json.$online_for = API.currentUser.$online_for;
json.$offline_for = API.currentUser.$offline_for;
@@ -3770,7 +3770,10 @@ speechSynthesis.getVoices();
var wristFilter = this.sharedFeedFilters.wrist;
var notyFilter = this.sharedFeedFilters.noty;
var locationChange = false;
- while ((w < 20) || (n < 5) || ((!locationChange) && (this.hideOnPlayerJoined))) {
+ var playerCountDone = false;
+ var playerCount = 0;
+ var friendCount = 0;
+ while ((w < 20) || (n < 5) || ((!locationChange) && (this.hideOnPlayerJoined)) || !playerCountDone) {
var ctx = data[--i];
if ((i <= -1) || (ctx.created_at < bias)) {
break;
@@ -3814,6 +3817,26 @@ speechSynthesis.getVoices();
break;
}
}
+ // instance player count
+ if (ctx.type === 'Location') {
+ playerCountDone = true;
+ }
+ if ((!playerCountDone) && (ctx.type === 'OnPlayerJoined')) {
+ playerCount++;
+ if (isFriend) {
+ friendCount++;
+ }
+ }
+ if ((!playerCountDone) && (ctx.type === 'OnPlayerLeft')) {
+ playerCount--;
+ if (isFriend) {
+ friendCount--;
+ }
+ }
+ if (((ctx.type === 'OnPlayerJoined') || (ctx.type === 'OnPlayerLeft')) &&
+ (ctx.data === API.currentUser.displayName)) {
+ continue;
+ }
if ((w < 20) && (wristFilter[ctx.type]) &&
((wristFilter[ctx.type] === 'On') ||
(wristFilter[ctx.type] === 'Everyone') ||
@@ -3839,6 +3862,9 @@ speechSynthesis.getVoices();
++n;
}
}
+ this.lastLocation.playerCount = playerCount;
+ this.lastLocation.friendCount = friendCount;
+ sharedRepository.setObject('last_location', this.lastLocation);
this.sharedFeed.gameLog.wrist = wristArr;
this.sharedFeed.gameLog.noty = notyArr;
this.sharedFeed.pendingUpdate = true;
@@ -5388,9 +5414,11 @@ speechSynthesis.getVoices();
// App: gameLog
$app.data.lastLocation = {
- date: '',
+ date: 0,
location: '',
- name: ''
+ name: '',
+ playerCount: 0,
+ friendCount: 0
};
$app.data.lastLocation$ = {};
$app.data.discordActive = configRepository.getBool('discordActive');
@@ -5414,6 +5442,11 @@ speechSynthesis.getVoices();
{
prop: 'data',
value: ''
+ },
+ {
+ prop: 'data',
+ value: true,
+ filterFn: (row, filter) => row.data !== API.currentUser.displayName
}
],
tableProps: {
@@ -5441,9 +5474,11 @@ speechSynthesis.getVoices();
await gameLogService.reset();
this.gameLogTable.data = [];
this.lastLocation = {
- date: '',
+ date: 0,
location: '',
- name: ''
+ name: '',
+ playerCount: 0,
+ friendCount: 0
};
};
@@ -5468,8 +5503,6 @@ speechSynthesis.getVoices();
};
$app.methods.updateGameLog = async function () {
- var currentUserDisplayName = API.currentUser.displayName;
-
for (var gameLog of await gameLogService.poll()) {
var tableData = null;
@@ -5477,7 +5510,7 @@ speechSynthesis.getVoices();
case 'location':
if (this.isGameRunning) {
this.lastLocation = {
- date: gameLog.dt,
+ date: Date.parse(gameLog.dt),
location: gameLog.location,
name: gameLog.worldName
};
@@ -5490,9 +5523,6 @@ speechSynthesis.getVoices();
break;
case 'player-joined':
- if (currentUserDisplayName === gameLog.userDisplayName) {
- continue;
- }
tableData = {
created_at: gameLog.dt,
type: 'OnPlayerJoined',
@@ -5501,9 +5531,6 @@ speechSynthesis.getVoices();
break;
case 'player-left':
- if (currentUserDisplayName === gameLog.userDisplayName) {
- continue;
- }
tableData = {
created_at: gameLog.dt,
type: 'OnPlayerLeft',
@@ -6836,10 +6863,12 @@ speechSynthesis.getVoices();
sharedRepository.setBool('is_game_running', false);
var isGameRunningStateChange = function () {
sharedRepository.setBool('is_game_running', this.isGameRunning);
- $app.lastLocation = {
- date: '',
+ this.lastLocation = {
+ date: 0,
location: '',
- name: ''
+ name: '',
+ playerCount: 0,
+ friendCount: 0
};
if (this.isGameRunning) {
API.currentUser.$online_for = Date.now();
diff --git a/html/src/vr.js b/html/src/vr.js
index 818f8d70..00ecf47d 100644
--- a/html/src/vr.js
+++ b/html/src/vr.js
@@ -694,7 +694,14 @@ speechSynthesis.getVoices();
config: {},
isGameRunning: false,
isGameNoVR: false,
- lastLocation: {},
+ lastLocation: {
+ date: 0,
+ location: '',
+ name: '',
+ playerCount: 0,
+ friendCount: 0
+ },
+ lastLocationTimer: '',
wristFeedLastEntry: '',
notyFeedLastEntry: '',
wristFeed: [],
@@ -738,6 +745,11 @@ speechSynthesis.getVoices();
this.isGameRunning = sharedRepository.getBool('is_game_running');
this.isGameNoVR = sharedRepository.getBool('is_Game_No_VR');
this.lastLocation = sharedRepository.getObject('last_location');
+ if (this.lastLocation.date !== 0) {
+ this.lastLocationTimer = timeToText(Date.now() - this.lastLocation.date);
+ } else {
+ this.lastLocationTimer = '';
+ }
var newConfig = sharedRepository.getObject('VRConfigVars');
if (newConfig) {
if (JSON.stringify(newConfig) !== JSON.stringify(this.config)) {
@@ -810,7 +822,7 @@ speechSynthesis.getVoices();
$app.methods.updateCpuUsageLoop = async function () {
try {
var cpuUsage = await AppApi.CpuUsage();
- this.cpuUsage = cpuUsage.toFixed(2);
+ this.cpuUsage = cpuUsage.toFixed(0);
} catch (err) {
console.error(err);
}
diff --git a/html/src/vr.pug b/html/src/vr.pug
index 1adde4a8..bc7297cc 100644
--- a/html/src/vr.pug
+++ b/html/src/vr.pug
@@ -240,7 +240,7 @@ html
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| #[span.name(v-text="feed.sourceDisplayName")] has unmuted you
- .x-container
+ .x-containerbottom
div(style="display:flex;flex-direction:row")
template(v-if="devices.length")
div(v-for="device in devices" style="flex:none;text-align:center;width:64px")
@@ -280,7 +280,11 @@ html
img(v-else src="images/other_status_ready.png" style="width:32px;height:32px")
br
span {{ device[2] }}%
- .x-container
+ .x-containerbottom
+ span(style="float:right") Timer: {{ lastLocationTimer }}
+ span(style="display:inline-block") Players: {{ lastLocation.playerCount }}
+ span(style="display:inline-block;font-weight:bold") {{ lastLocation.friendCount !== 0 ? ` (${lastLocation.friendCount})` : ''}}
+ br
span(style="float:right") {{ currentTime | formatDate('YYYY-MM-DD HH:MI:SS AMPM') }}
span CPU {{ cpuUsage }}%
script(src="vr.js")
diff --git a/html/src/vr.scss b/html/src/vr.scss
index 527c7ebf..88ccff66 100644
--- a/html/src/vr.scss
+++ b/html/src/vr.scss
@@ -187,6 +187,19 @@ button {
overflow: hidden auto;
}
+.x-containerbottom {
+ padding: 0px 10px;
+ overflow: hidden;
+ font-size: 20px;
+ white-space: nowrap;
+}
+
+.x-containerbottom span {
+ padding: 0px;
+ display: block;
+ overflow: hidden;
+}
+
.x-friend-item {
box-sizing: border-box;
display: flex;