2019-05-02 01:27:20 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Build all the doodads from their source files.
|
|
|
|
if [[ ! -d "./azulian" ]]; then
|
|
|
|
echo Run this script from the dev-assets/doodads/ working directory.
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
mkdir -p ../../assets/doodads
|
|
|
|
|
|
|
|
buttons() {
|
|
|
|
cd buttons/
|
|
|
|
|
2019-05-05 23:32:30 +00:00
|
|
|
doodad convert -t "Sticky Button" sticky1.png sticky2.png button-sticky.doodad
|
|
|
|
doodad install-script sticky.js button-sticky.doodad
|
2019-05-02 01:27:20 +00:00
|
|
|
|
|
|
|
doodad convert -t "Button" button1.png button2.png button.doodad
|
|
|
|
doodad install-script button.js button.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Button Type B" typeB1.png typeB2.png button-typeB.doodad
|
|
|
|
doodad install-script button.js button-typeB.doodad
|
2019-05-05 23:32:30 +00:00
|
|
|
|
|
|
|
cp button*.doodad ../../../assets/doodads/
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
Add Switches, Fire/Water Collision and Play Menu
* New doodads: Switches.
* They come in four varieties: wall switch (background element, with
"ON/OFF" text) and three side-profile switches for the floor, left
or right walls.
* On collision with the player, they flip their state from "OFF" to
"ON" or vice versa. If the player walks away and then collides
again, the switch flips again.
* Can be used to open/close Electric Doors when turned on/off. Their
default state is "off"
* If a switch receives a power signal from another linked switch, it
sets its own state to match. So, two "on/off" switches that are
connected to a door AND to each other will both flip on/off when one
of them flips.
* Update the Level Collision logic to support Decoration, Fire and Water
pixel collisions.
* Previously, ALL pixels in the level were acting as though solid.
* Non-solid pixels don't count for collision detection, but their
attributes (fire and water) are collected and returned.
* Updated the MenuScene to support loading a map file in Play Mode
instead of Edit Mode. Updated the title screen menu to add a button
for playing levels instead of editing them.
* Wrote some documentation.
2019-07-07 01:30:03 +00:00
|
|
|
switches() {
|
|
|
|
cd switches/
|
|
|
|
|
|
|
|
doodad convert -t "Switch" switch-off.png switch-on.png switch.doodad
|
|
|
|
doodad convert -t "Floor Switch" down-off.png down-on.png switch-down.doodad
|
|
|
|
doodad convert -t "Left Switch" left-off.png left-on.png switch-left.doodad
|
|
|
|
doodad convert -t "Right Switch" right-off.png right-on.png switch-right.doodad
|
|
|
|
|
|
|
|
doodad install-script switch.js switch.doodad
|
|
|
|
doodad install-script switch.js switch-down.doodad
|
|
|
|
doodad install-script switch.js switch-left.doodad
|
|
|
|
doodad install-script switch.js switch-right.doodad
|
|
|
|
|
|
|
|
cp *.doodad ../../../assets/doodads/
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
2019-05-05 23:32:30 +00:00
|
|
|
doors() {
|
|
|
|
cd doors/
|
|
|
|
|
|
|
|
doodad convert -t "Red Door" red1.png red2.png door-red.doodad
|
|
|
|
doodad install-script locked-door.js door-red.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Blue Door" blue1.png blue2.png door-blue.doodad
|
|
|
|
doodad install-script locked-door.js door-blue.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Green Door" green1.png green2.png door-green.doodad
|
|
|
|
doodad install-script locked-door.js door-green.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Yellow Door" yellow1.png yellow2.png door-yellow.doodad
|
|
|
|
doodad install-script locked-door.js door-yellow.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Red Key" red-key.png key-red.doodad
|
|
|
|
doodad install-script keys.js key-red.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Blue Key" blue-key.png key-blue.doodad
|
|
|
|
doodad install-script keys.js key-blue.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Green Key" green-key.png key-green.doodad
|
|
|
|
doodad install-script keys.js key-green.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Yellow Key" yellow-key.png key-yellow.doodad
|
|
|
|
doodad install-script keys.js key-yellow.doodad
|
|
|
|
|
|
|
|
doodad convert -t "Electric Door" electric{1,2,3,4}.png door-electric.doodad
|
|
|
|
doodad install-script electric-door.js door-electric.doodad
|
|
|
|
|
|
|
|
cp door-*.doodad key-*.doodad ../../../assets/doodads/
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
|
|
|
trapdoors() {
|
|
|
|
cd trapdoors/
|
|
|
|
|
|
|
|
doodad convert -t "Trapdoor" down{1,2,3,4}.png trapdoor-down.doodad
|
2019-07-05 22:02:22 +00:00
|
|
|
doodad convert -t "Trapdoor Left" left{1,2,3,4}.png trapdoor-left.doodad
|
|
|
|
doodad convert -t "Trapdoor Right" right{1,2,3,4}.png trapdoor-right.doodad
|
|
|
|
doodad convert -t "Trapdoor Up" up{1,2,3,4}.png trapdoor-up.doodad
|
|
|
|
doodad install-script trapdoor.js trapdoor-down.doodad
|
|
|
|
doodad install-script trapdoor.js trapdoor-left.doodad
|
|
|
|
doodad install-script trapdoor.js trapdoor-right.doodad
|
|
|
|
doodad install-script trapdoor.js trapdoor-up.doodad
|
2019-05-05 23:32:30 +00:00
|
|
|
|
|
|
|
cp trapdoor-*.doodad ../../../assets/doodads/
|
2019-05-02 01:27:20 +00:00
|
|
|
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
|
|
|
azulians() {
|
|
|
|
cd azulian/
|
|
|
|
|
|
|
|
doodad convert -t "Blue Azulian" blu-front.png blu-back.png \
|
|
|
|
blu-wr{1,2,3,4}.png blu-wl{1,2,3,4}.png azu-blu.doodad
|
|
|
|
doodad install-script azulian.js azu-blu.doodad
|
2019-05-05 23:32:30 +00:00
|
|
|
|
|
|
|
doodad convert -t "Red Azulian" red-front.png red-back.png \
|
|
|
|
red-wr{1,2,3,4}.png red-wl{1,2,3,4}.png azu-red.doodad
|
|
|
|
doodad install-script azulian-red.js azu-red.doodad
|
|
|
|
|
|
|
|
cp azu-*.doodad ../../../assets/doodads/
|
2019-05-02 01:27:20 +00:00
|
|
|
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
2019-07-02 22:24:46 +00:00
|
|
|
objects() {
|
|
|
|
cd objects/
|
|
|
|
|
|
|
|
doodad convert -t "Exit Flag" exit-flag.png exit-flag.doodad
|
|
|
|
doodad install-script exit-flag.js exit-flag.doodad
|
|
|
|
|
2019-12-31 02:13:28 +00:00
|
|
|
doodad convert -t "Start Flag" start-flag.png start-flag.doodad
|
|
|
|
|
|
|
|
cp *.doodad ../../../assets/doodads/
|
|
|
|
|
|
|
|
cd ../crumbly-floor
|
|
|
|
|
|
|
|
doodad convert -t "Crumbly Floor" floor.png shake1.png shake2.png \
|
|
|
|
fall1.png fall2.png fall3.png fall4.png fallen.png \
|
|
|
|
crumbly-floor.doodad
|
|
|
|
doodad install-script crumbly-floor.js crumbly-floor.doodad
|
|
|
|
cp *.doodad ../../../assets/doodads/
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
|
|
|
onoff() {
|
|
|
|
cd on-off/
|
|
|
|
|
|
|
|
doodad convert -t "State Button" blue-button.png orange-button.png state-button.doodad
|
|
|
|
doodad install-script state-button.js state-button.doodad
|
|
|
|
|
|
|
|
doodad convert -t "State Block (Blue)" blue-on.png blue-off.png state-block-blue.doodad
|
|
|
|
doodad install-script state-block-blue.js state-block-blue.doodad
|
|
|
|
|
|
|
|
doodad convert -t "State Block (Orange)" orange-off.png orange-on.png state-block-orange.doodad
|
|
|
|
doodad install-script state-block-orange.js state-block-orange.doodad
|
|
|
|
|
2019-07-02 22:24:46 +00:00
|
|
|
cp *.doodad ../../../assets/doodads/
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
2019-05-02 01:27:20 +00:00
|
|
|
buttons
|
Add Switches, Fire/Water Collision and Play Menu
* New doodads: Switches.
* They come in four varieties: wall switch (background element, with
"ON/OFF" text) and three side-profile switches for the floor, left
or right walls.
* On collision with the player, they flip their state from "OFF" to
"ON" or vice versa. If the player walks away and then collides
again, the switch flips again.
* Can be used to open/close Electric Doors when turned on/off. Their
default state is "off"
* If a switch receives a power signal from another linked switch, it
sets its own state to match. So, two "on/off" switches that are
connected to a door AND to each other will both flip on/off when one
of them flips.
* Update the Level Collision logic to support Decoration, Fire and Water
pixel collisions.
* Previously, ALL pixels in the level were acting as though solid.
* Non-solid pixels don't count for collision detection, but their
attributes (fire and water) are collected and returned.
* Updated the MenuScene to support loading a map file in Play Mode
instead of Edit Mode. Updated the title screen menu to add a button
for playing levels instead of editing them.
* Wrote some documentation.
2019-07-07 01:30:03 +00:00
|
|
|
switches
|
2019-05-05 23:32:30 +00:00
|
|
|
doors
|
|
|
|
trapdoors
|
2019-05-02 01:27:20 +00:00
|
|
|
azulians
|
2019-07-02 22:24:46 +00:00
|
|
|
objects
|
2019-12-31 02:13:28 +00:00
|
|
|
onoff
|
2019-07-07 06:50:38 +00:00
|
|
|
doodad edit-doodad -quiet -lock -author "Noah" ../../assets/doodads/*.doodad
|
2019-07-09 01:16:45 +00:00
|
|
|
doodad edit-doodad -hide ../../assets/doodads/azu-blu.doodad
|