Skip to content

Commit

Permalink
Merge branch 'moddio:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
LL-10 authored May 29, 2024
2 parents d97cce4 + 7061772 commit dd557ca
Show file tree
Hide file tree
Showing 9 changed files with 97 additions and 56 deletions.
11 changes: 4 additions & 7 deletions engine/core/TaroEngine.js
Original file line number Diff line number Diff line change
Expand Up @@ -2226,10 +2226,7 @@ var TaroEngine = TaroEntity.extend({
let index = -1;
if (type === 'top') {
index = tilesets.findIndex((tilesheet) => {
return (
(tilesheet.name === 'tilesheet_complete' || tilesheet.name === 'tilesheet') &&
(tilesheet.type === undefined || tilesheet.type === 'top')
);
return tilesheet.type === undefined || tilesheet.type === 'top';
});
} else {
index = tilesets.findIndex((tilesheet) => {
Expand Down Expand Up @@ -2286,14 +2283,14 @@ var TaroEngine = TaroEntity.extend({
},

escapeHtml(input) {
return input.replace(/[&<"'>]/g, function(m) {
return input.replace(/[&<"'>]/g, function (m) {
switch (m) {
case '&':
return '&amp;';
case '<':
return '&lt;';
case '>':
return '&gt;'
return '&gt;';
case '"':
return '&quot;';
default:
Expand All @@ -2302,7 +2299,7 @@ var TaroEngine = TaroEntity.extend({
});
},

is3D () {
is3D() {
return taro.game.data.defaultData.defaultRenderer === '3d';
},
});
Expand Down
8 changes: 8 additions & 0 deletions engine/core/TaroEntity.js
Original file line number Diff line number Diff line change
Expand Up @@ -4434,6 +4434,14 @@ var TaroEntity = TaroObject.extend({
this.quests = newValue;
} else {
Object.entries(newValue).map(([questId, v], idx) => {
if (v.removed === true) {
if (this.quests.active[gameId][questId] !== undefined) {
delete this.quests.active[gameId][questId];
}
this.quests.completed[gameId].filter((id) => id !== questId);

return;
}
if (v.completed === true) {
delete this.quests.active[gameId][questId];
this.quests.completed[gameId].push(questId);
Expand Down
7 changes: 6 additions & 1 deletion src/gameClasses/components/MobileControlsComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,12 @@ var MobileControlsComponent = TaroEntity.extend({
// append joystick to the gamediv element
let gameDiv = document.getElementById('default-ingame-ui-container');
// make first child of gameDiv
gameDiv.insertBefore(joystickZone, gameDiv.firstChild);
// check if standalone
if (window.isStandalone) {
document.body.append(joystickZone);
} else {
gameDiv.insertBefore(joystickZone, gameDiv.firstChild);
}

// calculate joystick position based on x and y coordinates
const [xPercentage, yPercentage] = [
Expand Down
20 changes: 12 additions & 8 deletions src/gameClasses/components/quest/QuestComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,23 @@ var QuestComponent = TaroEntity.extend({
var self = this;
var gameId = taro.game.data.defaultData._id;
var questObj = self._entity.quests;
if (
taro.isServer &&
(questObj.active[gameId][questId] !== undefined || questObj.completed[gameId].includes(questId))
) {
self._entity.streamUpdateData([
{
quests: {
[questId]: { removed: true },
},
},
]);
}
if (questObj.active[gameId][questId] !== undefined) {
delete questObj.active[gameId][questId];
}
var questObj = self._entity.quests;
if (questObj.completed[gameId].includes(questId)) {
questObj.completed[gameId] = questObj.completed[gameId].filter((v) => v !== questId);
if (taro.isServer) {
self._entity.streamUpdateData([
{
quests: questId,
},
]);
}
}
},

Expand Down
59 changes: 39 additions & 20 deletions src/gameClasses/components/script/ActionComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -923,7 +923,13 @@ var ActionComponent = TaroEntity.extend({
taro.workerComponent.saveUserData(userId, persistedData, null, 'savePlayerData', isGuestUser);
} else {
// save player data only
taro.workerComponent.saveUserData(userId, persistedData.player, 'player', 'savePlayerData', isGuestUser);
taro.workerComponent.saveUserData(
userId,
persistedData.player,
'player',
'savePlayerData',
isGuestUser
);

if (unit && !unit.persistentDataLoaded) {
throw new Error('Fail saving unit data bcz persisted data not loaded correctly');
Expand Down Expand Up @@ -1202,35 +1208,48 @@ var ActionComponent = TaroEntity.extend({
case 'removeQuestForPlayer':
var player = self._script.param.getValue(action.player, vars);
var questId = self._script.param.getValue(action.questId, vars);
player.quest.removeQuest(questId);
var gameId = taro.game.data.defaultData._id;
if (
player.quests.active[gameId][questId] !== undefined ||
player.quests.completed[gameId].includes(questId) === true
) {
player.quest.removeQuest(questId);

taro.game.lastTriggeringQuestId = questId;
var triggeredBy = {};
if (selectedUnit && selectedUnit.script) {
triggeredBy.unitId = selectedUnit.id();
selectedUnit.script.trigger('questRemoved', triggeredBy);
taro.game.lastTriggeringQuestId = questId;
var triggeredBy = {};
if (selectedUnit && selectedUnit.script) {
triggeredBy.unitId = selectedUnit.id();
selectedUnit.script.trigger('questRemoved', triggeredBy);
}
triggeredBy.playerId = player.id();
taro.script.trigger('questRemoved', triggeredBy);
// console.log('addQuest', JSON.stringify(player.quests));
}
triggeredBy.playerId = player.id();
taro.script.trigger('questRemoved', triggeredBy);
// console.log('addQuest', JSON.stringify(player.quests));

break;

case 'addQuestToPlayer':
var player = self._script.param.getValue(action.player, vars);
var questId = self._script.param.getValue(action.questId, vars);
var name = self._script.param.getValue(action.name, vars);
var gameId = taro.game.data.defaultData._id;
var goal = self._script.param.getValue(action.goal, vars);
var description = self._script.param.getValue(action.description, vars);
player.quest.addQuest(questId, { name, description, goal, progress: 0 });
taro.game.lastTriggeringQuestId = questId;
var triggeredBy = {};
if (selectedUnit && selectedUnit.script) {
triggeredBy.unitId = selectedUnit.id();
selectedUnit.script.trigger('questAdded', triggeredBy);
}
triggeredBy.playerId = player.id();
taro.script.trigger('questAdded', triggeredBy);
// console.log('addQuest', JSON.stringify(player.quests));
if (
player.quests.active[gameId][questId] === undefined &&
player.quests.completed[gameId].includes(questId) === false
) {
player.quest.addQuest(questId, { name, description, goal, progress: 0 });
taro.game.lastTriggeringQuestId = questId;
var triggeredBy = {};
if (selectedUnit && selectedUnit.script) {
triggeredBy.unitId = selectedUnit.id();
selectedUnit.script.trigger('questAdded', triggeredBy);
}
triggeredBy.playerId = player.id();
taro.script.trigger('questAdded', triggeredBy);
// console.log('addQuest', JSON.stringify(player.quests));
}
break;

case 'completeQuest':
Expand Down
19 changes: 11 additions & 8 deletions src/index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.contextMenu.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.ui.position.min.js"></script>

<!-- Nipple JS -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/nipplejs.min.js"></script>

<!-- Bootstrap -->
<!-- https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js -->
<!-- <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script> -->
Expand Down Expand Up @@ -153,14 +156,14 @@
style="z-index: 1; position: absolute; width: 100%; height: 100%; pointer-events: none;"></div>

<%- include('templates/dev-console'); -%>
<%- include('templates/game-editor'); -%>
<%- include('templates/menu'); -%>
<%- include('templates/shop'); -%>
<%- include('templates/gui'); -%>
<%- include('templates/chat'); -%>
<%- include('templates/inventory'); -%>
<%- include('templates/dialogue'); -%>
<%- include('templates/trade'); -%>
<%- include('templates/game-editor'); -%>
<%- include('templates/menu'); -%>
<%- include('templates/shop'); -%>
<%- include('templates/gui'); -%>
<%- include('templates/chat'); -%>
<%- include('templates/inventory'); -%>
<%- include('templates/dialogue'); -%>
<%- include('templates/trade'); -%>
</div>
<%- include('templates/videochat.ejs'); -%>

Expand Down
4 changes: 4 additions & 0 deletions ts/src/renderer/three/AssetManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,10 @@ namespace Renderer {
return (this.textures.get(name) as THREE.Texture) || placeholderTex;
}

getTextureWithoutPlaceholder(name: string) {
return this.textures.get(name) as THREE.Texture;
}

getTexturesContaining(name: string) {
const textures: THREE.Texture[] = [];
for (const [key, value] of this.textures) {
Expand Down
13 changes: 7 additions & 6 deletions ts/src/renderer/three/Renderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -574,9 +574,9 @@ namespace Renderer {
}
if (this.entityManager.initEntities.length === 0) {
// create images for entities created in initialize script
Object.values(taro.game.data.scripts).forEach((script) => {
Object.values(taro?.game?.data?.scripts ?? {}).forEach((script) => {
if (script.triggers?.[0]?.type === 'gameStart') {
Object.values(script.actions).forEach((action) => {
Object.values(script?.actions ?? {}).forEach((action) => {
this.createInitEntity(action);
});
}
Expand Down Expand Up @@ -637,9 +637,9 @@ namespace Renderer {
});

const taroEntities = [
...Object.values(data.unitTypes),
...Object.values(data.projectileTypes),
...Object.values(data.itemTypes),
...Object.values(data?.unitTypes ?? {}),
...Object.values(data?.projectileTypes ?? {}),
...Object.values(data?.itemTypes ?? {}),
];

for (const taroEntity of taroEntities) {
Expand All @@ -651,13 +651,14 @@ namespace Renderer {
AnimationManager.instance().createAnimationsFromTaroData(url, taroEntity);
}

for (const taroEntity of Object.values(data.particleTypes)) {
for (const taroEntity of Object.values(data?.particleTypes ?? {})) {
const key = taroEntity.url;
sources.push({ name: `particle/${key}`, type: 'texture', src: Utils.patchAssetUrl(key) });
}

const skyboxFacesUrls = taro.game.data.settings.skybox;
for (const key in skyboxFacesUrls) {
if (!skyboxFacesUrls[key]) continue;
sources.push({ name: key, type: 'texture', src: skyboxFacesUrls[key] });
}

Expand Down
12 changes: 6 additions & 6 deletions ts/src/renderer/three/Skybox.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ namespace Renderer {
}

private createMaterialArray() {
const left = gAssetManager.getTexture('left');
const right = gAssetManager.getTexture('right');
const top = gAssetManager.getTexture('top');
const bottom = gAssetManager.getTexture('bottom');
const front = gAssetManager.getTexture('front');
const back = gAssetManager.getTexture('back');
const left = gAssetManager.getTextureWithoutPlaceholder('left');
const right = gAssetManager.getTextureWithoutPlaceholder('right');
const top = gAssetManager.getTextureWithoutPlaceholder('top');
const bottom = gAssetManager.getTextureWithoutPlaceholder('bottom');
const front = gAssetManager.getTextureWithoutPlaceholder('front');
const back = gAssetManager.getTextureWithoutPlaceholder('back');

if (!(left && right && top && bottom && front && back)) {
return [];
Expand Down

0 comments on commit dd557ca

Please sign in to comment.