Spit and polish
* New built-in wallpaper: "Dotted paper (dark)" is a dark-themed wallpaper. * New built-in palette: "Neon Bright" with bright colors for dark levels. * New cheat: "warp whistle" to automatically win the level. * In case the user has a VERY LARGE screen resolution bigger than the full bounds of a Bounded level, the Play Scene will cap the size and center the level canvas onto the window. This is preferable to being able to see beyond the level's boundaries and hitting an invisible wall in-game. * Make the titlescreen Lazy Scroll work on unbounded levels. It can't bounce off scroll boundaries but it will reverse course if it reaches the level's furthest limits. * Bugfix: characters' white eyes were transparent in-game. Multiple culprits from the `doodad convert` tool defaulting the chroma key to white, to the SDL2 textures considering white to be transparent. For the latter, the game offsets the color by -1 blue.
This commit is contained in:
parent
50980caebb
commit
4f5ea15e46
|
@ -22,7 +22,6 @@ function main() {
|
||||||
// Be sure to position them snug on top.
|
// Be sure to position them snug on top.
|
||||||
// TODO: this might be a nice general solution in the
|
// TODO: this might be a nice general solution in the
|
||||||
// collision detector...
|
// collision detector...
|
||||||
console.log("new box code");
|
|
||||||
e.Actor.MoveTo(Point(
|
e.Actor.MoveTo(Point(
|
||||||
e.Actor.Position().X,
|
e.Actor.Position().X,
|
||||||
Self.Position().Y - e.Actor.Hitbox().Y - e.Actor.Hitbox().H - 2,
|
Self.Position().Y - e.Actor.Hitbox().Y - e.Actor.Hitbox().H - 2,
|
||||||
|
|
|
@ -35,8 +35,6 @@ function main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Totem %s is linked to %d neighbors", Self.ID(), Object.keys(totems).length);
|
|
||||||
|
|
||||||
// Shimmer animation is just like the gemstones: first 4 frames
|
// Shimmer animation is just like the gemstones: first 4 frames
|
||||||
// are the filled socket sprites.
|
// are the filled socket sprites.
|
||||||
Self.AddAnimation("shimmer", 100, [0, 1, 2, 3, 0]);
|
Self.AddAnimation("shimmer", 100, [0, 1, 2, 3, 0]);
|
||||||
|
@ -81,14 +79,10 @@ function tryPower() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Totem %s (%s) tries power", Self.ID(), Self.Filename);
|
|
||||||
|
|
||||||
// Can't if any of our linked totems aren't activated.
|
// Can't if any of our linked totems aren't activated.
|
||||||
try {
|
try {
|
||||||
for (let totemId of Object.keys(totems)) {
|
for (let totemId of Object.keys(totems)) {
|
||||||
console.log("Totem %s (%s) sees linked totem %s", Self.ID(), Self.Filename, totemId);
|
|
||||||
if (totems[totemId] === false) {
|
if (totems[totemId] === false) {
|
||||||
console.log("Can't, a linked totem not active!");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -98,11 +92,9 @@ function tryPower() {
|
||||||
|
|
||||||
// Can't if we aren't powered.
|
// Can't if we aren't powered.
|
||||||
if (activated === false) {
|
if (activated === false) {
|
||||||
console.log("Can't, we are not active!");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Emit power!
|
// Emit power!
|
||||||
console.log("POWER!");
|
|
||||||
Message.Publish("power", true);
|
Message.Publish("power", true);
|
||||||
}
|
}
|
|
@ -66,15 +66,12 @@ function main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (delta < watchRadius) {
|
if (delta < watchRadius) {
|
||||||
console.log("Player is nearby snake! %d", delta);
|
|
||||||
nearby = true;
|
nearby = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we are idle and the player is jumping nearby...
|
// If we are idle and the player is jumping nearby...
|
||||||
if (state == states.idle && nearby && Self.Grounded()) {
|
if (state == states.idle && nearby && Self.Grounded()) {
|
||||||
if (playerPoint.Y - point.Y+(size.H/2) < 20) {
|
if (playerPoint.Y - point.Y+(size.H/2) < 20) {
|
||||||
console.warn("Player is jumping near us!")
|
|
||||||
|
|
||||||
// Enter attack state.
|
// Enter attack state.
|
||||||
if (time.Since(jumpCooldownStart) > 500 * time.Millisecond) {
|
if (time.Since(jumpCooldownStart) > 500 * time.Millisecond) {
|
||||||
state = states.attacking;
|
state = states.attacking;
|
||||||
|
@ -88,7 +85,6 @@ function main() {
|
||||||
|
|
||||||
// If we are attacking and gravity has claimed us back.
|
// If we are attacking and gravity has claimed us back.
|
||||||
if (state === states.attacking && Self.Grounded()) {
|
if (state === states.attacking && Self.Grounded()) {
|
||||||
console.log("Landed again after jump!");
|
|
||||||
state = states.idle;
|
state = states.idle;
|
||||||
jumpCooldownStart = time.Now();
|
jumpCooldownStart = time.Now();
|
||||||
Self.StopAnimation();
|
Self.StopAnimation();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user