Update ftp deployment, fix minor bugs in savegame serialization
This commit is contained in:
parent
a42b625aa5
commit
2c659482c4
114
gulp/ftp.js
114
gulp/ftp.js
|
@ -6,6 +6,27 @@ const buildUtils = require("./buildutils");
|
|||
function gulptasksFTP($, gulp, buildFolder) {
|
||||
const commitHash = buildUtils.getRevision();
|
||||
|
||||
const additionalFolder = path.join(__dirname, "additional_build_files");
|
||||
|
||||
const additionalFiles = [
|
||||
path.join(additionalFolder, "*"),
|
||||
path.join(additionalFolder, "*.*"),
|
||||
path.join(additionalFolder, ".*"),
|
||||
];
|
||||
|
||||
const credentials = {
|
||||
staging: {
|
||||
host: process.env.SHAPEZ_CLI_SERVER_HOST,
|
||||
user: process.env.SHAPEZ_CLI_STAGING_FTP_USER,
|
||||
pass: process.env.SHAPEZ_CLI_STAGING_FTP_PW,
|
||||
},
|
||||
prod: {
|
||||
host: process.env.SHAPEZ_CLI_SERVER_HOST,
|
||||
user: process.env.SHAPEZ_CLI_LIVE_FTP_USER,
|
||||
pass: process.env.SHAPEZ_CLI_LIVE_FTP_PW,
|
||||
},
|
||||
};
|
||||
|
||||
// Write the "commit.txt" file
|
||||
gulp.task("ftp.writeVersion", () => {
|
||||
fs.writeFileSync(
|
||||
|
@ -22,13 +43,6 @@ function gulptasksFTP($, gulp, buildFolder) {
|
|||
);
|
||||
});
|
||||
|
||||
// Copies additional files (like .htaccess) which should be deployed when running
|
||||
// on the ftp server
|
||||
// gulp.task("ftp.copyServerFiles", () => {
|
||||
// return gulp.src(["../ftp_upload/*.*", "../ftp_upload/.*", "../ftp_upload/*"])
|
||||
// .pipe(gulp.dest(buildFolder));
|
||||
// });
|
||||
|
||||
const gameSrcGlobs = [
|
||||
path.join(buildFolder, "**/*.*"),
|
||||
path.join(buildFolder, "**/.*"),
|
||||
|
@ -36,67 +50,47 @@ function gulptasksFTP($, gulp, buildFolder) {
|
|||
path.join(buildFolder, "!**/index.html"),
|
||||
];
|
||||
|
||||
gulp.task("ftp.upload.staging.game", () => {
|
||||
return gulp
|
||||
.src(gameSrcGlobs, { base: buildFolder })
|
||||
.pipe(
|
||||
$.rename(pth => {
|
||||
pth.dirname = path.join("v", commitHash, pth.dirname);
|
||||
for (const deployEnv of ["prod", "staging"]) {
|
||||
const deployCredentials = credentials[deployEnv];
|
||||
|
||||
gulp.task(`ftp.upload.${deployEnv}.game`, () => {
|
||||
return gulp
|
||||
.src(gameSrcGlobs, { base: buildFolder })
|
||||
.pipe(
|
||||
$.rename(pth => {
|
||||
pth.dirname = path.join("v", commitHash, pth.dirname);
|
||||
})
|
||||
)
|
||||
.pipe($.sftp(deployCredentials));
|
||||
});
|
||||
|
||||
gulp.task(`ftp.upload.${deployEnv}.indexHtml`, () => {
|
||||
return gulp
|
||||
.src([path.join(buildFolder, "index.html"), path.join(buildFolder, "version.json")], {
|
||||
base: buildFolder,
|
||||
})
|
||||
)
|
||||
.pipe(
|
||||
.pipe($.sftp(deployCredentials));
|
||||
});
|
||||
|
||||
gulp.task(`ftp.upload.${deployEnv}.additionalFiles`, () => {
|
||||
return gulp.src(additionalFiles, { base: additionalFolder }).pipe(
|
||||
$.sftp({
|
||||
host: process.env.SHAPEZ_CLI_SERVER_HOST,
|
||||
user: process.env.SHAPEZ_CLI_STAGING_FTP_USER,
|
||||
pass: process.env.SHAPEZ_CLI_STAGING_FTP_PW,
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
gulp.task("ftp.upload.staging.indexHtml", () => {
|
||||
return gulp.src(path.join(buildFolder, "index.html"), { base: buildFolder }).pipe(
|
||||
$.sftp({
|
||||
host: process.env.SHAPEZ_CLI_SERVER_HOST,
|
||||
user: process.env.SHAPEZ_CLI_STAGING_FTP_USER,
|
||||
pass: process.env.SHAPEZ_CLI_STAGING_FTP_PW,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
gulp.task("ftp.upload.staging", cb => {
|
||||
$.sequence("ftp.writeVersion", "ftp.upload.staging.game", "ftp.upload.staging.indexHtml")(cb);
|
||||
});
|
||||
|
||||
gulp.task("ftp.upload.prod.game", () => {
|
||||
return gulp
|
||||
.src(gameSrcGlobs, { base: buildFolder })
|
||||
.pipe(
|
||||
$.rename(pth => {
|
||||
pth.dirname = path.join("v", commitHash, pth.dirname);
|
||||
})
|
||||
)
|
||||
.pipe(
|
||||
$.sftp({
|
||||
host: process.env.SHAPEZ_CLI_SERVER_HOST,
|
||||
user: process.env.SHAPEZ_CLI_LIVE_FTP_USER,
|
||||
pass: process.env.SHAPEZ_CLI_LIVE_FTP_PW,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
gulp.task("ftp.upload.prod.indexHtml", () => {
|
||||
return gulp.src(path.join(buildFolder, "index.html"), { base: buildFolder }).pipe(
|
||||
$.sftp({
|
||||
host: process.env.SHAPEZ_CLI_SERVER_HOST,
|
||||
user: process.env.SHAPEZ_CLI_LIVE_FTP_USER,
|
||||
pass: process.env.SHAPEZ_CLI_LIVE_FTP_PW,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
gulp.task("ftp.upload.prod", cb => {
|
||||
$.sequence("ftp.writeVersion", "ftp.upload.prod.game", "ftp.upload.prod.indexHtml")(cb);
|
||||
});
|
||||
gulp.task(`ftp.upload.${deployEnv}`, cb => {
|
||||
$.sequence(
|
||||
"ftp.writeVersion",
|
||||
`ftp.upload.${deployEnv}.game`,
|
||||
`ftp.upload.${deployEnv}.indexHtml`,
|
||||
`ftp.upload.${deployEnv}.additionalFiles`
|
||||
)(cb);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
|
|
@ -71,20 +71,19 @@ export const globalConfig = {
|
|||
|
||||
debug: {
|
||||
/* dev:start */
|
||||
// fastGameEnter: true,
|
||||
fastGameEnter: true,
|
||||
noArtificialDelays: true,
|
||||
// disableSavegameWrite: true,
|
||||
showEntityBounds: false,
|
||||
showAcceptorEjectors: false,
|
||||
usePlainShapeIds: true,
|
||||
// showEntityBounds: true,
|
||||
// showAcceptorEjectors: true,
|
||||
disableMusic: true,
|
||||
doNotRenderStatics: false,
|
||||
disableZoomLimits: false,
|
||||
// doNotRenderStatics: true,
|
||||
// disableZoomLimits: true,
|
||||
// showChunkBorders: true,
|
||||
rewardsInstant: false,
|
||||
allBuildingsUnlocked: true,
|
||||
upgradesNoCost: true,
|
||||
disableUnlockDialog: true,
|
||||
// rewardsInstant: true,
|
||||
// allBuildingsUnlocked: true,
|
||||
// upgradesNoCost: true,
|
||||
// disableUnlockDialog: true,
|
||||
// disableLogicTicks: true,
|
||||
// testClipping: true,
|
||||
// framePausesBetweenTicks: 40,
|
||||
|
|
|
@ -79,7 +79,7 @@ export class UndergroundBeltComponent extends Component {
|
|||
}
|
||||
|
||||
// Notice: We assume that for all items the travel distance is the same
|
||||
const maxItemsInTunnel = (1 + travelDistance) / globalConfig.itemSpacingOnBelts;
|
||||
const maxItemsInTunnel = (2 + travelDistance) / globalConfig.itemSpacingOnBelts;
|
||||
if (this.pendingItems.length >= maxItemsInTunnel) {
|
||||
// Simulate a real belt which gets full at some point
|
||||
return false;
|
||||
|
|
|
@ -36,7 +36,7 @@ export class HubGoals extends BasicSerializableObject {
|
|||
}
|
||||
|
||||
// Compute gained rewards
|
||||
for (let i = 0; i < this.level; ++i) {
|
||||
for (let i = 0; i < this.level - 1; ++i) {
|
||||
if (i < tutorialGoals.length) {
|
||||
const reward = tutorialGoals[i].reward;
|
||||
this.gainedRewards[reward] = (this.gainedRewards[reward] || 0) + 1;
|
||||
|
|
Loading…
Reference in New Issue