mirror of
https://github.com/marcrobledo/savegame-editors.git
synced 2025-04-24 16:35:10 +00:00
Added breed selector.
This commit is contained in:
parent
446a680de0
commit
94038488ed
35
nintendogs+cats/Sprite.txt
Normal file
35
nintendogs+cats/Sprite.txt
Normal file
@ -0,0 +1,35 @@
|
||||
// Row 1
|
||||
1 Black & Tan (German Shepher Dog)
|
||||
2 Sable (German Shepher Dog)
|
||||
3 Black & Tan (Yorkshire Terrier)
|
||||
4 Cream (Chihuahua)
|
||||
5 Red & White (Chihuahua)
|
||||
6 Tricolour (Chihuahua)
|
||||
7 Blenheim (Cavalier King Charles Spaniel)
|
||||
8 Tricolour (Cavalier King Charles Spaniel)
|
||||
9 Ruby (Cavalier King Charles Spaniel)
|
||||
10 Stable & White (Shetland Sheepdog)
|
||||
|
||||
// Row 2
|
||||
1 Bicolour (Shetland Sheepdog)
|
||||
2 Tricolour (Shetland Sheepdog)
|
||||
3 Pointed (Longhaired Cat)
|
||||
4 Bicolour (Longhaired Cat)
|
||||
5 Pointed (Oriental Cat)
|
||||
6 Smoke (Oriental Cat)
|
||||
7 Solid (Standard Cat)
|
||||
8 Tabby (Standard Cat)
|
||||
9 Spotted Tabby (Standard Cat)
|
||||
10 Calico (Standard Cat)
|
||||
|
||||
// Row 3
|
||||
1 Tricolour (Basset Hound)
|
||||
2 Lemon & White (Basset Hound)
|
||||
3 With Spots (Dalmatian)
|
||||
4 Black & White (Siberian Husky)
|
||||
5 Brow & White (Siberian Husky)
|
||||
6 Agouti & White (Siberian Husky)
|
||||
7 Black & White (French Bulldog)
|
||||
8 Brindle (French Bulldog)
|
||||
9 Fawn (French Bulldog)
|
||||
10
|
75
nintendogs+cats/dialog.css
Normal file
75
nintendogs+cats/dialog.css
Normal file
@ -0,0 +1,75 @@
|
||||
#menu[open] {
|
||||
border: 0px solid gray;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
'a b';
|
||||
grid-template-columns: auto 1fr;
|
||||
height: 100%;
|
||||
padding: unset;
|
||||
user-select: none;
|
||||
width: max-content;
|
||||
}
|
||||
|
||||
#menu-close {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#menu-content {
|
||||
grid-area: b;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#menu-content > div {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
#menu-sidebar {
|
||||
background: #e6e6e7;
|
||||
font-family: 'Open Sans',sans-serif;
|
||||
grid-area: a;
|
||||
overflow-y: scroll;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
scrollbar-width: none;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#menu-sidebar div {
|
||||
padding: 5px;
|
||||
}
|
||||
#menu-sidebar .header {
|
||||
color: gray;
|
||||
font-size:small;
|
||||
font-weight: bold;
|
||||
}
|
||||
#menu-sidebar .header:not(:first-of-type) {
|
||||
padding-top: 10px;
|
||||
}
|
||||
#menu-sidebar > div[class^="page-"] {
|
||||
text-indent: 1em;
|
||||
}
|
||||
#menu-sidebar > div[class^="page-"]:hover {
|
||||
background: #cececf;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#menu-sidebar > div[open] {
|
||||
background: #cececf;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.sprite {
|
||||
background-repeat: no-repeat;
|
||||
display: inline-block;
|
||||
height: 64px;
|
||||
margin: 5px;
|
||||
vertical-align: text-top;
|
||||
width: 64px;
|
||||
}
|
115
nintendogs+cats/dialog.js
Normal file
115
nintendogs+cats/dialog.js
Normal file
@ -0,0 +1,115 @@
|
||||
var spriteData = {
|
||||
beagle: {path: './dogs/beagle.png', row: 6},
|
||||
golden_retriever: {path: './dogs/golden_retriever.png', row: 6},
|
||||
yorkshire_terrier: {path: './dogs/yorkshire_terrier.png', row: 6},
|
||||
miniature_dachshund: {path: './dogs/miniature_dachshund.png', row: 5},
|
||||
miniature_dachshund1: {path: './dogs/miniature_dachshund.png', row: 1},
|
||||
chihuahua: {path: './dogs/chihuahua.png', row: 6},
|
||||
chihuahua1: {path: './dogs/chihuahua.png', row: 2},
|
||||
toy_poodle: {path: './dogs/toy_poodle.png', row: 5},
|
||||
toy_poodle1: {path: './dogs/toy_poodle.png', row: 1},
|
||||
shiba: {path: './dogs/shiba.png', row: 5},
|
||||
labrador_retriever: {path: './dogs/labrador_retriever.png', row: 5},
|
||||
labrador_retriever1: {path: './dogs/labrador_retriever.png', row: 1},
|
||||
spaniel: {path: './dogs/spaniel.png', row: 5},
|
||||
pug: {path: './dogs/pug.png', row: 5},
|
||||
shih_tzu: {path: './dogs/shih_tzu.png', row: 5},
|
||||
shetland_sheepdog: {path: './dogs/shetland_sheepdog.png', row: 6},
|
||||
miniature_schnauzer: {path: './dogs/miniature_schnauzer.png', row: 5},
|
||||
miniature_schnauzer1: {path: './dogs/miniature_schnauzer.png', row: 1},
|
||||
pembroke_welsh_corgi: {path: './dogs/pembroke_welsh_corgi.png', row: 6},
|
||||
miniature_pinscher: {path: './dogs/miniature_pinscher.png', row: 5},
|
||||
german_shepherd_dog: {path: './dogs/german_shepherd_dog.png', row: 6},
|
||||
jack_russell_terrier: {path: './dogs/jack_russell_terrier.png', row: 6},
|
||||
siberian_husky: {path: './dogs/siberian_husky.png', row: 6},
|
||||
boxer: {path: './dogs/boxer.png', row: 6},
|
||||
dalmatian: {path: './dogs/dalmatian.png', row: 6},
|
||||
pomeranian: {path: './dogs/pomeranian.png', row: 6},
|
||||
pomeranian1: {path: './dogs/pomeranian.png', row: 1},
|
||||
french_bulldog: {path: './dogs/french_bulldog.png', row: 5},
|
||||
cocker_spaniel: {path: './dogs/cocker_spaniel.png', row: 5},
|
||||
maltese: {path: './dogs/maltese.png', row: 6},
|
||||
great_dane: {path: './dogs/great_dane.png', row: 6},
|
||||
bull_terrier: {path: './dogs/bull_terrier.png', row: 6},
|
||||
basset_hound: {path: './dogs/basset_hound.png', row: 6},
|
||||
robo_pup: {path: './dogs/robo_pup.png', row: 5}
|
||||
}
|
||||
window.spriteData = spriteData;
|
||||
|
||||
var _writeU8 = function(variable, value) {
|
||||
tempFile.writeU8(
|
||||
SavegameEditor.Constants.PET_OFFSET[get('menu').dataset.pet]+SavegameEditor.Constants[variable],
|
||||
Number(value)
|
||||
);
|
||||
};
|
||||
|
||||
window.addEventListener('load', function() {
|
||||
'use strict';
|
||||
const btnClose = document.getElementById('menu-close'),
|
||||
menu = document.getElementById('menu'),
|
||||
sidebar = document.getElementById('menu-sidebar'),
|
||||
content = document.getElementById('menu-content');
|
||||
|
||||
var sidebar_event = function(e) {
|
||||
if (!e.target.className.startsWith('page-')) {return;}
|
||||
var old = sidebar.querySelector('div[open]');
|
||||
if (old) {
|
||||
old.removeAttribute('open');
|
||||
content.querySelector('.' + old.className).style.display = 'none';
|
||||
}
|
||||
e.target.setAttribute('open', true);
|
||||
var newContent = content.querySelector('.' + e.target.className);
|
||||
if (!newContent) {
|
||||
newContent = document.createElement('div');
|
||||
newContent.className = e.target.className;
|
||||
var offset = Number(e.target.getAttribute('image-offset'));
|
||||
var sD = spriteData[e.target.getAttribute('breed')];
|
||||
var offX = -4;
|
||||
var offY = -4 - 68*Math.ceil(offset / sD.row);
|
||||
var color = 0;
|
||||
var style = 0;
|
||||
for (var i = offset; i<offset+Number(e.target.getAttribute('image-items')); i++) {
|
||||
var ele = document.createElement('div');
|
||||
ele.style.backgroundImage = 'url(' + sD.path + ')';
|
||||
ele.className = 'sprite';
|
||||
ele.dataset.color = color;
|
||||
ele.dataset.style = style;
|
||||
ele.style.backgroundPosition = offX + 'px ' + offY + 'px';
|
||||
newContent.appendChild(ele);
|
||||
offX -= 68;
|
||||
style++;
|
||||
if (((i-offset) > 0 || sD.row === 1) && (i-offset) % sD.row == sD.row-1) {
|
||||
offX = -4;
|
||||
offY -= 68;
|
||||
color++;
|
||||
style=0;
|
||||
}
|
||||
}
|
||||
newContent.style.width = 74 * sD.row;
|
||||
content.appendChild(newContent);
|
||||
} else {
|
||||
newContent.style.removeProperty('display');
|
||||
}
|
||||
e.target.scrollIntoViewIfNeeded();
|
||||
|
||||
};
|
||||
window._sidebar_event = sidebar_event;
|
||||
sidebar.addEventListener('click', sidebar_event, false);
|
||||
content.addEventListener('click', function(e) {
|
||||
if (!e.target.className.includes('sprite')) {return;}
|
||||
var tmp = e.target.parentElement.className.match(/\d+/g);
|
||||
_writeU8('PET_BREED_OFFSET', tmp[0]);
|
||||
_writeU8('PET_BREED_VARIANT_OFFSET', tmp[1]);
|
||||
_writeU8('PET_BREED_COLOR_OFFSET', e.target.dataset.color);
|
||||
_writeU8('PET_BREED_STYLE_OFFSET',e.target.dataset.style);
|
||||
var newImage = e.target.cloneNode();
|
||||
newImage.id = 'petimage' + (Number(get('menu').dataset.pet)+1);
|
||||
document.getElementById(newImage.id).replaceWith(newImage);
|
||||
btnClose.click();
|
||||
}, false);
|
||||
btnClose.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
menu.close();
|
||||
}, false);
|
||||
sidebar_event({target: document.getElementsByClassName('page-0-0')[0]});
|
||||
}, false);
|
@ -8,8 +8,10 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
|
||||
<link rel="shortcut icon" href="favicon.png"/>
|
||||
<link type="text/css" rel="stylesheet" href="../savegame-editor.css" media="all"/>
|
||||
<link rel="stylesheet" href="./dialog.css">
|
||||
<script type="text/javascript" src="../savegame-editor.js"></script>
|
||||
<script type="text/javascript" src="./variants_dog.js"></script>
|
||||
<script type="text/javascript" src="./dialog.js"></script>
|
||||
<script type="text/javascript" src="./nintendogs+cats.js"></script>
|
||||
<script type="text/javascript"><!--
|
||||
/* service worker */
|
||||
@ -31,13 +33,7 @@
|
||||
<div class="columns c4"><input class="update-name" id="input-petX-name" type="text" class="fw" /></div>
|
||||
<div class="columns c8">Gender</div><div class="update-name columns c4" id="container-petX-gender"></div>
|
||||
<div class="columns c8">Breed</div><div class="update-name columns c4" id="container-petX-breed"></div>
|
||||
<div class="columns c8">-Variant</div><div class="update-name columns c4" id="container-petX-breed-variant"></div>
|
||||
|
||||
<div class="columns c8"><label class="update-name" for="number-petX-breed-color">Breed Color</label></div>
|
||||
<div class="columns c4"><input class="update-name" id="number-petX-breed-color" type="text" class="fw text-right" /></div>
|
||||
<div class="columns c8"><label class="update-name" for="number-petX-breed-style">Breed Style</label></div>
|
||||
<div class="columns c4"><input class="update-name" id="number-petX-breed-style" type="text" class="fw text-right" /></div>
|
||||
|
||||
<!-- Experimental
|
||||
<div class="columns c8"><label for="number-pet1-hunger">Hunger Status</label></div>
|
||||
<div class="columns c4"><input id="number-pet1-hunger" type="text" class="fw text-right" /></div>
|
||||
@ -49,6 +45,127 @@
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<dialog id="menu">
|
||||
<div id="menu-sidebar">
|
||||
<div class="header">Beagle</div>
|
||||
<div breed='beagle' image-offset="0" image-items="30" class="page-0-0">Tricolour</div>
|
||||
<div breed='beagle' image-offset="30" image-items="30" class="page-0-1">Lemon & White</div>
|
||||
<div breed='beagle' image-offset="60" image-items="31" class="page-0-2">Surprise me!</div>
|
||||
<div class="header">Golden Retriever</div>
|
||||
<div breed="golden_retriever" image-offset="0" image-items="10" class="page-1-0">Golden</div>
|
||||
<div breed="golden_retriever" image-offset="12" image-items="31" class="page-1-12">Surprise me!</div>
|
||||
<div class="header">Yorkshire Terrier</div>
|
||||
<div breed="yorkshire_terrier" image-offset="0" image-items="30" class="page-2-0">Black & Tan</div>
|
||||
<div breed="yorkshire_terrier" image-offset="30" image-items="31" class="page-2-12">Surprise me!</div>
|
||||
<div class="header">Miniature Dachshund</div>
|
||||
<div breed="miniature_dachshund1" image-offset="0" image-items="5" class="page-3-0">Red</div>
|
||||
<div breed="miniature_dachshund" image-offset="25" image-items="30" class="page-3-1">Black & Tan</div>
|
||||
<div breed="miniature_dachshund" image-offset="55" image-items="31" class="page-3-12">Surprise me!</div>
|
||||
<div class="header">Chihuahua</div>
|
||||
<div breed="chihuahua" image-offset="0" image-items="30" class="page-4-0">Cream</div>
|
||||
<div breed="chihuahua" image-offset="30" image-items="31" class="page-5-0">Red & White</div>
|
||||
<div breed="chihuahua1" image-offset="21" image-items="10" class="page-5-1">Tricolour</div>
|
||||
<div breed="chihuahua" image-offset="96" image-items="31" class="page-5-12">Surprise me!</div>
|
||||
<div class="header">Toy Poodle</div>
|
||||
<div breed='toy_poodle1' image-offset="0" image-items="6" class="page-6-0">Fluffy Muzzle</div>
|
||||
<div breed='toy_poodle1' image-offset="6" image-items="5" class="page-7-0">Clipped Muzzle</div>
|
||||
<div breed='toy_poodle' image-offset="55" image-items="31" class="page-7-12">Surprise me!</div>
|
||||
<div class="header">Shiba</div>
|
||||
<div breed='shiba' image-offset="0" image-items="30" class="page-8-0">Red & White</div>
|
||||
<div breed='shiba' image-offset="30" image-items="30" class="page-8-1">Black & Tan</div>
|
||||
<div breed='shiba' image-offset="60" image-items="61" class="page-8-12">Surprise me!</div>
|
||||
<div class="header">Labrador Retriever</div>
|
||||
<div breed='labrador_retriever1' image-offset="0" image-items="5" class="page-9-0">Yellow</div>
|
||||
<div breed='labrador_retriever1' image-offset="5" image-items="6" class="page-9-1">Black</div>
|
||||
<div breed='labrador_retriever1' image-offset="11" image-items="5" class="page-9-2">Chocolate</div>
|
||||
<div breed='labrador_retriever' image-offset="80" image-items="31" class="page-9-12">Surprise me!</div>
|
||||
<div class="header">Spaniel</div>
|
||||
<div breed='spaniel' image-offset="0" image-items="30" class="page-10-0">Blentheim</div>
|
||||
<div breed='spaniel' image-offset="0" image-items="30" class="page-10-1">Tricolour</div>
|
||||
<div breed='spaniel' image-offset="0" image-items="30" class="page-10-2">Ruby</div>
|
||||
<div breed='spaniel' image-offset="0" image-items="30" class="page-10-12">Surprise me!</div>
|
||||
<div class="header">Pug</div>
|
||||
<div breed='pug' image-offset="0" image-items="30" class="page-11-0">Silver</div>
|
||||
<div breed='pug' image-offset="30" image-items="5" class="page-11-1">Black</div>
|
||||
<div breed='pug' image-offset="35" image-items="30" class="page-11-2">Apricot</div>
|
||||
<div breed='pug' image-offset="65" image-items="31" class="page-11-12">Surprise me!</div>
|
||||
<div class="header">Shih Tzu</div>
|
||||
<div breed='shih_tzu' image-offset="0" image-items="30" class="page-12-0">Brown & White</div>
|
||||
<div breed='shih_tzu' image-offset="30" image-items="30" class="page-12-1">Brindle & White</div>
|
||||
<div breed='shih_tzu' image-offset="60" image-items="31" class="page-12-12">Surprise me!</div>
|
||||
<div class="header">Shetland Sheepdog</div>
|
||||
<div breed='shetland_sheepdog' image-offset="0" image-items="30" class="page-13-0">Sable & White</div>
|
||||
<div breed='shetland_sheepdog' image-offset="30" image-items="30" class="page-13-1">Bicolour</div>
|
||||
<div breed='shetland_sheepdog' image-offset="60" image-items="30" class="page-13-2">Tricolour</div>
|
||||
<div breed='shetland_sheepdog' image-offset="90" image-items="31" class="page-13-12">Surprise me!</div>
|
||||
<div class="header">Miniature Schnauzer</div>
|
||||
<div breed='miniature_schnauzer' image-offset="0" image-items="60" class="page-14-0">Pepper & Salt</div>
|
||||
<div breed='miniature_schnauzer1' image-offset="12" image-items="11" class="page-14-12">Surprise me!</div>
|
||||
<div class="header">Pembroke Welsh Corgi</div>
|
||||
<div breed='pembroke_welsh_corgi' image-offset="0" image-items="30" class="page-15-0">Sable & White</div>
|
||||
<div breed='pembroke_welsh_corgi' image-offset="30" image-items="30" class="page-15-1">Tricolour</div>
|
||||
<div breed='pembroke_welsh_corgi' image-offset="60" image-items="31" class="page-15-12">Surprise me!</div>
|
||||
<div class="header">Miniature Pinscher</div>
|
||||
<div breed='miniature_pinscher' image-offset="0" image-items="30" class="page-16-0">Black & Tan</div>
|
||||
<div breed='miniature_pinscher' image-offset="30" image-items="35" class="page-16-1">Red</div>
|
||||
<div breed='miniature_pinscher' image-offset="65" image-items="31" class="page-16-12">Surprise me!</div>
|
||||
<div class="header">German Shepherd Dog</div>
|
||||
<div breed='german_shepherd_dog' image-offset="0" image-items="30" class="page-17-0">Black & Tan</div>
|
||||
<div breed='german_shepherd_dog' image-offset="30" image-items="30" class="page-17-1">Sable</div>
|
||||
<div breed='german_shepherd_dog' image-offset="60" image-items="36" class="page-17-12">Surprise me!</div>
|
||||
<div class="header">Jack Russell Terrier</div>
|
||||
<div breed='jack_russell_terrier' image-offset="0" image-items="30" class="page-18-0">Lemon & White</div>
|
||||
<div breed='jack_russell_terrier' image-offset="30" image-items="30" class="page-18-1">Black & White</div>
|
||||
<div breed='jack_russell_terrier' image-offset="60" image-items="31" class="page-18-12">Surprise me!</div>
|
||||
<div class="header">Siberian Husky</div>
|
||||
<div breed='siberian_husky' image-offset="0" image-items="30" class="page-19-0">Black & White</div>
|
||||
<div breed='siberian_husky' image-offset="30" image-items="30" class="page-19-1">Brown / White</div>
|
||||
<div breed='siberian_husky' image-offset="60" image-items="30" class="page-19-2">Agouti & White</div>
|
||||
<div breed='siberian_husky' image-offset="90" image-items="31" class="page-19-12">Surprise me!</div>
|
||||
<div class="header">Boxer</div>
|
||||
<div breed='boxer' image-offset="0" image-items="30" class="page-20-0">Fawn & White</div>
|
||||
<div breed='boxer' image-offset="30" image-items="60" class="page-20-1">Brindle & White</div>
|
||||
<div breed='boxer' image-offset="90" image-items="31" class="page-20-12">Surprise me!</div>
|
||||
<div class="header">Dalmatian</div>
|
||||
<div breed='dalmatian' image-offset="0" image-items="60" class="page-21-0">With Spots</div>
|
||||
<div breed='dalmatian' image-offset="60" image-items="31" class="page-21-12">Surprise me!</div>
|
||||
<div class="header">Pomeranian</div>
|
||||
<div breed='pomeranian1' image-offset="0" image-items="5" class="page-22-0">Orange</div>
|
||||
<div breed='pomeranian' image-offset="30" image-items="30" class="page-22-1">Black & Tan</div>
|
||||
<div breed='pomeranian' image-offset="60" image-items="30" class="page-22-2">Parti-Coloured</div>
|
||||
<div breed='pomeranian' image-offset="90" image-items="31" class="page-22-12">Surprise me!</div>
|
||||
<div class="header">French Bulldog</div>
|
||||
<div breed='french_bulldog' image-offset="0" image-items="30" class="page-23-0">Black & White</div>
|
||||
<div breed='french_bulldog' image-offset="30" image-items="30" class="page-23-1">Brindle</div>
|
||||
<div breed='french_bulldog' image-offset="60" image-items="30" class="page-23-2">Fawn</div>
|
||||
<div breed='french_bulldog' image-offset="90" image-items="36" class="page-23-12">Surprise me!</div>
|
||||
<div class="header">Cocker Spaniel</div>
|
||||
<div breed='cocker_spaniel' image-offset="0" image-items="60" class="page-24-0">Parti-Coloured</div>
|
||||
<div breed='cocker_spaniel' image-offset="60" image-items="5" class="page-24-1">Red</div>
|
||||
<div breed='cocker_spaniel' image-offset="65" image-items="31" class="page-24-12">Surprise me!</div>
|
||||
<div class="header">Maltese</div>
|
||||
<div breed='maltese' image-offset="0" image-items="31" class="page-25-12">White</div>
|
||||
<div class="header">Great Dane</div>
|
||||
<div breed='great_dane' image-offset="0" image-items="30" class="page-26-0">Mantle</div>
|
||||
<div breed='great_dane' image-offset="30" image-items="30" class="page-26-1">Harlequin</div>
|
||||
<div breed='great_dane' image-offset="60" image-items="30" class="page-26-2">Fawn</div>
|
||||
<div breed='great_dane' image-offset="90" image-items="31" class="page-26-12">Surprise me!</div>
|
||||
<div class="header">Bull Terrier</div>
|
||||
<div breed='bull_terrier' image-offset="0" image-items="30" class="page-27-0">Black & White</div>
|
||||
<div breed='bull_terrier' image-offset="30" image-items="30" class="page-27-1">Brindle & White</div>
|
||||
<div breed='bull_terrier' image-offset="60" image-items="30" class="page-27-2">Red & White</div>
|
||||
<div breed='bull_terrier' image-offset="90" image-items="31" class="page-27-12">Surprise me!</div>
|
||||
<div class="header">Basset Hound</div>
|
||||
<div breed='basset_hound' image-offset="0" image-items="30" class="page-28-0">Tricolour</div>
|
||||
<div breed='basset_hound' image-offset="30" image-items="30" class="page-28-1">Lemon & White</div>
|
||||
<div breed='basset_hound' image-offset="60" image-items="31" class="page-28-12">Surprise me!</div>
|
||||
<div class="header">Robo Pup</div>
|
||||
<div breed='robo_pup' image-offset="0" image-items="21" class="page-32-0">Untitled</div>
|
||||
</div>
|
||||
<div id="menu-content">
|
||||
</div>
|
||||
<button id="menu-close">OK</button>
|
||||
</dialog>
|
||||
<!-- HEADER -->
|
||||
<div id="header">
|
||||
<div id="header-top">
|
||||
|
@ -111,18 +111,6 @@ SavegameEditor={
|
||||
_write_pet_coat:function(e){
|
||||
SavegameEditor._write_u_number(e, 16, 'PET_COAT_OFFSET');
|
||||
},
|
||||
_write_pet_breed:function(e){
|
||||
SavegameEditor._write_u_number(e, 8, 'PET_BREED_OFFSET');
|
||||
},
|
||||
_write_pet_breed_color:function(e){
|
||||
SavegameEditor._write_u_number(e, 8, 'PET_BREED_COLOR_OFFSET');
|
||||
},
|
||||
_write_pet_breed_style:function(e){
|
||||
SavegameEditor._write_u_number(e, 8, 'PET_BREED_STYLE_OFFSET');
|
||||
},
|
||||
_write_pet_breed_variant:function(e){
|
||||
SavegameEditor._write_u_number(e, 8, 'PET_BREED_VARIANT_OFFSET');
|
||||
},
|
||||
|
||||
/* check if savegame is valid */
|
||||
checkValidSavegame:function(){
|
||||
@ -137,6 +125,7 @@ SavegameEditor={
|
||||
Math.floor(Date.now() * 0.001)
|
||||
)
|
||||
var a = new Date (Number(tempFile.readU32(SavegameEditor.Constants.LASTSAVED_OFFSET)) * 1000)
|
||||
a.setHours(a.getHours() - a.getTimezoneOffset()/60);
|
||||
setValue('lastsaved', a.toLocaleString("en-GB", {
|
||||
day: "numeric",
|
||||
month: "short",
|
||||
@ -189,7 +178,6 @@ SavegameEditor={
|
||||
|
||||
setValue('money', tempFile.readU32(SavegameEditor.Constants.MONEY_OFFSET));
|
||||
setNumericRange('money', 0, 9999999);
|
||||
|
||||
var a = new Date (Number(tempFile.readU32(SavegameEditor.Constants.LASTSAVED_OFFSET)) * 1000)
|
||||
setValue('lastsaved', a.toLocaleString("en-GB", {
|
||||
day: "numeric",
|
||||
@ -197,7 +185,8 @@ SavegameEditor={
|
||||
year: "numeric",
|
||||
hour: "2-digit",
|
||||
minute: "2-digit",
|
||||
second: "2-digit"
|
||||
second: "2-digit",
|
||||
timezone: "Europe/London"
|
||||
}));
|
||||
var template = document.getElementById("template-row-pet");
|
||||
var outer_ele = document.getElementById('row-pet-outer');
|
||||
@ -218,27 +207,43 @@ SavegameEditor={
|
||||
}
|
||||
}
|
||||
outer_ele.appendChild(templateClone);
|
||||
|
||||
var dialogClassName = 'page-' +
|
||||
tempFile.readU8(SavegameEditor.Constants.PET_OFFSET[i-1]+SavegameEditor.Constants.PET_BREED_OFFSET) +
|
||||
'-' +
|
||||
tempFile.readU8(SavegameEditor.Constants.PET_OFFSET[i-1]+SavegameEditor.Constants.PET_BREED_VARIANT_OFFSET);
|
||||
const dialogEle = document.getElementsByClassName(
|
||||
dialogClassName
|
||||
)[0];
|
||||
|
||||
window._sidebar_event({
|
||||
target: dialogEle
|
||||
});
|
||||
var breedImg = document
|
||||
.getElementById('menu-content')
|
||||
.getElementsByClassName(dialogClassName)[0]
|
||||
.querySelector('div[data-color="' + tempFile.readU8(SavegameEditor.Constants.PET_OFFSET[i-1]+SavegameEditor.Constants.PET_BREED_COLOR_OFFSET) + '"][data-style="' + tempFile.readU8(SavegameEditor.Constants.PET_OFFSET[i-1]+SavegameEditor.Constants.PET_BREED_STYLE_OFFSET) + '"]')
|
||||
.cloneNode();
|
||||
breedImg.id='petimage'+i;
|
||||
get('container-pet' + i + '-breed').appendChild(breedImg);
|
||||
|
||||
var dialogbtn = document.createElement('button');
|
||||
dialogbtn.dataset.pet = i - 1;
|
||||
dialogbtn.onclick = function(e) {
|
||||
e.preventDefault()
|
||||
get('menu').dataset.pet = e.target.dataset.pet;
|
||||
get('menu').showModal();
|
||||
window._sidebar_event({
|
||||
target: dialogEle
|
||||
});
|
||||
};
|
||||
dialogbtn.innerText = 'Change';
|
||||
get('container-pet' + i + '-breed').appendChild(dialogbtn);
|
||||
|
||||
get('container-pet' + i + '-breed').appendChild(select('pet' + i + '-breed', SavegameEditor.Constants.PET_BREEDS, SavegameEditor._write_pet_breed));
|
||||
get('container-pet' + i + '-gender').appendChild(select('pet' + i + '-gender', SavegameEditor.Constants.GENDERS, SavegameEditor._write_pet_gender));
|
||||
|
||||
getField('select-pet' + i + '-gender').removeAttribute('disabled');
|
||||
getField('select-pet' + i + '-breed').removeAttribute('disabled');
|
||||
get('container-pet' + i + '-breed').addEventListener('change', function() {
|
||||
var reset_dummy = {
|
||||
target: {
|
||||
id: 'select-pet'+i+'-breed-variant'
|
||||
}
|
||||
}
|
||||
var cpbv = get('container-pet'+i+'-breed-variant')
|
||||
cpbv.innerText = '';
|
||||
cpbv.appendChild(select('pet'+i+'-breed-variant', window.variants.dog.breeds[SavegameEditor.Constants.PET_BREEDS[getField('pet1-breed').selectedIndex].variant], SavegameEditor._write_pet_breed_variant));
|
||||
SavegameEditor._write_pet_breed_variant(reset_dummy);
|
||||
});
|
||||
|
||||
setValue('pet' + i + '-name', tempFile.readU16String(SavegameEditor.Constants.PET_OFFSET[i-1]+SavegameEditor.Constants.PET_NAME_OFFSET, 10));
|
||||
setValue('pet' + i + '-gender', tempFile.readU8(SavegameEditor.Constants.PET_OFFSET[i-1]+SavegameEditor.Constants.PET_GENDER_OFFSET));
|
||||
setValue('pet' + i + '-breed', tempFile.readU8(SavegameEditor.Constants.PET_OFFSET[i-1]+SavegameEditor.Constants.PET_BREED_OFFSET));
|
||||
get('input-pet' + i + '-name').addEventListener('change', SavegameEditor._write_pet_name);
|
||||
|
||||
// Experimental
|
||||
@ -254,9 +259,6 @@ SavegameEditor={
|
||||
get('number-pet' + i + '-coat').addEventListener('change', SavegameEditor._write_pet_coat);
|
||||
*/
|
||||
}
|
||||
|
||||
get('number-pet1-breed-color').addEventListener('change', SavegameEditor._write_pet_breed_color);
|
||||
get('number-pet1-breed-style').addEventListener('change', SavegameEditor._write_pet_breed_style);
|
||||
},
|
||||
|
||||
/* save function */
|
||||
|
Loading…
x
Reference in New Issue
Block a user