Skip to content

Commit

Permalink
Updated Distribution Index spec and impl.
Browse files Browse the repository at this point in the history
Added distromanager.js to represent distro elements.
Moved all distro refresh code to distromanager.js.
Overhauled assetexec.js.
Overhauled handling of assetexec.js output in landing.js.
Overhauled events emitted by assetguard.js.
Improved doenload processing in assetguard.
Updated discord-rpc to v3.0.0.
Replaced westeroscraft.json with distribution.json.
Use npm in travis for windows + linux.
Remove file extension from imports.
Added liteloader + macromod + shaders to distribution.json.
  • Loading branch information
dscalzi committed Jul 22, 2018
1 parent 5b0b192 commit 7dcce68
Show file tree
Hide file tree
Showing 19 changed files with 1,598 additions and 1,194 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ script:
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:wine \
/bin/bash -c "yarn --link-duplicates --pure-lockfile && yarn travislinux"
/bin/bash -c "node -v && npm ci && npm run travislinux"
else
npm run travisdarwin
fi
Expand Down
530 changes: 270 additions & 260 deletions app/assets/westeroscraft.json → app/assets/distribution.json

Large diffs are not rendered by default.

41 changes: 15 additions & 26 deletions app/assets/js/assetexec.js
Original file line number Diff line number Diff line change
@@ -1,51 +1,40 @@
const {AssetGuard} = require('./assetguard.js')
const { AssetGuard } = require('./assetguard')

const tracker = new AssetGuard(process.argv[2], process.argv[3], process.argv[4], process.argv[5])
const tracker = new AssetGuard(process.argv[2], process.argv[3])
console.log('AssetExec Started')

// Temporary for debug purposes.
process.on('unhandledRejection', r => console.log(r))

tracker.on('assetVal', (data) => {
process.send({task: 0, total: data.total, value: data.acc, content: 'validateAssets'})
tracker.on('validate', (data) => {
process.send({context: 'validate', data})
})

tracker.on('totaldlprogress', (data) => {
process.send({task: 0, total: data.total, value: data.acc, percent: parseInt((data.acc/data.total)*100), content: 'dl'})
})

tracker.on('extracting', () => {
process.send({task: 0.7, content: 'dl'})
tracker.on('progress', (data, acc, total) => {
process.send({context: 'progress', data, value: acc, total, percent: parseInt((acc/total)*100)})
})

tracker.on('dlcomplete', () => {
process.send({task: 1, content: 'dl'})
tracker.on('complete', (data, ...args) => {
process.send({context: 'complete', data, args})
})

tracker.on('jExtracted', (jPath) => {
process.send({task: 2, content: 'dl', jPath})
})

tracker.on('dlerror', (err) => {
process.send({task: 0.9, content: 'dl', err})
tracker.on('error', (data, error) => {
process.send({context: 'error', data, error})
})

process.on('message', (msg) => {
if(msg.task === 0){
const func = msg.content
if(msg.task === 'execute'){
const func = msg.function
let nS = tracker[func]
let iS = AssetGuard[func]
if(typeof nS === 'function' || typeof iS === 'function'){
const f = typeof nS === 'function' ? nS : iS
const res = f.apply(f === nS ? tracker : null, msg.argsArr)
if(res instanceof Promise){
res.then((v) => {
process.send({result: v, content: msg.content})
process.send({result: v, context: func})
}).catch((err) => {
process.send({result: err, content: msg.content})
process.send({result: err, context: func})
})
} else {
process.send({result: res, content: msg.content})
process.send({result: res, context: func})
}
}
}
Expand Down
Loading

0 comments on commit 7dcce68

Please sign in to comment.