docs: mobile optimize docs portal, support videos, better gallery features (#1099)
* docs: quick update of readme and windows screenshots for vs 2022 * update the docs portal to be better on mobile, support videos, and better gallery * docs: re-generate site
51
.github/scripts/update-gallery.py
vendored
|
@ -1,25 +1,55 @@
|
||||||
import glob
|
import glob
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import datetime
|
import json
|
||||||
|
|
||||||
galleryLinks = {
|
galleryLinks = {
|
||||||
'jak1': [],
|
'jak1': {
|
||||||
'jak2': [],
|
'name': "Jak 1",
|
||||||
'jak3': [],
|
'media': [],
|
||||||
'jakx': [],
|
},
|
||||||
'misc': []
|
'jak2': {
|
||||||
|
'name': "Jak 2",
|
||||||
|
'media': [],
|
||||||
|
},
|
||||||
|
'jak3': {
|
||||||
|
'name': "Jak 3",
|
||||||
|
'media': [],
|
||||||
|
},
|
||||||
|
'jakx': {
|
||||||
|
'name': "Jak X",
|
||||||
|
'media': [],
|
||||||
|
},
|
||||||
|
'misc': {
|
||||||
|
'name': "Miscellaneous",
|
||||||
|
'media': [],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_links(key, folder_to_search):
|
def get_links(key, folder_to_search):
|
||||||
if os.path.isdir(folder_to_search):
|
if os.path.isdir(folder_to_search):
|
||||||
files = [f for f in glob.glob(folder_to_search + "/*.*", recursive=True)]
|
files = glob.glob(folder_to_search + "/*.png", recursive=True)
|
||||||
|
files.extend(glob.glob(folder_to_search + "/*.jpg", recursive=True))
|
||||||
|
files.extend(glob.glob(folder_to_search + "/*.jpeg", recursive=True))
|
||||||
for f in files:
|
for f in files:
|
||||||
galleryLinks[key].append({
|
galleryLinks[key]["media"].append({
|
||||||
'fileName': os.path.basename(f),
|
'fileName': os.path.basename(f),
|
||||||
'lastModified': datetime.datetime.fromtimestamp(os.path.getmtime(f)).isoformat(),
|
'timestamp': Path(f).stem.split("_")[1],
|
||||||
'caption': Path(f).stem.replace("-", " ").title()
|
'caption': Path(f).stem.split("_")[0].replace("-", " ").title(),
|
||||||
|
'video': False
|
||||||
})
|
})
|
||||||
|
# get videos potentially
|
||||||
|
if os.path.exists("{}/videos.json".format(folder_to_search)):
|
||||||
|
with open("{}/videos.json".format(folder_to_search), 'r') as f:
|
||||||
|
data = json.load(f)
|
||||||
|
for video in data:
|
||||||
|
galleryLinks[key]["media"].append({
|
||||||
|
'link': video["link"].replace("watch?v=", "embed/"),
|
||||||
|
'timestamp': video["timestamp"],
|
||||||
|
'video': True
|
||||||
|
})
|
||||||
|
# sort by timestamp
|
||||||
|
galleryLinks[key]["media"].sort(key=lambda x: x["timestamp"], reverse=True)
|
||||||
|
|
||||||
get_links('jak1', './docs/gh-pages-proj/src/assets/gallery/jak1')
|
get_links('jak1', './docs/gh-pages-proj/src/assets/gallery/jak1')
|
||||||
get_links('jak2', './docs/gh-pages-proj/src/assets/gallery/jak2')
|
get_links('jak2', './docs/gh-pages-proj/src/assets/gallery/jak2')
|
||||||
|
@ -27,7 +57,6 @@ get_links('jak3', './docs/gh-pages-proj/src/assets/gallery/jak3')
|
||||||
get_links('jakx', './docs/gh-pages-proj/src/assets/gallery/jakx')
|
get_links('jakx', './docs/gh-pages-proj/src/assets/gallery/jakx')
|
||||||
get_links('misc', './docs/gh-pages-proj/src/assets/gallery/misc')
|
get_links('misc', './docs/gh-pages-proj/src/assets/gallery/misc')
|
||||||
|
|
||||||
import json
|
|
||||||
with open('./docs/gh-pages-proj/src/config/gallery.json', 'r+', encoding='utf-8') as f:
|
with open('./docs/gh-pages-proj/src/config/gallery.json', 'r+', encoding='utf-8') as f:
|
||||||
f.seek(0)
|
f.seek(0)
|
||||||
json.dump(galleryLinks, f, ensure_ascii=False, indent=2)
|
json.dump(galleryLinks, f, ensure_ascii=False, indent=2)
|
||||||
|
|
36
README.md
|
@ -18,15 +18,20 @@
|
||||||
|
|
||||||
- [Table of Contents](#table-of-contents)
|
- [Table of Contents](#table-of-contents)
|
||||||
- [Project Description](#project-description)
|
- [Project Description](#project-description)
|
||||||
|
- [Current Status](#current-status)
|
||||||
|
- [What's Next](#whats-next)
|
||||||
- [Getting Started - Linux (Ubuntu)](#getting-started---linux-ubuntu)
|
- [Getting Started - Linux (Ubuntu)](#getting-started---linux-ubuntu)
|
||||||
- [Getting Started - Linux (Arch)](#getting-started---linux-arch)
|
- [Getting Started - Linux (Arch)](#getting-started---linux-arch)
|
||||||
- [Getting Started - Nixpkgs](#getting-started---nixpkgs)
|
- [Getting Started - Nixpkgs](#getting-started---nixpkgs)
|
||||||
- [Getting Started - Windows](#getting-started---windows)
|
- [Getting Started - Windows](#getting-started---windows)
|
||||||
|
- [Building and Running the Game](#building-and-running-the-game)
|
||||||
|
- [Extract Assets](#extract-assets)
|
||||||
|
- [Build Game](#build-game)
|
||||||
|
- [Run Game](#run-game)
|
||||||
- [Project Layout](#project-layout)
|
- [Project Layout](#project-layout)
|
||||||
- [Directory Layout](#directory-layout)
|
- [Directory Layout](#directory-layout)
|
||||||
- [More Documentation](#more-documentation)
|
- [On Windows / Visual Studio](#on-windows--visual-studio)
|
||||||
- [ASan Build](#asan-build)
|
|
||||||
- [On Windows / Visual Studio](#on-windows--visual-studio)
|
|
||||||
<!-- tocstop -->
|
<!-- tocstop -->
|
||||||
|
|
||||||
## Project Description
|
## Project Description
|
||||||
|
@ -45,8 +50,7 @@ Our objectives are:
|
||||||
|
|
||||||
We support both Linux and Windows on x86-64.
|
We support both Linux and Windows on x86-64.
|
||||||
|
|
||||||
We have a Discord server where we discuss development.
|
We have a Discord server where we discuss development. https://discord.gg/BVEHQmm8
|
||||||
https://discord.gg/BVEHQmm8
|
|
||||||
|
|
||||||
## Current Status
|
## Current Status
|
||||||
So far, we've decompiled around 341,233 lines of GOAL code, out of an estimated 500,000 total lines and we've started work on an OpenGL renderer. Currently, the main display process (`*dproc*`) runs and sends data to our renderer. We can load textures, text files, and level files. Using keyboard controls, we can open the debug menu and turn on some simple debug visualizations.
|
So far, we've decompiled around 341,233 lines of GOAL code, out of an estimated 500,000 total lines and we've started work on an OpenGL renderer. Currently, the main display process (`*dproc*`) runs and sends data to our renderer. We can load textures, text files, and level files. Using keyboard controls, we can open the debug menu and turn on some simple debug visualizations.
|
||||||
|
@ -142,14 +146,16 @@ nix-build -A packages.x86_64-linux.jak-asan # package with Clang ASan build
|
||||||
|
|
||||||
## Getting Started - Windows
|
## Getting Started - Windows
|
||||||
|
|
||||||
Install Visual Studio 2019 and get the C++ and CMake tools via the Visual Studio Installer
|
Install Visual Studio 2022 and get the `Desktop development with C++` workload during the installation process.
|
||||||
|
|
||||||
|
> if you already have visual studio and don't have this installed - open your `Visual Studio Installer` and modify the installation
|
||||||
|
|
||||||
On Windows, it's recommended to get Scoop to use as a package manager, making the follow steps _much_ easier. Follow the steps on the bottom of the homepage here https://scoop.sh/
|
On Windows, it's recommended to get Scoop to use as a package manager, making the follow steps _much_ easier. Follow the steps on the bottom of the homepage here https://scoop.sh/
|
||||||
|
|
||||||
Once Scoop is installed, run the following command:
|
Once Scoop is installed, run the following command:
|
||||||
|
|
||||||
```ps1
|
```sh
|
||||||
scoop install llvm nasm
|
scoop install git llvm nasm
|
||||||
```
|
```
|
||||||
|
|
||||||
Initialize the repository's third-party dependencies:
|
Initialize the repository's third-party dependencies:
|
||||||
|
@ -158,17 +164,13 @@ Initialize the repository's third-party dependencies:
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
```
|
```
|
||||||
|
|
||||||
Open the project as a CMake project, browse for the root level `CMakeLists.txt`:
|
Open the project as a CMake project.
|
||||||
|
|
||||||
![](./docs/markdown/imgs/open-cmake-vs.png)
|
![](./docs/markdown/imgs/windows/open-project.png)
|
||||||
|
|
||||||
In the toolbar, you should be able to select an individual component to compile, or combine within the root CMakeLists.txt. In the future we will pre-define configurations to make this easier.
|
Then build the entire project
|
||||||
|
|
||||||
![](./docs/markdown/imgs/cmake-build-vs.png)
|
![](./docs/markdown/imgs/windows/build-all.png)
|
||||||
|
|
||||||
You may also wish to view the files that pertain to each CMake target, rather than the project as it is normally:
|
|
||||||
|
|
||||||
![](./docs/markdown/imgs/cmake-target-view.png)
|
|
||||||
|
|
||||||
## Building and Running the Game
|
## Building and Running the Game
|
||||||
|
|
||||||
|
@ -204,7 +206,7 @@ gc> (test-play)
|
||||||
(play :use-vis #t :init-game #f) has been called!
|
(play :use-vis #t :init-game #f) has been called!
|
||||||
0 #x0 0.0000 0
|
0 #x0 0.0000 0
|
||||||
|
|
||||||
gc>
|
gc>
|
||||||
```
|
```
|
||||||
Then, in the graphics window, you can use the period key to bring up the debug menu. Controllers also work, using the same mapping as the original game.
|
Then, in the graphics window, you can use the period key to bring up the debug menu. Controllers also work, using the same mapping as the original game.
|
||||||
|
|
||||||
|
|
1
docs/css/chunk-21f25f00.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.overlay-page-width[data-v-77084e79]{width:100%}.img-caption[data-v-77084e79]{margin:1em;font-weight:700;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.video-iframe[data-v-77084e79]{min-height:400px}.theme--light.v-overlay{color:rgba(0,0,0,.87)}.theme--dark.v-overlay{color:#fff}.v-overlay{align-items:center;border-radius:inherit;display:flex;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;transition:.3s cubic-bezier(.25,.8,.5,1),z-index 1ms}.v-overlay__content{position:relative}.v-overlay__scrim{border-radius:inherit;bottom:0;height:100%;left:0;position:absolute;right:0;top:0;transition:inherit;width:100%;will-change:opacity}.v-overlay--absolute{position:absolute}.v-overlay--active{pointer-events:auto}
|
1
docs/css/chunk-461a09f2.css
Normal file
|
@ -1 +0,0 @@
|
||||||
.img-caption[data-v-33535a06]{position:absolute;bottom:0;margin:1em;font-weight:700;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}
|
|
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
6
docs/gh-pages-proj/src/assets/gallery/jak1/videos.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"link": "https://www.youtube.com/watch?v=6dJhyVqqq5Q",
|
||||||
|
"timestamp": "2022-01-15"
|
||||||
|
}
|
||||||
|
]
|
|
@ -1,23 +1,46 @@
|
||||||
{
|
{
|
||||||
"jak1": [
|
"jak1": {
|
||||||
{
|
"name": "Jak 1",
|
||||||
"fileName": "can-save-and-load.png",
|
"media": [
|
||||||
"lastModified": "2022-01-20T00:39:52.300413",
|
{
|
||||||
"caption": "Can Save And Load"
|
"link": "https://www.youtube.com/embed/6dJhyVqqq5Q",
|
||||||
},
|
"timestamp": "2022-01-15",
|
||||||
{
|
"video": true
|
||||||
"fileName": "boggy-reflections.png",
|
},
|
||||||
"lastModified": "2022-01-20T00:39:52.296413",
|
{
|
||||||
"caption": "Boggy Reflections"
|
"fileName": "can-save-and-load_2022-01-11.png",
|
||||||
},
|
"timestamp": "2022-01-11",
|
||||||
{
|
"caption": "Can Save And Load",
|
||||||
"fileName": "too-much-fog.png",
|
"video": false
|
||||||
"lastModified": "2022-01-20T00:39:52.300413",
|
},
|
||||||
"caption": "Too Much Fog"
|
{
|
||||||
}
|
"fileName": "boggy-reflections_2022-01-10.png",
|
||||||
],
|
"timestamp": "2022-01-10",
|
||||||
"jak2": [],
|
"caption": "Boggy Reflections",
|
||||||
"jak3": [],
|
"video": false
|
||||||
"jakx": [],
|
},
|
||||||
"misc": []
|
{
|
||||||
|
"fileName": "too-much-fog_2022-01-10.png",
|
||||||
|
"timestamp": "2022-01-10",
|
||||||
|
"caption": "Too Much Fog",
|
||||||
|
"video": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"jak2": {
|
||||||
|
"name": "Jak 2",
|
||||||
|
"media": []
|
||||||
|
},
|
||||||
|
"jak3": {
|
||||||
|
"name": "Jak 3",
|
||||||
|
"media": []
|
||||||
|
},
|
||||||
|
"jakx": {
|
||||||
|
"name": "Jak X",
|
||||||
|
"media": []
|
||||||
|
},
|
||||||
|
"misc": {
|
||||||
|
"name": "Miscellaneous",
|
||||||
|
"media": []
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,20 +1,23 @@
|
||||||
<template>
|
<template>
|
||||||
<v-container fluid>
|
<v-container fluid>
|
||||||
<v-row v-for="(game, name) in assetLinks" :key="name">
|
<v-row v-for="(game, name) in assetLinks" :key="name">
|
||||||
<v-col cols="12">
|
<v-col cols="12" align="center">
|
||||||
<h2>{{ name }}</h2>
|
<h2>{{ sectionMetadata[name].name }}</h2>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col
|
<v-col
|
||||||
v-for="(asset, index) in game"
|
v-for="(asset, index) in game"
|
||||||
:key="name + asset + index"
|
:key="name + asset + index"
|
||||||
class="d-flex child-flex"
|
class="d-flex child-flex"
|
||||||
cols="3"
|
cols="12"
|
||||||
|
md="4"
|
||||||
>
|
>
|
||||||
<v-img
|
<v-img
|
||||||
|
v-if="!asset.video"
|
||||||
:src="require(`@/assets/gallery/${name}/${asset.fileName}`)"
|
:src="require(`@/assets/gallery/${name}/${asset.fileName}`)"
|
||||||
:lazy-src="require(`@/assets/gallery/${name}/${asset.fileName}`)"
|
:lazy-src="require(`@/assets/gallery/${name}/${asset.fileName}`)"
|
||||||
aspect-ratio="1"
|
aspect-ratio="1"
|
||||||
class="grey lighten-2"
|
class="grey lighten-2"
|
||||||
|
@click="assetSelected(name, asset)"
|
||||||
>
|
>
|
||||||
<template v-slot:placeholder>
|
<template v-slot:placeholder>
|
||||||
<v-row class="fill-height ma-0" align="center" justify="center">
|
<v-row class="fill-height ma-0" align="center" justify="center">
|
||||||
|
@ -24,21 +27,49 @@
|
||||||
></v-progress-circular>
|
></v-progress-circular>
|
||||||
</v-row>
|
</v-row>
|
||||||
</template>
|
</template>
|
||||||
<span class="img-caption">{{ asset.caption }}</span>
|
|
||||||
</v-img>
|
</v-img>
|
||||||
|
<iframe
|
||||||
|
v-if="asset.video"
|
||||||
|
class="video-iframe"
|
||||||
|
:src="asset.link"
|
||||||
|
frameBorder="0"
|
||||||
|
></iframe>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
<v-overlay class="overlay-page-width" v-if="selectedItem.asset">
|
||||||
|
<v-container>
|
||||||
|
<v-row>
|
||||||
|
<v-img
|
||||||
|
:src="
|
||||||
|
require(`@/assets/gallery/${selectedItem.sectionName}/${selectedItem.asset.fileName}`)
|
||||||
|
"
|
||||||
|
:lazy-src="
|
||||||
|
require(`@/assets/gallery/${selectedItem.sectionName}/${selectedItem.asset.fileName}`)
|
||||||
|
"
|
||||||
|
contain
|
||||||
|
@click="assetDeselected()"
|
||||||
|
></v-img>
|
||||||
|
</v-row>
|
||||||
|
<v-row>
|
||||||
|
<h3 class="img-caption">{{ selectedItem.asset.caption }}</h3>
|
||||||
|
</v-row>
|
||||||
|
</v-container>
|
||||||
|
</v-overlay>
|
||||||
</v-container>
|
</v-container>
|
||||||
</template>
|
</template>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.overlay-page-width {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
.img-caption {
|
.img-caption {
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000,
|
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000,
|
||||||
1px 1px 0 #000;
|
1px 1px 0 #000;
|
||||||
}
|
}
|
||||||
|
.video-iframe {
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
import galleryLinks from "../gallery";
|
import galleryLinks from "../gallery";
|
||||||
|
@ -48,6 +79,27 @@ export default {
|
||||||
components: {},
|
components: {},
|
||||||
data: function() {
|
data: function() {
|
||||||
return {
|
return {
|
||||||
|
selectedItem: {
|
||||||
|
sectionName: "",
|
||||||
|
asset: null
|
||||||
|
},
|
||||||
|
sectionMetadata: {
|
||||||
|
jak1: {
|
||||||
|
name: ""
|
||||||
|
},
|
||||||
|
jak2: {
|
||||||
|
name: ""
|
||||||
|
},
|
||||||
|
jak3: {
|
||||||
|
name: ""
|
||||||
|
},
|
||||||
|
jakx: {
|
||||||
|
name: ""
|
||||||
|
},
|
||||||
|
misc: {
|
||||||
|
name: ""
|
||||||
|
}
|
||||||
|
},
|
||||||
assetLinks: {
|
assetLinks: {
|
||||||
jak1: [],
|
jak1: [],
|
||||||
jak2: [],
|
jak2: [],
|
||||||
|
@ -61,11 +113,26 @@ export default {
|
||||||
const keys = Object.keys(galleryLinks);
|
const keys = Object.keys(galleryLinks);
|
||||||
for (let i = 0; i < keys.length; i++) {
|
for (let i = 0; i < keys.length; i++) {
|
||||||
const key = keys[i];
|
const key = keys[i];
|
||||||
for (let j = 0; j < galleryLinks[key].length; j++) {
|
this.sectionMetadata[key].name = galleryLinks[key]["name"];
|
||||||
const asset = galleryLinks[key][j];
|
for (let j = 0; j < galleryLinks[key]["media"].length; j++) {
|
||||||
|
const asset = galleryLinks[key]["media"][j];
|
||||||
this.assetLinks[key].push(asset);
|
this.assetLinks[key].push(asset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
assetSelected: function(sectionName, asset) {
|
||||||
|
this.selectedItem = {
|
||||||
|
sectionName: sectionName,
|
||||||
|
asset: asset
|
||||||
|
};
|
||||||
|
},
|
||||||
|
assetDeselected: function() {
|
||||||
|
this.selectedItem = {
|
||||||
|
sectionName: "",
|
||||||
|
asset: ""
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -63,47 +63,7 @@
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-container style="margin-top: 2em;">
|
<v-container style="margin-top: 2em;">
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col cols="8">
|
<v-col cols="12" md="4">
|
||||||
<v-row>
|
|
||||||
<v-col
|
|
||||||
align="center"
|
|
||||||
justify="center"
|
|
||||||
class="orange--text text--darken-2"
|
|
||||||
>
|
|
||||||
<h3>GitHub Updates</h3>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
<v-row>
|
|
||||||
<v-col>
|
|
||||||
<v-timeline>
|
|
||||||
<v-timeline-item v-for="(pr, index) in recentPRs" :key="'pr' + index">
|
|
||||||
<template v-slot:icon>
|
|
||||||
<v-avatar>
|
|
||||||
<img :src="pr.user.avatar_url" />
|
|
||||||
</v-avatar>
|
|
||||||
</template>
|
|
||||||
<template v-slot:opposite>
|
|
||||||
<span>{{ pr.user.login }}</span>
|
|
||||||
</template>
|
|
||||||
<v-card class="elevation-2">
|
|
||||||
<v-card-title>
|
|
||||||
<h5>{{ pr.title }}</h5>
|
|
||||||
</v-card-title>
|
|
||||||
<v-card-text>
|
|
||||||
{{ pr.body }}
|
|
||||||
</v-card-text>
|
|
||||||
<v-card-actions>
|
|
||||||
<v-btn text color="accent" :href="pr.html_url" target="_blank">
|
|
||||||
View Change
|
|
||||||
</v-btn>
|
|
||||||
</v-card-actions>
|
|
||||||
</v-card>
|
|
||||||
</v-timeline-item>
|
|
||||||
</v-timeline>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="4">
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col
|
<v-col
|
||||||
align="center"
|
align="center"
|
||||||
|
@ -154,9 +114,19 @@
|
||||||
<h5>Renderers and Core Pieces</h5>
|
<h5>Renderers and Core Pieces</h5>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row v-for="(milestone, index) in majorMilestones.jak1" :key="'jak1-milestone' + index">
|
<v-row>
|
||||||
<v-col align="center" justify="center">
|
<v-col
|
||||||
<v-icon v-if="milestone.status === 'Completed'" class="green--text">
|
v-for="(milestone, index) in majorMilestones.jak1"
|
||||||
|
:key="'jak1-milestone' + index"
|
||||||
|
cols="12"
|
||||||
|
md="6"
|
||||||
|
align="center"
|
||||||
|
justify="center"
|
||||||
|
>
|
||||||
|
<v-icon
|
||||||
|
v-if="milestone.status === 'Completed'"
|
||||||
|
class="green--text"
|
||||||
|
>
|
||||||
mdi-check
|
mdi-check
|
||||||
</v-icon>
|
</v-icon>
|
||||||
<v-icon v-else class="yellow--text">
|
<v-icon v-else class="yellow--text">
|
||||||
|
@ -166,6 +136,54 @@
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<v-col cols="12" md="8">
|
||||||
|
<v-row>
|
||||||
|
<v-col
|
||||||
|
align="center"
|
||||||
|
justify="center"
|
||||||
|
class="orange--text text--darken-2"
|
||||||
|
>
|
||||||
|
<h3>GitHub Updates</h3>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row>
|
||||||
|
<v-col>
|
||||||
|
<v-timeline dense>
|
||||||
|
<v-timeline-item
|
||||||
|
v-for="(pr, index) in recentPRs"
|
||||||
|
:key="'pr' + index"
|
||||||
|
>
|
||||||
|
<template v-slot:icon>
|
||||||
|
<v-avatar>
|
||||||
|
<img :src="pr.user.avatar_url" />
|
||||||
|
</v-avatar>
|
||||||
|
</template>
|
||||||
|
<template v-slot:opposite>
|
||||||
|
<span>{{ pr.user.login }}</span>
|
||||||
|
</template>
|
||||||
|
<v-card class="elevation-2">
|
||||||
|
<v-card-title>
|
||||||
|
<h5>{{ pr.title }}</h5>
|
||||||
|
</v-card-title>
|
||||||
|
<v-card-text>
|
||||||
|
{{ pr.body }}
|
||||||
|
</v-card-text>
|
||||||
|
<v-card-actions>
|
||||||
|
<v-btn
|
||||||
|
text
|
||||||
|
color="accent"
|
||||||
|
:href="pr.html_url"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
View Change
|
||||||
|
</v-btn>
|
||||||
|
</v-card-actions>
|
||||||
|
</v-card>
|
||||||
|
</v-timeline-item>
|
||||||
|
</v-timeline>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-container>
|
</v-container>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
@ -186,11 +204,8 @@
|
||||||
font-family: "Lexend", sans-serif !important;
|
font-family: "Lexend", sans-serif !important;
|
||||||
}
|
}
|
||||||
.text-stroke {
|
.text-stroke {
|
||||||
text-shadow:
|
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000,
|
||||||
-1px -1px 0 #000,
|
1px 1px 0 #000;
|
||||||
1px -1px 0 #000,
|
|
||||||
-1px 1px 0 #000,
|
|
||||||
1px 1px 0 #000;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ module.exports = {
|
||||||
transpileDependencies: [
|
transpileDependencies: [
|
||||||
'vuetify'
|
'vuetify'
|
||||||
],
|
],
|
||||||
|
filenameHashing: false,
|
||||||
publicPath: process.env.NODE_ENV === 'production'
|
publicPath: process.env.NODE_ENV === 'production'
|
||||||
? '/jak-project/'
|
? '/jak-project/'
|
||||||
: '/'
|
: '/'
|
||||||
|
|
Before Width: | Height: | Size: 993 KiB After Width: | Height: | Size: 993 KiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
@ -1,4 +1,4 @@
|
||||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/jak-project/favicon.png"><title>OpenGOAL - The Jak and Daxter Project</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Fira+Code&family=Lexend:wght@400;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link href="/jak-project/css/chunk-46518b2d.5add0646.css" rel="prefetch"><link href="/jak-project/css/chunk-4c8decd5.78624a63.css" rel="prefetch"><link href="/jak-project/css/chunk-55aa138e.957c03f9.css" rel="prefetch"><link href="/jak-project/js/chunk-46518b2d.588756f9.js" rel="prefetch"><link href="/jak-project/js/chunk-4c8decd5.5cd61028.js" rel="prefetch"><link href="/jak-project/js/chunk-55aa138e.dbdb85fb.js" rel="prefetch"><link href="/jak-project/css/chunk-vendors.a37b1574.css" rel="preload" as="style"><link href="/jak-project/js/app.ec6a37d6.js" rel="preload" as="script"><link href="/jak-project/js/chunk-vendors.186da3e2.js" rel="preload" as="script"><link href="/jak-project/css/chunk-vendors.a37b1574.css" rel="stylesheet"></head><style>body {
|
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/jak-project/favicon.png"><title>OpenGOAL - The Jak and Daxter Project</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Fira+Code&family=Lexend:wght@400;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link href="/jak-project/css/chunk-21f25f00.css" rel="prefetch"><link href="/jak-project/css/chunk-461a09f2.css" rel="prefetch"><link href="/jak-project/css/chunk-a7b0a1b0.css" rel="prefetch"><link href="/jak-project/js/chunk-21f25f00.js" rel="prefetch"><link href="/jak-project/js/chunk-461a09f2.js" rel="prefetch"><link href="/jak-project/js/chunk-a7b0a1b0.js" rel="prefetch"><link href="/jak-project/css/chunk-vendors.css" rel="preload" as="style"><link href="/jak-project/js/app.js" rel="preload" as="script"><link href="/jak-project/js/chunk-vendors.js" rel="preload" as="script"><link href="/jak-project/css/chunk-vendors.css" rel="stylesheet"></head><style>body {
|
||||||
font-family: 'Lexend', sans-serif !important;
|
font-family: 'Lexend', sans-serif !important;
|
||||||
}
|
}
|
||||||
code {
|
code {
|
||||||
|
@ -6,4 +6,4 @@
|
||||||
}
|
}
|
||||||
.v-application {
|
.v-application {
|
||||||
font-family: 'Lexend', sans-serif !important;
|
font-family: 'Lexend', sans-serif !important;
|
||||||
}</style><body><noscript><strong>We're sorry but docs-and-tooling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/jak-project/js/chunk-vendors.186da3e2.js"></script><script src="/jak-project/js/app.ec6a37d6.js"></script></body></html>
|
}</style><body><noscript><strong>We're sorry but docs-and-tooling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/jak-project/js/chunk-vendors.js"></script><script src="/jak-project/js/app.js"></script></body></html>
|
|
@ -1,2 +0,0 @@
|
||||||
(function(e){function n(n){for(var r,o,c=n[0],i=n[1],l=n[2],d=0,s=[];d<c.length;d++)o=c[d],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&s.push(a[o][0]),a[o]=0;for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);f&&f(n);while(s.length)s.shift()();return u.push.apply(u,l||[]),t()}function t(){for(var e,n=0;n<u.length;n++){for(var t=u[n],r=!0,o=1;o<t.length;o++){var c=t[o];0!==a[c]&&(r=!1)}r&&(u.splice(n--,1),e=i(i.s=t[0]))}return e}var r={},o={app:0},a={app:0},u=[];function c(e){return i.p+"js/"+({}[e]||e)+"."+{"chunk-4c8decd5":"5cd61028","chunk-46518b2d":"588756f9","chunk-55aa138e":"dbdb85fb"}[e]+".js"}function i(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var n=[],t={"chunk-4c8decd5":1,"chunk-46518b2d":1,"chunk-55aa138e":1};o[e]?n.push(o[e]):0!==o[e]&&t[e]&&n.push(o[e]=new Promise((function(n,t){for(var r="css/"+({}[e]||e)+"."+{"chunk-4c8decd5":"78624a63","chunk-46518b2d":"5add0646","chunk-55aa138e":"957c03f9"}[e]+".css",a=i.p+r,u=document.getElementsByTagName("link"),c=0;c<u.length;c++){var l=u[c],d=l.getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(d===r||d===a))return n()}var s=document.getElementsByTagName("style");for(c=0;c<s.length;c++){l=s[c],d=l.getAttribute("data-href");if(d===r||d===a)return n()}var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",f.onload=n,f.onerror=function(n){var r=n&&n.target&&n.target.src||a,u=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");u.code="CSS_CHUNK_LOAD_FAILED",u.request=r,delete o[e],f.parentNode.removeChild(f),t(u)},f.href=a;var p=document.getElementsByTagName("head")[0];p.appendChild(f)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)n.push(r[2]);else{var u=new Promise((function(n,t){r=a[e]=[n,t]}));n.push(r[2]=u);var l,d=document.createElement("script");d.charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.src=c(e);var s=new Error;l=function(n){d.onerror=d.onload=null,clearTimeout(f);var t=a[e];if(0!==t){if(t){var r=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",s.name="ChunkLoadError",s.type=r,s.request=o,t[1](s)}a[e]=void 0}};var f=setTimeout((function(){l({type:"timeout",target:d})}),12e4);d.onerror=d.onload=l,document.head.appendChild(d)}return Promise.all(n)},i.m=e,i.c=r,i.d=function(e,n,t){i.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,n){if(1&n&&(e=i(e)),8&n)return e;if(4&n&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)i.d(t,r,function(n){return e[n]}.bind(null,r));return t},i.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="/jak-project/",i.oe=function(e){throw console.error(e),e};var l=window["webpackJsonp"]=window["webpackJsonp"]||[],d=l.push.bind(l);l.push=n,l=l.slice();for(var s=0;s<l.length;s++)n(l[s]);var f=d;u.push([0,"chunk-vendors"]),t()})({0:function(e,n,t){e.exports=t("56d7")},"56d7":function(e,n,t){"use strict";t.r(n);t("e260"),t("e6cf"),t("cca6"),t("a79d");var r=t("2b0e"),o=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-app",[t("v-main",[t("router-view")],1)],1)},a=[],u={name:"App",components:{},data:function(){return{}}},c=u,i=t("2877"),l=t("6544"),d=t.n(l),s=t("7496"),f=t("f6c4"),p=Object(i["a"])(c,o,a,!1,null,null,null),h=p.exports;d()(p,{VApp:s["a"],VMain:f["a"]});var m=t("f309");r["a"].use(m["a"]);var v=new m["a"]({theme:{dark:!0}}),b=(t("d3b7"),t("3ca3"),t("ddb0"),t("8c4f"));r["a"].use(b["a"]);var g=[{path:"/",name:"Home",component:function(){return Promise.all([t.e("chunk-4c8decd5"),t.e("chunk-55aa138e")]).then(t.bind(null,"bb51"))}},{path:"/gallery",name:"Gallery",component:function(){return Promise.all([t.e("chunk-4c8decd5"),t.e("chunk-46518b2d")]).then(t.bind(null,"0d77"))}}],y=new b["a"]({mode:"history",base:"/jak-project/",routes:g}),k=y;r["a"].config.productionTip=!1,new r["a"]({vuetify:v,router:k,render:function(e){return e(h)}}).$mount("#app")}});
|
|
||||||
//# sourceMappingURL=app.ec6a37d6.js.map
|
|
2
docs/js/app.js
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
(function(e){function t(t){for(var r,o,c=t[0],i=t[1],l=t[2],f=0,s=[];f<c.length;f++)o=c[f],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&s.push(a[o][0]),a[o]=0;for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);p&&p(t);while(s.length)s.shift()();return u.push.apply(u,l||[]),n()}function n(){for(var e,t=0;t<u.length;t++){for(var n=u[t],r=!0,o=1;o<n.length;o++){var c=n[o];0!==a[c]&&(r=!1)}r&&(u.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},o={app:0},a={app:0},u=[];function c(e){return i.p+"js/"+({}[e]||e)+".js"}function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],n={"chunk-a7b0a1b0":1,"chunk-21f25f00":1,"chunk-461a09f2":1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=new Promise((function(t,n){for(var r="css/"+({}[e]||e)+".css",a=i.p+r,u=document.getElementsByTagName("link"),c=0;c<u.length;c++){var l=u[c],f=l.getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(f===r||f===a))return t()}var s=document.getElementsByTagName("style");for(c=0;c<s.length;c++){l=s[c],f=l.getAttribute("data-href");if(f===r||f===a)return t()}var p=document.createElement("link");p.rel="stylesheet",p.type="text/css",p.onload=t,p.onerror=function(t){var r=t&&t.target&&t.target.src||a,u=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");u.code="CSS_CHUNK_LOAD_FAILED",u.request=r,delete o[e],p.parentNode.removeChild(p),n(u)},p.href=a;var d=document.getElementsByTagName("head")[0];d.appendChild(p)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var u=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=u);var l,f=document.createElement("script");f.charset="utf-8",f.timeout=120,i.nc&&f.setAttribute("nonce",i.nc),f.src=c(e);var s=new Error;l=function(t){f.onerror=f.onload=null,clearTimeout(p);var n=a[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",s.name="ChunkLoadError",s.type=r,s.request=o,n[1](s)}a[e]=void 0}};var p=setTimeout((function(){l({type:"timeout",target:f})}),12e4);f.onerror=f.onload=l,document.head.appendChild(f)}return Promise.all(t)},i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/jak-project/",i.oe=function(e){throw console.error(e),e};var l=window["webpackJsonp"]=window["webpackJsonp"]||[],f=l.push.bind(l);l.push=t,l=l.slice();for(var s=0;s<l.length;s++)t(l[s]);var p=f;u.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var r=n("2b0e"),o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-app",[n("v-main",[n("router-view")],1)],1)},a=[],u={name:"App",components:{},data:function(){return{}}},c=u,i=n("2877"),l=n("6544"),f=n.n(l),s=n("7496"),p=n("f6c4"),d=Object(i["a"])(c,o,a,!1,null,null,null),h=d.exports;f()(d,{VApp:s["a"],VMain:p["a"]});var m=n("f309");r["a"].use(m["a"]);var v=new m["a"]({theme:{dark:!0}}),b=(n("d3b7"),n("3ca3"),n("ddb0"),n("8c4f"));r["a"].use(b["a"]);var g=[{path:"/",name:"Home",component:function(){return Promise.all([n.e("chunk-a7b0a1b0"),n.e("chunk-461a09f2")]).then(n.bind(null,"bb51"))}},{path:"/gallery",name:"Gallery",component:function(){return Promise.all([n.e("chunk-a7b0a1b0"),n.e("chunk-21f25f00")]).then(n.bind(null,"0d77"))}}],y=new b["a"]({mode:"history",base:"/jak-project/",routes:g}),w=y;r["a"].config.productionTip=!1,new r["a"]({vuetify:v,router:w,render:function(e){return e(h)}}).$mount("#app")}});
|
||||||
|
//# sourceMappingURL=app.js.map
|
1
docs/js/app.js.map
Normal file
2
docs/js/chunk-21f25f00.js
Normal file
1
docs/js/chunk-21f25f00.js.map
Normal file
2
docs/js/chunk-461a09f2.js
Normal file
1
docs/js/chunk-461a09f2.js.map
Normal file
|
@ -1,2 +0,0 @@
|
||||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-46518b2d"],{"0d77":function(e,n,a){"use strict";a.r(n);var t=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-container",{attrs:{fluid:""}},e._l(e.assetLinks,(function(n,o){return t("v-row",{key:o},[t("v-col",{attrs:{cols:"12"}},[t("h2",[e._v(e._s(o))])]),e._l(n,(function(n,r){return t("v-col",{key:o+n+r,staticClass:"d-flex child-flex",attrs:{cols:"3"}},[t("v-img",{staticClass:"grey lighten-2",attrs:{src:a("a531")("./"+o+"/"+n.fileName),"lazy-src":a("a531")("./"+o+"/"+n.fileName),"aspect-ratio":"1"},scopedSlots:e._u([{key:"placeholder",fn:function(){return[t("v-row",{staticClass:"fill-height ma-0",attrs:{align:"center",justify:"center"}},[t("v-progress-circular",{attrs:{indeterminate:"",color:"grey lighten-5"}})],1)]},proxy:!0}],null,!0)},[t("span",{staticClass:"img-caption"},[e._v(e._s(n.caption))])])],1)}))],2)})),1)},o=[],r=a("1da1"),i=(a("96cf"),a("b64b"),a("bef0")),s=i,c={name:"Gallery",components:{},data:function(){return{assetLinks:{jak1:[],jak2:[],jak3:[],jakx:[],misc:[]}}},mounted:function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(){var n,a,t,o,r;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:for(n=Object.keys(s),a=0;a<n.length;a++)for(t=n[a],o=0;o<s[t].length;o++)r=s[t][o],this.assetLinks[t].push(r);case 2:case"end":return e.stop()}}),e,this)})));function n(){return e.apply(this,arguments)}return n}()},l=c,f=(a("72c5"),a("2877")),u=a("6544"),p=a.n(u),d=a("62ad"),g=a("a523"),m=a("adda"),k=a("490a"),h=a("0fd9"),v=Object(f["a"])(l,t,o,!1,null,"33535a06",null);n["default"]=v.exports;p()(v,{VCol:d["a"],VContainer:g["a"],VImg:m["a"],VProgressCircular:k["a"],VRow:h["a"]})},1166:function(e,n,a){e.exports=a.p+"img/can-save-and-load.088bcab3.png"},3923:function(e,n,a){e.exports=a.p+"img/too-much-fog.e8f9d612.png"},"72c5":function(e,n,a){"use strict";a("afae")},a531:function(e,n,a){var t={"./jak1/boggy-reflections.png":"f03d","./jak1/can-save-and-load.png":"1166","./jak1/too-much-fog.png":"3923"};function o(e){var n=r(e);return a(n)}function r(e){if(!a.o(t,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return t[e]}o.keys=function(){return Object.keys(t)},o.resolve=r,e.exports=o,o.id="a531"},afae:function(e,n,a){},bef0:function(e){e.exports=JSON.parse('{"jak1":[{"fileName":"can-save-and-load.png","lastModified":"2022-01-20T00:39:52.300413","caption":"Can Save And Load"},{"fileName":"boggy-reflections.png","lastModified":"2022-01-20T00:39:52.296413","caption":"Boggy Reflections"},{"fileName":"too-much-fog.png","lastModified":"2022-01-20T00:39:52.300413","caption":"Too Much Fog"}],"jak2":[],"jak3":[],"jakx":[],"misc":[]}')},f03d:function(e,n,a){e.exports=a.p+"img/boggy-reflections.acbae15f.png"}}]);
|
|
||||||
//# sourceMappingURL=chunk-46518b2d.588756f9.js.map
|
|
1
docs/js/chunk-a7b0a1b0.js.map
Normal file
1
docs/js/chunk-vendors.js.map
Normal file
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 9 KiB |
Before Width: | Height: | Size: 14 KiB |
BIN
docs/markdown/imgs/windows/build-all.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
docs/markdown/imgs/windows/open-project.png
Normal file
After Width: | Height: | Size: 13 KiB |