├── BasicTileBasedPlatformer
├── kirbyfall.gif
├── kirbyidle.gif
├── kirbyjump.gif
├── kirbywalk.gif
├── testmap2.txt
└── tileset.gif
├── BlockBunny
├── Block Bunny Full.rar
├── Block Bunny Game.rar
├── android
│ ├── BB.rar
│ └── ic_launcher.png
└── res.rar
├── BumpMap
└── BumpMap.rar
├── DiamondHunter
├── Diamond Hunter.jar
└── Diamond Hunter.rar
├── LICENSE
├── Pulse
├── Pulse.jar
└── Pulse.rar
├── README.md
├── crankyrampage
├── Cranky Rampage.rar
└── Cranky Rampage
│ └── Cranky Rampage
│ ├── .classpath
│ ├── .project
│ ├── bin
│ ├── backgrounds
│ │ ├── clouds.gif
│ │ ├── mountains.gif
│ │ ├── mountains.png
│ │ ├── sky.gif
│ │ ├── sunset.gif
│ │ └── temple.gif
│ ├── bullets
│ │ ├── flamingmachinegun.png
│ │ └── machinegun.png
│ ├── com
│ │ └── neet
│ │ │ ├── entity
│ │ │ ├── Collectable.class
│ │ │ ├── Enemy.class
│ │ │ ├── Explosion.class
│ │ │ ├── Laser.class
│ │ │ ├── MapObject.class
│ │ │ ├── Platform.class
│ │ │ ├── Player.class
│ │ │ ├── PopupText.class
│ │ │ ├── Projectile.class
│ │ │ ├── Weapon.class
│ │ │ ├── collectables
│ │ │ │ └── WeaponC.class
│ │ │ └── enemies
│ │ │ │ ├── Blocker.class
│ │ │ │ ├── Bullet.class
│ │ │ │ ├── EnergyGate.class
│ │ │ │ ├── EnergyGateSource.class
│ │ │ │ ├── Rocket.class
│ │ │ │ ├── Sensor.class
│ │ │ │ └── Sentry.class
│ │ │ ├── gamestates
│ │ │ ├── DemoAct1.class
│ │ │ ├── DemoAct3.class
│ │ │ ├── GameState.class
│ │ │ ├── IntroState.class
│ │ │ ├── MenuState.class
│ │ │ └── PauseState.class
│ │ │ ├── main
│ │ │ ├── Game.class
│ │ │ └── GamePanel.class
│ │ │ ├── managers
│ │ │ ├── Animation.class
│ │ │ ├── Content.class
│ │ │ ├── GameObjectFactory.class
│ │ │ ├── GameStateManager.class
│ │ │ ├── GameUtils.class
│ │ │ ├── JukeBox.class
│ │ │ ├── Keys.class
│ │ │ └── Mouse.class
│ │ │ ├── tilemap
│ │ │ ├── Background.class
│ │ │ └── TileMap.class
│ │ │ └── ui
│ │ │ ├── Cursor.class
│ │ │ └── HUD.class
│ ├── enemies
│ │ ├── blocker.png
│ │ ├── bulletsprites.png
│ │ ├── energygate.png
│ │ ├── energygatesource.png
│ │ ├── rocket.png
│ │ ├── sensor.png
│ │ └── sentry.png
│ ├── fonts
│ │ └── prstart.ttf
│ ├── logo.gif
│ ├── maps
│ │ ├── ElectricTower.tme
│ │ ├── FireTower.tme
│ │ ├── demoact1.tme
│ │ ├── demoact3.tme
│ │ └── neighborhoodact1.tme
│ ├── screenshot 51633945596297.gif
│ ├── sprites
│ │ ├── explosion.png
│ │ ├── gunflash.png
│ │ ├── playerlegsprites.png
│ │ └── playersprites.png
│ ├── tilesets
│ │ ├── electrictileset.gif
│ │ ├── firetileset.gif
│ │ └── neighborhoodtileset.png
│ └── ui
│ │ ├── cursor.png
│ │ ├── headhud.png
│ │ ├── hearthud.png
│ │ ├── infinitehud.png
│ │ ├── rampagehud.png
│ │ └── weaponshud.png
│ ├── res
│ ├── backgrounds
│ │ ├── clouds.gif
│ │ ├── mountains.gif
│ │ ├── mountains.png
│ │ ├── sky.gif
│ │ ├── sunset.gif
│ │ └── temple.gif
│ ├── bullets
│ │ ├── flamingmachinegun.png
│ │ └── machinegun.png
│ ├── enemies
│ │ ├── blocker.png
│ │ ├── bulletsprites.png
│ │ ├── energygate.png
│ │ ├── energygatesource.png
│ │ ├── rocket.png
│ │ ├── sensor.png
│ │ └── sentry.png
│ ├── fonts
│ │ └── prstart.ttf
│ ├── logo.gif
│ ├── maps
│ │ ├── ElectricTower.tme
│ │ ├── FireTower.tme
│ │ ├── demoact1.tme
│ │ ├── demoact3.tme
│ │ └── neighborhoodact1.tme
│ ├── sprites
│ │ ├── explosion.png
│ │ ├── gunflash.png
│ │ ├── playerlegsprites.png
│ │ └── playersprites.png
│ ├── tilesets
│ │ ├── electrictileset.gif
│ │ ├── firetileset.gif
│ │ └── neighborhoodtileset.png
│ └── ui
│ │ ├── cursor.png
│ │ ├── headhud.png
│ │ ├── hearthud.png
│ │ ├── infinitehud.png
│ │ ├── rampagehud.png
│ │ └── weaponshud.png
│ └── src
│ └── com
│ └── neet
│ ├── entity
│ ├── Collectable.java
│ ├── Enemy.java
│ ├── Explosion.java
│ ├── Laser.java
│ ├── MapObject.java
│ ├── Platform.java
│ ├── Player.java
│ ├── PopupText.java
│ ├── Projectile.java
│ ├── Weapon.java
│ ├── collectables
│ │ └── WeaponC.java
│ └── enemies
│ │ ├── Blocker.java
│ │ ├── Bullet.java
│ │ ├── EnergyGate.java
│ │ ├── EnergyGateSource.java
│ │ ├── Rocket.java
│ │ ├── Sensor.java
│ │ └── Sentry.java
│ ├── gamestates
│ ├── DemoAct1.java
│ ├── DemoAct3.java
│ ├── GameState.java
│ ├── IntroState.java
│ ├── MenuState.java
│ └── PauseState.java
│ ├── main
│ ├── Game.java
│ └── GamePanel.java
│ ├── managers
│ ├── Animation.java
│ ├── Content.java
│ ├── GameObjectFactory.java
│ ├── GameStateManager.java
│ ├── GameUtils.java
│ ├── JukeBox.java
│ ├── Keys.java
│ └── Mouse.java
│ ├── tilemap
│ ├── Background.java
│ └── TileMap.java
│ └── ui
│ ├── Cursor.java
│ └── HUD.java
├── dragontale
├── Artifact.jar
├── Artifact.rar
├── Dragon Tale Tutorial P02.rar
├── Dragon Tale Tutorial P03.rar
├── Dragon Tale Tutorial P04.rar
├── Dragon Tale Tutorial P07.rar
├── Dragon Tale Tutorial P08.rar
├── Dragon Tale Tutorial p01.rar
├── Resources.rar
├── ResourcesP2.rar
├── TileMapEditor.rar
├── collision.png
├── collision2.png
└── playersprites.gif
├── libgdxasteroids
├── AsteroidsP18.rar
├── Hyperspace Bold.ttf
└── sounds.rar
└── mousetutorial
└── MouseTutorial.rar
/BasicTileBasedPlatformer/kirbyfall.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BasicTileBasedPlatformer/kirbyfall.gif
--------------------------------------------------------------------------------
/BasicTileBasedPlatformer/kirbyidle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BasicTileBasedPlatformer/kirbyidle.gif
--------------------------------------------------------------------------------
/BasicTileBasedPlatformer/kirbyjump.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BasicTileBasedPlatformer/kirbyjump.gif
--------------------------------------------------------------------------------
/BasicTileBasedPlatformer/kirbywalk.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BasicTileBasedPlatformer/kirbywalk.gif
--------------------------------------------------------------------------------
/BasicTileBasedPlatformer/testmap2.txt:
--------------------------------------------------------------------------------
1 | 20
2 | 15
3 | 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
4 | 13 9 11 11 8 13 9 11 11 11 11 11 13 11 11 11 11 11 11 13
5 | 13 5 2 3 8 13 9 0 0 0 0 8 13 9 0 0 0 0 8 13
6 | 13 14 14 7 8 13 9 0 1 2 3 10 11 12 0 0 1 2 2 13
7 | 13 9 11 0 8 13 9 0 6 14 7 1 2 3 0 0 6 14 14 13
8 | 13 9 1 2 4 13 5 3 10 11 12 6 14 7 0 0 10 11 11 13
9 | 13 9 6 14 14 13 14 7 0 0 0 10 11 12 0 0 0 0 8 13
10 | 13 9 10 11 11 11 11 0 1 2 2 3 0 0 0 0 0 0 8 13
11 | 13 9 0 0 0 0 0 0 6 14 14 7 0 1 2 2 3 0 8 13
12 | 13 9 0 0 0 0 0 0 10 11 11 12 0 6 14 14 7 0 4 13
13 | 13 9 0 0 0 0 0 0 1 2 3 0 0 10 10 11 12 6 14 13
14 | 13 9 0 0 0 1 2 3 8 14 5 3 0 0 0 0 0 2 11 13
15 | 13 9 0 1 2 6 14 7 8 13 14 5 3 0 0 0 6 14 7 13
16 | 13 5 2 4 14 14 13 5 4 13 13 14 5 2 2 2 2 11 2 13
17 | 13 14 14 14 13 13 13 14 14 13 13 13 14 14 14 14 14 14 14 13
--------------------------------------------------------------------------------
/BasicTileBasedPlatformer/tileset.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BasicTileBasedPlatformer/tileset.gif
--------------------------------------------------------------------------------
/BlockBunny/Block Bunny Full.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BlockBunny/Block Bunny Full.rar
--------------------------------------------------------------------------------
/BlockBunny/Block Bunny Game.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BlockBunny/Block Bunny Game.rar
--------------------------------------------------------------------------------
/BlockBunny/android/BB.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BlockBunny/android/BB.rar
--------------------------------------------------------------------------------
/BlockBunny/android/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BlockBunny/android/ic_launcher.png
--------------------------------------------------------------------------------
/BlockBunny/res.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BlockBunny/res.rar
--------------------------------------------------------------------------------
/BumpMap/BumpMap.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/BumpMap/BumpMap.rar
--------------------------------------------------------------------------------
/DiamondHunter/Diamond Hunter.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/DiamondHunter/Diamond Hunter.jar
--------------------------------------------------------------------------------
/DiamondHunter/Diamond Hunter.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/DiamondHunter/Diamond Hunter.rar
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Mike S
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Pulse/Pulse.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/Pulse/Pulse.jar
--------------------------------------------------------------------------------
/Pulse/Pulse.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/Pulse/Pulse.rar
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | stuff from old youtube videos
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage.rar
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | Cranky Rampage
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/clouds.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/clouds.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/mountains.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/mountains.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/mountains.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/mountains.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/sky.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/sky.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/sunset.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/sunset.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/temple.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/backgrounds/temple.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/bullets/flamingmachinegun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/bullets/flamingmachinegun.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/bullets/machinegun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/bullets/machinegun.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Collectable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Collectable.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Enemy.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Enemy.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Explosion.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Explosion.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Laser.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Laser.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/MapObject.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/MapObject.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Platform.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Platform.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Player.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Player.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/PopupText.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/PopupText.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Projectile.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Projectile.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Weapon.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/Weapon.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/collectables/WeaponC.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/collectables/WeaponC.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Blocker.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Blocker.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Bullet.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Bullet.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/EnergyGate.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/EnergyGate.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/EnergyGateSource.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/EnergyGateSource.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Rocket.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Rocket.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Sensor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Sensor.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Sentry.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/entity/enemies/Sentry.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/DemoAct1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/DemoAct1.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/DemoAct3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/DemoAct3.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/GameState.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/GameState.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/IntroState.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/IntroState.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/MenuState.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/MenuState.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/PauseState.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/gamestates/PauseState.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/main/Game.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/main/Game.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/main/GamePanel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/main/GamePanel.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Animation.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Animation.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Content.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Content.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/GameObjectFactory.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/GameObjectFactory.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/GameStateManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/GameStateManager.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/GameUtils.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/GameUtils.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/JukeBox.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/JukeBox.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Keys.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Keys.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Mouse.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/managers/Mouse.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/tilemap/Background.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/tilemap/Background.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/tilemap/TileMap.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/tilemap/TileMap.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/ui/Cursor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/ui/Cursor.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/ui/HUD.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/com/neet/ui/HUD.class
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/blocker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/blocker.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/bulletsprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/bulletsprites.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/energygate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/energygate.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/energygatesource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/energygatesource.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/rocket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/rocket.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/sensor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/sensor.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/sentry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/enemies/sentry.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/fonts/prstart.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/fonts/prstart.ttf
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/logo.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/maps/ElectricTower.tme:
--------------------------------------------------------------------------------
1 | C:\MapEditor\Tilesets\electrictileset.gif
2 | 16
3 | 30
4 | 40
5 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
6 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
7 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
8 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
9 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
10 | 44 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 32 33 34 0 0 0 0 0 0 0 0 0 51
11 | 54 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 41
12 | 44 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 51
13 | 54 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 41
14 | 44 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 51
15 | 54 0 0 0 0 31 32 33 32 33 53 50 50 50 50 50 50 50 50 52 32 33 32 33 34 0 0 0 0 41
16 | 44 0 0 0 0 51 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 44 0 0 0 0 51
17 | 54 0 0 0 0 61 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 64 0 0 0 0 41
18 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
19 | 52 35 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 35 53
20 | 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50
21 | 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50
22 | 50 50 52 32 33 32 33 32 33 32 33 32 33 32 33 32 33 34 16 16 16 16 16 16 31 32 33 53 50 50
23 | 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 64 0 0 0 0 0 0 61 62 63 62 63 43
24 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
25 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
26 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
27 | 52 32 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 32 33 32 33 53
28 | 42 62 63 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 50 50 50
29 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 50 50 50 50 50
30 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 50 50 50
31 | 54 0 0 0 0 0 0 31 32 33 32 33 34 0 0 0 0 0 61 62 63 62 63 62 63 62 63 62 63 43
32 | 44 0 0 0 0 0 0 61 62 63 62 63 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
33 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
34 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
35 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
36 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
37 | 52 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 34 0 0 0 0 31 32 33 32 53
38 | 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 64 0 0 0 0 61 62 63 62 43
39 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
40 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
41 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
42 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
43 | 52 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 53
44 | 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
45 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
46 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
47 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
48 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
49 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
50 | 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1
51 | 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1
52 | 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1
53 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
54 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
55 | 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
56 | 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
57 | 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
58 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
59 | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
60 | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
61 | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
62 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1
63 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1
64 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
65 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
66 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
67 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
68 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
69 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
70 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
71 | 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
72 | 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
73 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
74 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
75 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
76 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
77 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1
78 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1
79 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
80 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
81 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
82 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
83 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
84 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
85 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
86 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
87 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
88 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
89 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
90 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
91 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
92 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
93 | 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
94 | 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
95 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
96 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
97 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
98 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
99 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
100 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
101 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
102 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
103 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
104 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
105 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
106 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
107 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
108 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
109 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
110 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
111 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
112 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
113 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
114 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
115 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
116 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
117 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
118 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
119 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
120 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
121 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
122 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
123 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
124 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
125 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/maps/demoact3.tme:
--------------------------------------------------------------------------------
1 | C:\MapEditor\Tilesets\electrictileset.gif
2 | 16
3 | 100
4 | 15
5 | 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
6 | 50 50 50 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 43 42 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 43 50 50 50 50 50 50 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 43 50
7 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
8 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
9 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
10 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
11 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 35 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 64 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 32 33 53 50
12 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 44 0 0 0 0 0 31 32 33 35 32 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 63 62 43 50
13 | 50 50 50 52 32 33 32 33 32 33 35 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 54 0 0 0 0 0 61 63 62 63 62 63 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
14 | 50 50 50 42 62 63 62 63 62 63 62 64 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 35 34 0 0 0 0 0 51 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 34 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
15 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 63 64 0 0 0 0 0 41 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
16 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 54 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
17 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 34 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
18 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 44 0 0 0 0 0 41 54 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
19 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 54 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
20 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
21 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
22 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
23 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
24 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
25 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
26 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
27 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
28 | 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
29 | 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
30 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
31 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
32 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
33 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
34 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
35 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
36 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
37 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
42 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
45 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
47 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
50 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/maps/neighborhoodact1.tme:
--------------------------------------------------------------------------------
1 | C:\MapEditor\Tilesets\neighborhoodtileset.png
2 | 16
3 | 80
4 | 15
5 | 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 | 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 | 81 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 | 81 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 | 81 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 | 166 166 166 166 166 166 166 166 166 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 | 165 165 165 165 165 165 165 165 165 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 | 165 165 165 165 165 203 204 165 165 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 | 165 169 170 165 165 203 204 165 127 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 | 165 209 210 165 165 165 165 165 167 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 | 165 165 165 205 206 165 165 165 207 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 | 163 163 163 163 163 163 163 163 163 163 164 164 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 84 84 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 84 84 84 85 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
17 | 81 81 81 81 81 81 81 81 81 81 81 81 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 41 41 41 41 41 41 42 42 42 42 42 42 42 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 42 42 42 42 42
18 | 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
19 | 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
20 | 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21 | 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
29 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
30 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
32 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
33 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
34 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
35 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
36 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
37 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
42 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
45 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
47 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
50 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/screenshot 51633945596297.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/screenshot 51633945596297.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/explosion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/explosion.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/gunflash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/gunflash.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/playerlegsprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/playerlegsprites.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/playersprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/sprites/playersprites.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/tilesets/electrictileset.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/tilesets/electrictileset.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/tilesets/firetileset.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/tilesets/firetileset.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/tilesets/neighborhoodtileset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/tilesets/neighborhoodtileset.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/cursor.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/headhud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/headhud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/hearthud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/hearthud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/infinitehud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/infinitehud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/rampagehud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/rampagehud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/weaponshud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/bin/ui/weaponshud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/clouds.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/clouds.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/mountains.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/mountains.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/mountains.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/mountains.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/sky.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/sky.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/sunset.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/sunset.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/temple.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/backgrounds/temple.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/bullets/flamingmachinegun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/bullets/flamingmachinegun.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/bullets/machinegun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/bullets/machinegun.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/blocker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/blocker.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/bulletsprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/bulletsprites.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/energygate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/energygate.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/energygatesource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/energygatesource.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/rocket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/rocket.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/sensor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/sensor.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/sentry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/enemies/sentry.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/fonts/prstart.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/fonts/prstart.ttf
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/logo.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/maps/ElectricTower.tme:
--------------------------------------------------------------------------------
1 | C:\MapEditor\Tilesets\electrictileset.gif
2 | 16
3 | 30
4 | 40
5 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
6 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
7 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
8 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
9 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
10 | 44 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 32 33 34 0 0 0 0 0 0 0 0 0 51
11 | 54 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 41
12 | 44 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 51
13 | 54 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 41
14 | 44 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 51
15 | 54 0 0 0 0 31 32 33 32 33 53 50 50 50 50 50 50 50 50 52 32 33 32 33 34 0 0 0 0 41
16 | 44 0 0 0 0 51 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 44 0 0 0 0 51
17 | 54 0 0 0 0 61 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 64 0 0 0 0 41
18 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
19 | 52 35 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 35 53
20 | 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50
21 | 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50
22 | 50 50 52 32 33 32 33 32 33 32 33 32 33 32 33 32 33 34 16 16 16 16 16 16 31 32 33 53 50 50
23 | 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 64 0 0 0 0 0 0 61 62 63 62 63 43
24 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
25 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
26 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
27 | 52 32 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 32 33 32 33 53
28 | 42 62 63 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 50 50 50
29 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 50 50 50 50 50
30 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 50 50 50 50 50
31 | 54 0 0 0 0 0 0 31 32 33 32 33 34 0 0 0 0 0 61 62 63 62 63 62 63 62 63 62 63 43
32 | 44 0 0 0 0 0 0 61 62 63 62 63 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
33 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
34 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
35 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
36 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
37 | 52 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 34 0 0 0 0 31 32 33 32 53
38 | 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 64 0 0 0 0 61 62 63 62 43
39 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
40 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
41 | 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41
42 | 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51
43 | 52 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 32 33 53
44 | 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
45 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
46 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
47 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
48 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
49 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
50 | 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1
51 | 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1
52 | 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1
53 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
54 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
55 | 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
56 | 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
57 | 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
58 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
59 | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
60 | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
61 | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
62 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1
63 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1
64 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
65 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
66 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
67 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
68 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
69 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
70 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
71 | 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
72 | 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
73 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
74 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
75 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
76 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
77 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1
78 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1
79 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
80 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
81 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
82 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
83 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
84 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
85 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
86 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
87 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
88 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
89 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
90 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
91 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
92 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
93 | 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
94 | 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
95 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
96 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
97 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
98 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
99 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
100 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
101 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
102 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
103 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
104 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
105 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
106 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
107 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
108 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
109 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
110 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
111 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
112 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
113 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
114 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
115 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
116 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
117 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
118 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
119 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
120 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
121 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
122 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
123 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
124 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
125 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/maps/demoact3.tme:
--------------------------------------------------------------------------------
1 | C:\MapEditor\Tilesets\electrictileset.gif
2 | 16
3 | 100
4 | 15
5 | 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
6 | 50 50 50 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 43 42 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 43 50 50 50 50 50 50 42 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 62 63 43 50
7 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
8 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
9 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
10 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
11 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 35 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 64 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 32 33 53 50
12 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 44 0 0 0 0 0 31 32 33 35 32 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 63 62 43 50
13 | 50 50 50 52 32 33 32 33 32 33 35 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 54 0 0 0 0 0 61 63 62 63 62 63 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
14 | 50 50 50 42 62 63 62 63 62 63 62 64 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 35 34 0 0 0 0 0 51 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 34 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
15 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 63 64 0 0 0 0 0 41 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 63 62 63 62 63 62 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
16 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 54 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
17 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 33 32 33 32 33 34 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
18 | 50 50 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50 50 50 50 50 50 44 0 0 0 0 0 41 54 0 0 0 0 0 0 0 0 0 0 0 0 0 51 50
19 | 50 50 50 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50 50 50 50 50 50 54 0 0 0 0 0 51 44 0 0 0 0 0 0 0 0 0 0 0 0 0 41 50
20 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
21 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
22 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
23 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
24 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
25 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
26 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
27 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
28 | 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
29 | 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
30 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
31 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
32 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
33 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
34 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
35 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
36 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
37 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
42 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
45 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
47 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
50 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/maps/neighborhoodact1.tme:
--------------------------------------------------------------------------------
1 | C:\MapEditor\Tilesets\neighborhoodtileset.png
2 | 16
3 | 80
4 | 15
5 | 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 | 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 | 81 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 | 81 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 | 81 81 81 81 81 81 81 81 81 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 | 166 166 166 166 166 166 166 166 166 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 | 165 165 165 165 165 165 165 165 165 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 | 165 165 165 165 165 203 204 165 165 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 | 165 169 170 165 165 203 204 165 127 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 | 165 209 210 165 165 165 165 165 167 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 | 165 165 165 205 206 165 165 165 207 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 | 163 163 163 163 163 163 163 163 163 163 164 164 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 84 84 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 84 84 84 85 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
17 | 81 81 81 81 81 81 81 81 81 81 81 81 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 41 41 41 41 41 41 42 42 42 42 42 42 42 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 42 42 42 42 42
18 | 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
19 | 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
20 | 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21 | 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
29 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
30 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 | 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
32 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
33 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
34 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
35 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
36 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
37 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
42 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
45 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
47 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
50 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/explosion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/explosion.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/gunflash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/gunflash.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/playerlegsprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/playerlegsprites.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/playersprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/sprites/playersprites.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/tilesets/electrictileset.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/tilesets/electrictileset.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/tilesets/firetileset.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/tilesets/firetileset.gif
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/tilesets/neighborhoodtileset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/tilesets/neighborhoodtileset.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/cursor.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/headhud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/headhud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/hearthud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/hearthud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/infinitehud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/infinitehud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/rampagehud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/rampagehud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/weaponshud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foreignguymike/legacyYTtutorials/939ea2116ab54a7a99c93562976ab19172619555/crankyrampage/Cranky Rampage/Cranky Rampage/res/ui/weaponshud.png
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Collectable.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Graphics2D;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.tilemap.TileMap;
7 |
8 | public class Collectable extends MapObject {
9 |
10 | protected boolean active;
11 | protected int timer;
12 |
13 | protected boolean remove;
14 |
15 | public Collectable(TileMap tm, ArrayList p) {
16 | super(tm, p);
17 | active = false;
18 | }
19 |
20 | public void setActive() {
21 | active = true;
22 | falling = true;
23 | timer = 0;
24 | }
25 |
26 | public void activate(Player p) {
27 |
28 | }
29 |
30 | protected void getNextPosition() {
31 | if(dx < 0) {
32 | dx += stopSpeed;
33 | if(dx > 0) dx = 0;
34 | }
35 | if(dx > 0) {
36 | dx -= stopSpeed;
37 | if(dx < 0) dx = 0;
38 | }
39 | if(!falling) {
40 | dx = 0;
41 | }
42 | if(ledgeFall || falling) {
43 | dy += fallSpeed;
44 | if(dy > maxFallSpeed) dy = maxFallSpeed;
45 | }
46 | }
47 |
48 | public boolean shouldRemove() {
49 | return remove;
50 | }
51 |
52 | public void update() {
53 | timer++;
54 | if(timer > 420) {
55 | remove = true;
56 | }
57 | }
58 |
59 | public void draw(Graphics2D g) {
60 |
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Enemy.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Graphics2D;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.tilemap.TileMap;
7 |
8 | public class Enemy extends MapObject {
9 |
10 | protected Player player;
11 | protected int rampage;
12 |
13 | protected int health;
14 | protected int maxHealth;
15 | protected boolean dead;
16 | protected int damage;
17 | protected boolean remove;
18 |
19 | protected boolean flinching;
20 | protected int flinchCount;
21 | protected int flinchDelay;
22 |
23 | protected int score;
24 |
25 | public Enemy(TileMap tm, ArrayList p, Player pl) {
26 | super(tm, p);
27 | player = pl;
28 | remove = false;
29 | }
30 |
31 | public int getRampage() { return rampage; }
32 | public int getDamage() { return damage; }
33 | public int getScore() { return score; }
34 | public boolean isDead() { return dead; }
35 | public boolean isFlinching() { return flinching; }
36 | public boolean shouldRemove() { return remove; }
37 |
38 | public void setDead() {
39 | health = 0;
40 | dead = true;
41 | if(dead) remove = true;
42 | }
43 |
44 | public void hit(int damage) {
45 | if(dead || flinching) return;
46 | health -= damage;
47 | if(health < 0) health = 0;
48 | if(health == 0) dead = true;
49 | if(dead) remove = true;
50 | flinching = true;
51 | flinchCount = 0;
52 | }
53 |
54 | public void update() {
55 | if(flinching) {
56 | flinchCount++;
57 | if(flinchCount > flinchDelay) {
58 | flinching = false;
59 | }
60 | }
61 | }
62 |
63 | public void draw(Graphics2D g) {
64 | super.draw(g);
65 | }
66 |
67 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Explosion.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Graphics2D;
4 | import java.awt.geom.Point2D;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.managers.Content;
8 | import com.neet.tilemap.TileMap;
9 |
10 | public class Explosion extends MapObject {
11 |
12 | private boolean remove;
13 |
14 | private int type;
15 | public static final int GUN_FLASH = 0;
16 | public static final int GUN_HIT = 1;
17 | public static final int EXPLOSION = 2;
18 |
19 | private Point2D.Double[] points;
20 | private double speed;
21 | private double diagSpeed;
22 |
23 | public Explosion(TileMap tm, ArrayList p, double x, double y, int type, int delay) {
24 |
25 | super(tm, p);
26 |
27 | this.x = x;
28 | this.y = y;
29 | this.type = type;
30 |
31 | if(type == GUN_FLASH) {
32 | animation.setFrames(Content.GUN_FLASH, delay);
33 | width = height = 7;
34 | }
35 | if(type == GUN_HIT) {
36 | animation.setFrames(Content.GUN_FLASH, 24, 1);
37 | width = height = 7;
38 | speed = 1.7;
39 | diagSpeed = speed / 1.41;
40 | points = new Point2D.Double[8];
41 | for(int i = 0; i < points.length; i++) {
42 | points[i] = new Point2D.Double((int) x, (int) y);
43 | }
44 | }
45 | if(type == EXPLOSION) {
46 | animation.setFrames(Content.EXPLOSION, delay);
47 | width = height = 32;
48 | speed = 2;
49 | diagSpeed = speed / 1.41;
50 | points = new Point2D.Double[8];
51 | for(int i = 0; i < points.length; i++) {
52 | points[i] = new Point2D.Double((int) x, (int) y);
53 | }
54 | }
55 |
56 | }
57 |
58 | public boolean shouldRemove() {
59 | return remove;
60 | }
61 |
62 | public void update() {
63 |
64 | if(remove) return;
65 |
66 | animation.update();
67 |
68 | if(animation.hasPlayedOnce()) {
69 | remove = true;
70 | }
71 |
72 | if(type == GUN_HIT || type == EXPLOSION) {
73 | points[0].x += speed;
74 | points[1].x += diagSpeed;
75 | points[1].y += diagSpeed;
76 | points[2].y += speed;
77 | points[3].x -= diagSpeed;
78 | points[3].y += diagSpeed;
79 | points[4].x -= speed;
80 | points[5].x -= diagSpeed;
81 | points[5].y -= diagSpeed;
82 | points[6].y -= speed;
83 | points[7].x += diagSpeed;
84 | points[7].y -= diagSpeed;
85 | }
86 | }
87 |
88 | public void draw(Graphics2D g) {
89 |
90 | if(remove) return;
91 |
92 | if(type == GUN_HIT || type == EXPLOSION) {
93 | setMapPosition();
94 | for(int i = 0; i < points.length; i++) {
95 | g.drawImage(
96 | animation.getImage(),
97 | (int) (points[i].x + xmap - width / 2),
98 | (int) (points[i].y + ymap - height / 2),
99 | null
100 | );
101 | }
102 | return;
103 | }
104 | super.draw(g);
105 | }
106 |
107 | }
108 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Laser.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.tilemap.TileMap;
8 |
9 | public class Laser extends Enemy {
10 |
11 | private int timer;
12 | private Color color;
13 |
14 | private final int LOCK_ON = 300;
15 | private final int CHARGING = LOCK_ON + 60;
16 | private final int FIRING = CHARGING + 180;
17 | private final int COOLDOWN = FIRING + 60;
18 |
19 | public Laser(TileMap tm, ArrayList p, Player pl) {
20 | super(tm, p, pl);
21 | width = 60;
22 | height = 16;
23 | timer = 0;
24 | }
25 |
26 | public void update() {
27 | timer++;
28 | if(timer < LOCK_ON) {
29 | color = Color.GREEN;
30 | x += (player.getx() - x) * 0.07;
31 | }
32 | else if(timer < CHARGING) {
33 | color = Color.ORANGE;
34 | }
35 | else if(timer < FIRING) {
36 | color = Color.RED;
37 | }
38 | else if(timer < COOLDOWN) {
39 | color = Color.CYAN;
40 | }
41 | else {
42 | timer = 0;
43 | }
44 | }
45 |
46 | public void draw(Graphics2D g) {
47 | setMapPosition();
48 | g.setColor(color);
49 | g.drawRect((int) (x + xmap - width / 2), (int) (y + ymap - height / 2), width, height);
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/MapObject.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Rectangle;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.main.GamePanel;
7 | import com.neet.managers.Animation;
8 | import com.neet.tilemap.TileMap;
9 |
10 |
11 | public abstract class MapObject {
12 |
13 | // tile stuff
14 | protected TileMap tileMap;
15 | protected int tileSize;
16 | protected double xmap;
17 | protected double ymap;
18 |
19 | // platforms
20 | protected ArrayList platforms;
21 |
22 | // position and vector
23 | protected double x;
24 | protected double y;
25 | protected double dx;
26 | protected double dy;
27 |
28 | // dimensions
29 | protected int width;
30 | protected int height;
31 |
32 | // collision box
33 | protected int cwidth;
34 | protected int cheight;
35 |
36 | // collision
37 | protected int currRow;
38 | protected int currCol;
39 | protected double xdest;
40 | protected double ydest;
41 | protected double xtemp;
42 | protected double ytemp;
43 | protected int leftTile;
44 | protected int rightTile;
45 | protected int topTile;
46 | protected int bottomTile;
47 | protected boolean topCollision;
48 | protected boolean leftCollision;
49 | protected boolean rightCollision;
50 | protected boolean bottomCollision;
51 | protected boolean bottomLedge;
52 | protected Platform topLeftBlock;
53 | protected Platform topRightBlock;
54 | protected Platform bottomLeftBlock;
55 | protected Platform bottomRightBlock;
56 | protected Platform onPlatform;
57 |
58 | // animation
59 | protected Animation animation;
60 | protected int currentAction;
61 | protected int previousAction;
62 | protected boolean facingRight;
63 |
64 | // movement
65 | protected boolean left;
66 | protected boolean right;
67 | protected boolean up;
68 | protected boolean down;
69 | protected boolean jumping;
70 | protected boolean falling;
71 | protected boolean ledgeFall;
72 |
73 | // movement attributes
74 | protected double moveSpeed;
75 | protected double maxSpeed;
76 | protected double stopSpeed;
77 | protected double fallSpeed;
78 | protected double maxFallSpeed;
79 | protected double jumpStart;
80 | protected double stopJumpSpeed;
81 |
82 | // constructor
83 | public MapObject(TileMap tm, ArrayList p) {
84 | tileMap = tm;
85 | tileSize = tm.getTileSize();
86 | animation = new Animation();
87 | facingRight = true;
88 | platforms = p;
89 | }
90 |
91 | public boolean intersects(MapObject o) {
92 | Rectangle r1 = getRectangle();
93 | Rectangle r2 = o.getRectangle();
94 | return r1.intersects(r2);
95 | }
96 |
97 | public boolean intersects(Rectangle r) {
98 | return getRectangle().intersects(r);
99 | }
100 |
101 | public boolean contains(int x, int y) {
102 | return getRectangle().contains(x, y);
103 | }
104 |
105 | public boolean contains(MapObject o) {
106 | Rectangle r1 = getRectangle();
107 | Rectangle r2 = o.getRectangle();
108 | return r1.contains(r2);
109 | }
110 |
111 | public boolean contains(Rectangle r) {
112 | return getRectangle().contains(r);
113 | }
114 |
115 | public Rectangle getRectangle() {
116 | return new Rectangle(
117 | (int)(x - cwidth / 2),
118 | (int)(y - cheight / 2),
119 | cwidth,
120 | cheight
121 | );
122 | }
123 |
124 | public void calculateCollision(double x, double y) {
125 | topCollision = leftCollision = rightCollision = bottomCollision = bottomLedge = false;
126 | int xl = (int)(x - cwidth / 2);
127 | int xr = (int)(x + cwidth / 2 - 1);
128 | int yt = (int)(y - cheight / 2);
129 | int yb = (int)(y + cheight / 2 - 1);
130 | leftTile = xl / tileSize;
131 | rightTile = xr / tileSize;
132 | topTile = yt / tileSize;
133 | bottomTile = yb / tileSize;
134 | if(topTile < 0 || bottomTile >= tileMap.getNumRows() ||
135 | leftTile < 0 || rightTile >= tileMap.getNumCols()) {
136 | return;
137 | }
138 | for(int i = 0; i < rightTile - leftTile + 1; i++) {
139 | topCollision |= tileMap.getType(topTile, leftTile + i) == TileMap.BLOCKED;
140 | bottomCollision |= tileMap.getType(bottomTile, leftTile + i) == TileMap.BLOCKED;
141 | bottomLedge |= tileMap.getType(bottomTile, leftTile + i) == TileMap.LEDGE;
142 | }
143 | for(int i = 0; i < bottomTile - topTile + 1; i++) {
144 | leftCollision |= tileMap.getType(topTile + i, leftTile) == TileMap.BLOCKED;
145 | rightCollision |= tileMap.getType(topTile + i, rightTile) == TileMap.BLOCKED;
146 | }
147 | for(int i = 0; i < platforms.size(); i++) {
148 | Platform p = platforms.get(i);
149 | if(p.contains(xl, yt)) {
150 | topLeftBlock = p;
151 | }
152 | if(p.contains(xr, yt)) {
153 | topRightBlock = p;
154 | }
155 | if(p.contains(xl, yb)) {
156 | bottomLeftBlock = p;
157 | onPlatform = p;
158 | }
159 | if(p.contains(xr, yb)) {
160 | bottomRightBlock = p;
161 | onPlatform = p;
162 | }
163 | }
164 | }
165 |
166 | public boolean checkTileMapCollision() {
167 |
168 | currCol = (int)x / tileSize;
169 | currRow = (int)y / tileSize;
170 |
171 | xdest = x + dx;
172 | ydest = y + dy;
173 |
174 | xtemp = x;
175 | ytemp = y;
176 |
177 | boolean collision = false;
178 |
179 | calculateCollision(x, ydest);
180 | if(dy < 0) {
181 | if(topCollision) {
182 | dy = 0;
183 | ytemp = (topTile + 1) * tileSize + cheight / 2;
184 | collision = true;
185 | }
186 | else {
187 | ytemp += dy;
188 | }
189 | if(topLeftBlock != null) {
190 | dy = 0;
191 | ytemp = topLeftBlock.gety() + topLeftBlock.getCHeight() / 2 + cheight / 2;
192 | topLeftBlock = null;
193 | }
194 | if(topRightBlock != null) {
195 | dy = 0;
196 | ytemp = topRightBlock.gety() + topRightBlock.getCHeight() / 2 + cheight / 2;
197 | topRightBlock = null;
198 | }
199 | }
200 | if(dy > 0) {
201 | if(bottomCollision) {
202 | dy = 0;
203 | falling = false;
204 | ytemp = bottomTile * tileSize - cheight / 2;
205 | collision = true;
206 | ledgeFall = false;
207 | }
208 | else if(!ledgeFall && bottomLedge && (y + cheight / 2 - 1) - bottomTile * tileSize < dy) {
209 | dy = 0;
210 | falling = false;
211 | ytemp = bottomTile * tileSize - cheight / 2;
212 | collision = true;
213 | }
214 | else {
215 | ytemp += dy;
216 | }
217 | if(ledgeFall) {
218 | ledgeFall = tileMap.getType(
219 | (int)(y - cheight / 2 + 1)/ tileMap.getTileSize(),
220 | (int)x / tileSize) != TileMap.LEDGE;
221 | }
222 | if(bottomLeftBlock != null) {
223 | dy = 0;
224 | falling = false;
225 | ytemp = bottomLeftBlock.gety() - bottomLeftBlock.getCHeight() / 2 - cheight / 2;
226 | bottomLeftBlock = null;
227 | }
228 | if(bottomRightBlock != null) {
229 | dy = 0;
230 | falling = false;
231 | ytemp = bottomRightBlock.gety() - bottomRightBlock.getCHeight() / 2 - cheight / 2;
232 | bottomRightBlock = null;
233 | }
234 | }
235 |
236 | calculateCollision(xdest, y);
237 | if(dx < 0) {
238 | if(leftCollision) {
239 | dx = 0;
240 | xtemp = (leftTile + 1) * tileSize + cwidth / 2;
241 | collision = true;
242 | }
243 | else {
244 | xtemp += dx;
245 | }
246 | if(topLeftBlock != null) {
247 | dx = 0;
248 | xtemp = topLeftBlock.getx() + topLeftBlock.getCWidth() / 2 + cwidth / 2;
249 | topLeftBlock = null;
250 | }
251 | if(bottomLeftBlock != null) {
252 | dx = 0;
253 | xtemp = bottomLeftBlock.getx() + bottomLeftBlock.getCWidth() / 2 + cwidth / 2;
254 | bottomLeftBlock = null;
255 | }
256 | }
257 | if(dx > 0) {
258 | if(rightCollision) {
259 | dx = 0;
260 | xtemp = rightTile * tileSize - cwidth / 2;
261 | collision = true;
262 | }
263 | else {
264 | xtemp += dx;
265 | }
266 | if(topRightBlock != null) {
267 | dx = 0;
268 | xtemp = topRightBlock.getx() - topRightBlock.getCWidth() / 2 - cwidth / 2;
269 | topRightBlock = null;
270 | }
271 | if(bottomRightBlock != null) {
272 | dx = 0;
273 | xtemp = bottomRightBlock.getx() - bottomRightBlock.getCWidth() / 2 - cwidth / 2;
274 | bottomRightBlock = null;
275 | }
276 | }
277 |
278 | if(!falling) {
279 | calculateCollision(x, ydest + 1);
280 | if(!bottomCollision && !bottomLedge && bottomLeftBlock == null && bottomRightBlock == null) {
281 | falling = true;
282 | }
283 | if(onPlatform != null) {
284 | if(onPlatform.getdy() < 0) {
285 | ytemp = onPlatform.gety() - onPlatform.getCHeight() / 2 - cheight / 2;
286 | }
287 | xtemp += onPlatform.getdx();
288 | ytemp += onPlatform.getdy();
289 | }
290 | }
291 |
292 | topLeftBlock = topRightBlock = bottomLeftBlock = bottomRightBlock = onPlatform = null;
293 | return collision;
294 |
295 | }
296 |
297 | public int getx() { return (int)x; }
298 | public int gety() { return (int)y; }
299 | public double getdx() { return dx; }
300 | public double getdy() { return dy; }
301 | public int getWidth() { return width; }
302 | public int getHeight() { return height; }
303 | public int getCWidth() { return cwidth; }
304 | public int getCHeight() { return cheight; }
305 | public boolean isFacingRight() { return facingRight; }
306 | public int getRow() { return (int) (y / tileMap.getTileSize()); }
307 | public int getCol() { return (int) (x / tileMap.getTileSize()); }
308 |
309 | public void setPosition(double x, double y) {
310 | this.x = x;
311 | this.y = y;
312 | }
313 | public void setVector(double dx, double dy) {
314 | this.dx = dx;
315 | this.dy = dy;
316 | }
317 | public void setCollision(int w, int h) {
318 | cwidth = w;
319 | cheight = h;
320 | }
321 |
322 | public void setMapPosition() {
323 | xmap = tileMap.getx();
324 | ymap = tileMap.gety();
325 | }
326 |
327 | public void setLeft(boolean b) { left = b; }
328 | public void setRight(boolean b) { right = b; }
329 | public void setUp(boolean b) { up = b; }
330 | public void setDown(boolean b) { down = b; }
331 | public void setJumping(boolean b) { jumping = b; }
332 |
333 | public boolean notOnScreen() {
334 | return x + xmap + width < 0 ||
335 | x + xmap - width > GamePanel.WIDTH ||
336 | y + ymap + height < 0 ||
337 | y + ymap - height > GamePanel.HEIGHT;
338 | }
339 |
340 | public void draw(java.awt.Graphics2D g) {
341 | setMapPosition();
342 | if(facingRight) {
343 | g.drawImage(
344 | animation.getImage(),
345 | (int)(x + xmap - width / 2),
346 | (int)(y + ymap - height / 2),
347 | null
348 | );
349 | }
350 | else {
351 | g.drawImage(
352 | animation.getImage(),
353 | (int)(x + xmap - width / 2 + width),
354 | (int)(y + ymap - height / 2),
355 | -width,
356 | height,
357 | null
358 | );
359 | }
360 |
361 | // debug
362 | //g.setColor(java.awt.Color.BLUE);
363 | //Rectangle r = getRectangle();
364 | //r.x += xmap;
365 | //r.y += ymap;
366 | //g.draw(r);
367 | }
368 |
369 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Platform.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Graphics2D;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.managers.JukeBox;
7 | import com.neet.tilemap.TileMap;
8 |
9 | public class Platform extends MapObject {
10 |
11 | private int health;
12 | private boolean invulnerable;
13 |
14 | private boolean remove;
15 |
16 | private int type;
17 | public static final int STATIC = 0;
18 | public static final int HORIZONTAL = 1;
19 | public static final int VERTICAL = 2;
20 |
21 | private int xmin;
22 | private int xmax;
23 | private int ymin;
24 | private int ymax;
25 |
26 | public Platform(TileMap tm, ArrayList p) {
27 |
28 | super(tm, p);
29 |
30 | health = 5;
31 | invulnerable = false;
32 |
33 | width = 40;
34 | height = 20;
35 | cwidth = 40;
36 | cheight = 20;
37 |
38 | moveSpeed = 1;
39 |
40 | }
41 |
42 | public void setType(int i) { type = i; }
43 | public void setType(int i, int i1, int i2) {
44 | type = i;
45 | if(i == HORIZONTAL) {
46 | xmin = i1;
47 | xmax = i2;
48 | right = true;
49 | }
50 | if(i == VERTICAL) {
51 | ymin = i1;
52 | ymax = i2;
53 | up = true;
54 | }
55 | }
56 | public void setDimensions(int i1, int i2) { width = i1; height = i2; }
57 | public void setCDimensions(int i1, int i2) { cwidth = i1; cheight = i2; }
58 | public void setSpeed(double d) { moveSpeed = d; }
59 |
60 | public void update() {
61 |
62 | if(type == HORIZONTAL) {
63 | if(x > xmax) {
64 | right = false;
65 | left = true;
66 | }
67 | if(x < xmin) {
68 | right = true;
69 | left = false;
70 | }
71 | }
72 | if(type == VERTICAL) {
73 | if(y > ymax) {
74 | up = true;
75 | down = false;
76 | }
77 | if(y < ymin) {
78 | up = false;
79 | down = true;
80 | }
81 | }
82 |
83 | if(right) dx = moveSpeed;
84 | if(left) dx = -moveSpeed;
85 | if(up) dy = -moveSpeed;
86 | if(down) dy = moveSpeed;
87 |
88 | x += dx;
89 | y += dy;
90 |
91 | // update animation
92 | animation.update();
93 |
94 | }
95 |
96 | public void hit(int i) {
97 | if(invulnerable) return;
98 | JukeBox.play("enemyhit");
99 | health -= i;
100 | if(health <= 0) {
101 | health = 0;
102 | remove = true;
103 | }
104 | }
105 |
106 | public boolean shouldRemove() { return remove; }
107 |
108 | public void draw(Graphics2D g) {
109 |
110 | setMapPosition();
111 | g.setColor(java.awt.Color.BLACK);
112 | g.fillRect((int)(x + xmap - cwidth / 2), (int)(y + ymap - cheight / 2), cwidth, cheight);
113 |
114 | }
115 |
116 | }
117 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Player.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.managers.Animation;
8 | import com.neet.managers.Content;
9 | import com.neet.managers.GameObjectFactory;
10 | import com.neet.managers.Mouse;
11 | import com.neet.tilemap.TileMap;
12 |
13 | public class Player extends MapObject {
14 |
15 | private int health;
16 | private int maxHealth;
17 | private boolean flinching;
18 | private int flinchCount;
19 | private int flinchTime;
20 | private boolean knockback;
21 | private boolean dead;
22 |
23 | private int lives;
24 | private int score;
25 | private int rampage;
26 | private int maxRampage;
27 | private int rampageLevel;
28 |
29 | private boolean doubleJump;
30 | private boolean alreadyDoubleJump;
31 |
32 | private Weapon defaultWeapon;
33 | private Weapon currentWeapon;
34 | private boolean firing;
35 | public static int damageMultiplier;
36 |
37 | private int direction;
38 | public static final int UP = 0;
39 | public static final int UPRIGHT = 1;
40 | public static final int RIGHT = 2;
41 | public static final int DOWNRIGHT = 3;
42 | public static final int DOWN = 4;
43 | public static final int DOWNLEFT = 5;
44 | public static final int LEFT = 6;
45 | public static final int UPLEFT = 7;
46 |
47 | private ArrayList enemies;
48 | private ArrayList projectiles;
49 | private ArrayList collectables;
50 |
51 | private int currentAnimation;
52 | private Animation legAnimation;
53 | private int currentLegAnimation;
54 | private int numFramesLegs[] = {1, 8, 1};
55 | private static final int IDLE = 0;
56 | private static final int WALKING = 1;
57 | private static final int JUMPING = 2;
58 |
59 | public Player(
60 | TileMap tm,
61 | ArrayList ap,
62 | ArrayList e,
63 | ArrayList p,
64 | ArrayList c) {
65 |
66 | super(tm, ap);
67 | enemies = e;
68 | projectiles = p;
69 | collectables = c;
70 |
71 | moveSpeed = maxSpeed = stopSpeed = 1.4;
72 | fallSpeed = 0.12;
73 | maxFallSpeed = 4.0;
74 | jumpStart = -3.8;
75 | stopJumpSpeed = 0.15;
76 |
77 | health = maxHealth = 10;
78 |
79 | flinchTime = 120;
80 |
81 | facingRight = true;
82 |
83 | defaultWeapon = new Weapon(Weapon.MACHINE_GUN);
84 | currentWeapon = defaultWeapon;
85 | damageMultiplier = 1;
86 |
87 | animation.setFrames(Content.PLAYER_SPRITES[RIGHT], -1);
88 | currentAnimation = RIGHT;
89 | legAnimation = new Animation();
90 | legAnimation.setFrames(Content.PLAYER_LEG_SPRITES[0], -1);
91 | currentLegAnimation = IDLE;
92 |
93 | width = height = 32;
94 | cwidth = 10;
95 | cheight = 26;
96 |
97 | rampage = 0;
98 | maxRampage = 10;
99 | rampageLevel = 1;
100 |
101 | lives = 3;
102 |
103 | }
104 |
105 | public void setHealth(int i) { health = i; }
106 | public void setMaxHealth(int i) { maxHealth = i; }
107 | public void setLives(int i) { lives = i; }
108 | public void loseLife() { lives--; }
109 | public int getHealth() { return health; }
110 | public int getMaxHealth() { return maxHealth; }
111 | public int getScore() { return score; }
112 | public int getLives() { return lives; }
113 | public int getDirection() { return direction; }
114 | public boolean isDead() { return dead; }
115 | public int getRampage() { return rampage; }
116 | public int getMaxRampage() { return maxRampage; }
117 | public int getRampageLevel() { return rampageLevel; }
118 | public Weapon getWeapon() { return currentWeapon; }
119 |
120 | public void setJumping(boolean b) {
121 | if(knockback) return;
122 | if(!jumping && !falling && !alreadyDoubleJump && b && down && tileMap.getType(
123 | (int)(y + cheight / 2 + 1)/ tileMap.getTileSize(),
124 | (int)x / tileSize) == TileMap.LEDGE) {
125 | ledgeFall = true;
126 | return;
127 | }
128 | if(!ledgeFall) {
129 | if(b && !jumping && falling && !alreadyDoubleJump) {
130 | doubleJump = true;
131 | }
132 | jumping = b;
133 | }
134 | }
135 |
136 | public void setWeapon(Weapon w) {
137 | currentWeapon = w;
138 | }
139 |
140 | public void setFiring(boolean b) {
141 | if(!b && !currentWeapon.isAuto()) {
142 | currentWeapon.setRelease();
143 | }
144 | if(knockback) return;
145 | firing = b;
146 | }
147 |
148 | private void fire() {
149 | GameObjectFactory.createProjectile(x, y, currentWeapon.getType(), direction);
150 | double x = this.x;
151 | double y = this.y;
152 | if(direction == UP) {
153 | if(facingRight) {
154 | x -= 5;
155 | }
156 | else {
157 | x -= 3;
158 | }
159 | y -= 15;
160 | }
161 | else if(direction == UPRIGHT) {
162 | x += 5;
163 | y -= 12;
164 | }
165 | else if(direction == RIGHT) {
166 | x += 12;
167 | y -= 1;
168 | }
169 | else if(direction == DOWNRIGHT) {
170 | x += 5;
171 | y += 8;
172 | }
173 | else if(direction == DOWN) {
174 | if(facingRight) {
175 | x -= 3;
176 | }
177 | else {
178 | x -= 5;
179 | }
180 | y += 11;
181 | }
182 | else if(direction == DOWNLEFT) {
183 | x -= 12;
184 | y += 8;
185 | }
186 | else if(direction == LEFT) {
187 | x -= 18;
188 | y -= 1;
189 | }
190 | else if(direction == UPLEFT) {
191 | x -= 12;
192 | y -= 12;
193 | }
194 | GameObjectFactory.createExplosion(x, y, Explosion.GUN_FLASH, 4);
195 | }
196 |
197 | public void hit(int damage) {
198 | health -= damage;
199 | flinching = true;
200 | flinchCount = 0;
201 | dy = -3;
202 | knockback = true;
203 | falling = true;
204 | jumping = false;
205 | firing = false;
206 | if(rampageLevel > 1) {
207 | rampageLevel--;
208 | rampage = 0;
209 | setStats();
210 | }
211 | }
212 |
213 | public void restore(int amount) {
214 | health += amount;
215 | if(health > maxHealth) {
216 | health = maxHealth;
217 | }
218 | }
219 |
220 | private void setStats() {
221 | damageMultiplier = rampageLevel;
222 | }
223 |
224 | private void setAnimation(int i) {
225 | if(currentAnimation != i) {
226 | currentAnimation = i;
227 | animation.setFrames(Content.PLAYER_SPRITES[i], -1);
228 | }
229 | }
230 |
231 | private void setLegAnimation(int i) {
232 | if(currentLegAnimation != i) {
233 | currentLegAnimation = i;
234 | int d = numFramesLegs[i] == 1 ? -1 : 4;
235 | legAnimation.setFrames(Content.PLAYER_LEG_SPRITES[i], d, numFramesLegs[i]);
236 | }
237 | }
238 |
239 | private void getNextPosition() {
240 |
241 | if(knockback) {
242 | dy += fallSpeed * 2;
243 | if(facingRight) {
244 | dx = -1;
245 | }
246 | else {
247 | dx = 1;
248 | }
249 | if(dy > maxFallSpeed * 2) dy = maxFallSpeed * 2;
250 | if(!falling) knockback = false;
251 | return;
252 | }
253 |
254 | if(left) {
255 | if(dx > 0) {
256 | dx -= stopSpeed;
257 | }
258 | dx -= moveSpeed;
259 | if(dx < -maxSpeed) {
260 | dx = -maxSpeed;
261 | }
262 | }
263 | else if(right) {
264 | if(dx < 0) {
265 | dx += stopSpeed;
266 | }
267 | dx += moveSpeed;
268 | if(dx > maxSpeed) {
269 | dx = maxSpeed;
270 | }
271 | }
272 | else {
273 | if(dx > 0) {
274 | dx -= stopSpeed;
275 | if(dx < 0) {
276 | dx = 0;
277 | }
278 | }
279 | else if(dx < 0) {
280 | dx += stopSpeed;
281 | if(dx > 0) {
282 | dx = 0;
283 | }
284 | }
285 | }
286 |
287 | if(jumping && !falling) {
288 | dy = jumpStart;
289 | falling = true;
290 | }
291 |
292 | if(doubleJump) {
293 | dy = jumpStart;
294 | alreadyDoubleJump = true;
295 | doubleJump = false;
296 | }
297 |
298 | if(!falling) {
299 | alreadyDoubleJump = false;
300 | }
301 |
302 | if(ledgeFall || falling) {
303 | dy += fallSpeed;
304 | if(dy < 0 && !jumping) dy += stopJumpSpeed;
305 | if(dy > maxFallSpeed) dy = maxFallSpeed;
306 | }
307 |
308 | }
309 |
310 | public void update() {
311 |
312 | // set position
313 | getNextPosition();
314 | checkTileMapCollision();
315 | setPosition(xtemp, ytemp);
316 |
317 | if(dx == 0) x = (int)x;
318 | if(dy == 0) y = (int)y;
319 |
320 | // update/check projectile collision
321 | for(int i = 0; i < projectiles.size(); i++) {
322 | Projectile p = projectiles.get(i);
323 | p.update();
324 | if(p.shouldRemove()) {
325 | projectiles.remove(i);
326 | i--;
327 | GameObjectFactory.createExplosion(p.getx(), p.gety(), Explosion.GUN_HIT, 10);
328 | }
329 | }
330 |
331 | // update/check enemy collision
332 | for(int i = 0; i < enemies.size(); i++) {
333 | Enemy enemy = enemies.get(i);
334 | enemy.update();
335 | if(!flinching && intersects(enemy)) {
336 | hit(enemy.getDamage());
337 | }
338 | for(int j = 0; j < projectiles.size(); j++) {
339 | Projectile p = projectiles.get(j);
340 | if(!enemy.isFlinching() && p.intersects(enemy)) {
341 | enemy.hit(p.getDamage());
342 | projectiles.remove(j);
343 | j--;
344 | GameObjectFactory.createExplosion(p.getx(), p.gety(), Explosion.GUN_HIT, 10);
345 | }
346 | }
347 | if(enemy.shouldRemove()) {
348 | enemies.remove(i);
349 | i--;
350 | if(enemy.isDead()) {
351 | GameObjectFactory.createExplosion(enemy.getx(), enemy.gety(), Explosion.EXPLOSION, 3);
352 | }
353 | score += enemy.getScore();
354 | rampage += enemy.getRampage();
355 | if(rampage >= maxRampage && rampageLevel < 3) {
356 | rampage -= 10;
357 | rampageLevel++;
358 | setStats();
359 | GameObjectFactory.createPopupText(rampageLevel + "x DAMAGE", x, y - tileSize, Color.BLACK, Color.YELLOW);
360 | }
361 | if(rampageLevel == 3) {
362 | rampage = 10;
363 | }
364 | }
365 | }
366 |
367 | // update/check collectables
368 | for(int i = 0; i < collectables.size(); i++) {
369 | Collectable c = collectables.get(i);
370 | c.update();
371 | if(intersects(c)) {
372 | c.activate(this);
373 | collectables.remove(i);
374 | i--;
375 | continue;
376 | }
377 | if(c.shouldRemove()) {
378 | collectables.remove(i);
379 | i--;
380 | }
381 | }
382 |
383 | // check firing
384 | double angle = Math.atan2(Mouse.y - y - ymap, Mouse.x - x - xmap);
385 | if(angle > -0.39 && angle < 0.39) {
386 | direction = RIGHT;
387 | }
388 | else if(angle > 0.39 && angle < 1.18) {
389 | direction = DOWNRIGHT;
390 | }
391 | else if(angle > 1.18 && angle < 1.96) {
392 | direction = DOWN;
393 | }
394 | else if(angle > 1.96 && angle < 2.75) {
395 | direction = DOWNLEFT;
396 | }
397 | else if(angle > 2.75 || angle < -2.75) {
398 | direction = LEFT;
399 | }
400 | else if(angle > -2.75 && angle < -1.96) {
401 | direction = UPLEFT;
402 | }
403 | else if(angle > -1.96 && angle < -1.18) {
404 | direction = UP;
405 | }
406 | else if(angle > -1.18 && angle < -0.39) {
407 | direction = UPRIGHT;
408 | }
409 | currentWeapon.update();
410 | if(firing) {
411 | if(currentWeapon.canFire()) {
412 | currentWeapon.fire();
413 | fire();
414 | }
415 | }
416 | if(currentWeapon.isEmpty()) {
417 | currentWeapon = defaultWeapon;
418 | }
419 |
420 | // check flinch
421 | if(flinching) {
422 | flinchCount++;
423 | if(flinchCount > flinchTime) {
424 | flinching = false;
425 | }
426 | }
427 |
428 | // update animation
429 | if(falling) {
430 | setLegAnimation(JUMPING);
431 | }
432 | else if(left || right) {
433 | setLegAnimation(WALKING);
434 | }
435 | else {
436 | setLegAnimation(IDLE);
437 | }
438 | legAnimation.update();
439 | if(direction == UP) {
440 | setAnimation(UP);
441 | }
442 | else if(direction == UPRIGHT ||
443 | direction == UPLEFT) {
444 | setAnimation(UPRIGHT);
445 | }
446 | else if(direction == RIGHT ||
447 | direction == LEFT) {
448 | setAnimation(RIGHT);
449 | }
450 | else if(direction == DOWNRIGHT ||
451 | direction == DOWNLEFT) {
452 | setAnimation(DOWNRIGHT);
453 | }
454 | else if(direction == DOWN) {
455 | setAnimation(DOWN);
456 | }
457 | animation.update();
458 |
459 | // set direction
460 | if(!knockback) {
461 | if(direction == UPRIGHT ||
462 | direction == RIGHT ||
463 | direction == DOWNRIGHT) {
464 | facingRight = true;
465 | legAnimation.setReverse(left);
466 | }
467 | else if(direction == UPLEFT ||
468 | direction == LEFT ||
469 | direction == DOWNLEFT) {
470 | facingRight = false;
471 | legAnimation.setReverse(right);
472 | }
473 | }
474 |
475 | }
476 |
477 | public void draw(Graphics2D g) {
478 |
479 | if(flinching) {
480 | if(flinchCount % 8 < 4) {
481 | g.setXORMode(java.awt.Color.RED);
482 | }
483 | }
484 |
485 | // draw player
486 | super.draw(g);
487 | if(facingRight) {
488 | g.drawImage(
489 | legAnimation.getImage(),
490 | (int)(x + xmap - width / 2),
491 | (int)(y + ymap - height / 2),
492 | null
493 | );
494 | }
495 | else {
496 | g.drawImage(
497 | legAnimation.getImage(),
498 | (int)(x + xmap - width / 2 + width),
499 | (int)(y + ymap - height / 2),
500 | -width,
501 | height,
502 | null
503 | );
504 | }
505 |
506 | g.setPaintMode();
507 |
508 | }
509 |
510 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/PopupText.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.AlphaComposite;
4 | import java.awt.Color;
5 | import java.awt.Composite;
6 | import java.awt.FontMetrics;
7 | import java.awt.Graphics2D;
8 |
9 | import com.neet.managers.Content;
10 | import com.neet.managers.GameUtils;
11 | import com.neet.tilemap.TileMap;
12 |
13 | public class PopupText extends MapObject {
14 |
15 | private String text;
16 | private Color outer;
17 | private Color inner;
18 |
19 | private int timer;
20 | private int time;
21 | private float alpha;
22 |
23 | private boolean remove;
24 |
25 | public PopupText(TileMap tm, String s, double x, double y, Color c1, Color c2) {
26 | super(tm, null);
27 | text = s;
28 | outer = c1;
29 | inner = c2;
30 | this.x = x + tileMap.getx();
31 | this.y = y + tileMap.gety();
32 | timer = 0;
33 | time = 90;
34 | alpha = 1;
35 | }
36 |
37 | public boolean shouldRemove() { return remove; }
38 |
39 | public void update() {
40 | y -= 0.7;
41 | timer++;
42 | if(timer >= time) {
43 | remove = true;
44 | }
45 | if(timer > time / 2) {
46 | alpha = (float) (1 - 1.0 * (timer - (time / 2)) / (time / 2));
47 | }
48 | }
49 |
50 | public void draw(Graphics2D g) {
51 | Composite original = g.getComposite();
52 | g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
53 | FontMetrics fm = g.getFontMetrics();
54 | int adv = fm.stringWidth(text);
55 | g.setFont(Content.PS_FONT);
56 | GameUtils.drawOutlinedString(g, text, (int) x - adv / 2, (int) y, outer, inner);
57 | g.setComposite(original);
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Projectile.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 | import java.awt.Graphics2D;
4 | import java.awt.geom.AffineTransform;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.main.GamePanel;
8 | import com.neet.managers.Content;
9 | import com.neet.tilemap.TileMap;
10 |
11 | public class Projectile extends MapObject {
12 |
13 | private double speed;
14 | private double diagSpeed;
15 | private int damage;
16 | private int recoil;
17 |
18 | private double angle;
19 | private int direction;
20 | private AffineTransform tx;
21 | private int offset;
22 |
23 | private boolean remove;
24 |
25 | public Projectile(
26 | TileMap tm,
27 | ArrayList platforms,
28 | double x,
29 | double y,
30 | int direction,
31 | int type) {
32 |
33 | super(tm, platforms);
34 |
35 | this.x = x;
36 | this.y = y;
37 | this.direction = direction;
38 | angle = Math.toRadians(-90 + direction * 45);
39 |
40 | cwidth = cheight = 15;
41 |
42 | if(type == Weapon.MACHINE_GUN) {
43 | speed = 12;
44 | damage = 1 * Player.damageMultiplier;
45 | recoil = 10;
46 | animation.setFrames(Content.MG_BULLETS, 1);
47 | width = Content.MG_BULLETS[0].getWidth();
48 | height = Content.MG_BULLETS[0].getHeight();
49 | offset = 20;
50 | }
51 | else if(type == Weapon.SPREADER) {
52 | speed = 8;
53 | damage = 1 * Player.damageMultiplier;
54 | recoil = 0;
55 | animation.setFrames(Content.MG_BULLETS, 1);
56 | width = Content.MG_BULLETS[0].getWidth();
57 | height = Content.MG_BULLETS[0].getHeight();
58 | offset = 20;
59 | }
60 | else if(type == Weapon.HIGH_CALIBER) {
61 | speed = 12;
62 | damage = 5 * Player.damageMultiplier;
63 | recoil = 0;
64 | animation.setFrames(Content.MG_BULLETS, 1);
65 | width = Content.MG_BULLETS[0].getWidth();
66 | height = Content.MG_BULLETS[0].getHeight();
67 | offset = 10;
68 | }
69 | else if(type == Weapon.FLAMING_MACHINE_GUN) {
70 | speed = 14;
71 | damage = 2 * Player.damageMultiplier;
72 | recoil = 10;
73 | animation.setFrames(Content.FMG_BULLETS, 1);
74 | width = Content.FMG_BULLETS[0].getWidth();
75 | height = Content.FMG_BULLETS[0].getHeight();
76 | offset = 20;
77 | }
78 | diagSpeed = speed / 1.41;
79 |
80 | if(recoil == 0) {
81 | setDirection();
82 | }
83 | else {
84 | setRecoil();
85 | }
86 |
87 | setOffset(direction);
88 | tx = new AffineTransform();
89 |
90 | }
91 |
92 | public double getSpeed() { return speed; }
93 | public int getDamage() { return damage; }
94 | public double getRecoil() { return recoil; }
95 |
96 | private void setDirection() {
97 | if(direction == Player.LEFT) {
98 | dx = -speed;
99 | }
100 | else if(direction == Player.RIGHT) {
101 | dx = speed;
102 | }
103 | else if(direction == Player.UP) {
104 | dy = -speed;
105 | }
106 | else if(direction == Player.DOWN) {
107 | dy = speed;
108 | }
109 | else if(direction == Player.UPLEFT) {
110 | dx = -diagSpeed;
111 | dy = -diagSpeed;
112 | }
113 | else if(direction == Player.UPRIGHT) {
114 | dx = diagSpeed;
115 | dy = -diagSpeed;
116 | }
117 | else if(direction == Player.DOWNRIGHT) {
118 | dx = diagSpeed;
119 | dy = diagSpeed;
120 | }
121 | else if(direction == Player.DOWNLEFT) {
122 | dx = -diagSpeed;
123 | dy = diagSpeed;
124 | }
125 | }
126 |
127 | private void setRecoil() {
128 | int rand = (int) (Math.random() * recoil) - recoil / 2;
129 | angle += Math.toRadians(rand);
130 | dx = Math.cos(angle);
131 | dy = Math.sin(angle);
132 | dx *= speed;
133 | dy *= speed;
134 | }
135 |
136 | private void setOffset(int i) {
137 | int doffset = (int) (1.0 * offset / 1.41);
138 | if(i == Player.LEFT) {
139 | x -= offset;
140 | }
141 | else if(i == Player. RIGHT) {
142 | x += offset;
143 | }
144 | else if(i == Player. UP) {
145 | y -= offset;
146 | }
147 | else if(i == Player. DOWN) {
148 | y += offset;
149 | }
150 | else if(i == Player. UPLEFT) {
151 | x -= doffset;
152 | y -= doffset;
153 | }
154 | else if(i == Player. UPRIGHT) {
155 | x += doffset;
156 | y -= doffset;
157 | }
158 | else if(i == Player. DOWNLEFT) {
159 | x -= doffset;
160 | y += doffset;
161 | }
162 | else if(i == Player. DOWNRIGHT) {
163 | x += doffset;
164 | y += doffset;
165 | }
166 | }
167 |
168 | public void setAngle(int angle) {
169 | this.angle = Math.toRadians(angle);
170 | dx = Math.cos(this.angle);
171 | dy = Math.sin(this.angle);
172 | dx *= speed;
173 | dy *= speed;
174 | }
175 |
176 | public void setVector(double dx, double dy) {
177 | this.dx = dx;
178 | this.dy = dy;
179 | }
180 |
181 | public void update() {
182 | x += dx;
183 | y += dy;
184 | //if(x < 0 || x > tileMap.getWidth() || y < 0 || y > tileMap.getHeight()) {
185 | if(x < -tileMap.getx() || x > -tileMap.getx() + GamePanel.WIDTH ||
186 | y < -tileMap.gety() || y > -tileMap.gety() + GamePanel.HEIGHT) {
187 | hit();
188 | }
189 | if(tileMap.getType(
190 | (int)y / tileMap.getTileSize(),
191 | (int)x / tileMap.getTileSize()) == TileMap.BLOCKED) {
192 | hit();
193 | }
194 | if(tileMap.getType(
195 | (int)y / tileMap.getTileSize(),
196 | (int)x / tileMap.getTileSize()) == TileMap.LEDGE && dy > 0) {
197 | hit();
198 | }
199 | }
200 |
201 | public void hit() {
202 | remove = true;
203 | }
204 |
205 | public boolean shouldRemove() {
206 | return remove;
207 | }
208 |
209 | public void draw(Graphics2D g) {
210 |
211 | tx = new AffineTransform();
212 | tx.translate(tileMap.getx() + x, tileMap.gety() + y);
213 | tx.rotate(1.57 + angle);
214 | tx.translate(-width / 2, -height / 2);
215 |
216 | g.drawImage(animation.getImage(), tx, null);
217 |
218 | }
219 |
220 | }
221 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/Weapon.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity;
2 |
3 |
4 | public class Weapon {
5 |
6 | public static final int MACHINE_GUN = 0;
7 | public static final int SPREADER = 1;
8 | public static final int HIGH_CALIBER = 2;
9 | public static final int FLAMING_MACHINE_GUN = 3;
10 |
11 | private int type;
12 | private boolean auto;
13 | private int delay;
14 | private long timer;
15 | private boolean release;
16 | private boolean ready;
17 | private int ammo;
18 |
19 | public Weapon(int type) {
20 |
21 | this.type = type;
22 |
23 | initStats();
24 |
25 | timer = delay;
26 | ready = true;
27 | release = true;
28 |
29 | }
30 |
31 | private void initStats() {
32 | if(type == MACHINE_GUN) {
33 | delay = 8;
34 | auto = true;
35 | ammo = -1;
36 | }
37 | else if(type == SPREADER) {
38 | delay = 10;
39 | auto = true;
40 | ammo = 75;
41 | }
42 | else if(type == HIGH_CALIBER) {
43 | delay = 20;
44 | auto = true;
45 | ammo = 50;
46 | }
47 | else if(type == FLAMING_MACHINE_GUN) {
48 | delay = 5;
49 | auto = true;
50 | ammo = 100;
51 | }
52 | }
53 |
54 | public int getType() { return type; }
55 | public boolean isAuto() { return auto; }
56 | public int getDelay() { return delay; }
57 | public int getAmmo() { return ammo; }
58 | public boolean isEmpty() { return ammo == 0; }
59 |
60 | public boolean canFire() {
61 | if(ammo == 0) return false;
62 | ready = timer >= delay;
63 | if(auto) return ready;
64 | return ready && release;
65 | }
66 |
67 | public void setRelease() {
68 | release = true;
69 | }
70 |
71 | public void fire() {
72 | timer = 0;
73 | ready = false;
74 | release = false;
75 | if(ammo > 0) {
76 | ammo--;
77 | }
78 | }
79 |
80 | public void update() {
81 | timer++;
82 | }
83 |
84 | }
85 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/collectables/WeaponC.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.collectables;
2 |
3 | import java.awt.Graphics2D;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.entity.Collectable;
7 | import com.neet.entity.Platform;
8 | import com.neet.entity.Player;
9 | import com.neet.entity.Weapon;
10 | import com.neet.tilemap.TileMap;
11 |
12 | public class WeaponC extends Collectable {
13 |
14 | private int type;
15 |
16 | public WeaponC(TileMap tm, ArrayList p, int type) {
17 | super(tm, p);
18 | this.type = type;
19 | cwidth = cheight = width = height = 10;
20 | }
21 |
22 | public void activate(Player player) {
23 | player.setWeapon(new Weapon(type));
24 | }
25 |
26 | public void draw(Graphics2D g) {
27 |
28 | setMapPosition();
29 | g.setColor(java.awt.Color.WHITE);
30 | g.fillOval(
31 | (int)(x + xmap - width / 2),
32 | (int)(y + ymap - height / 2),
33 | width,
34 | height
35 | );
36 |
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/enemies/Blocker.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.enemies;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.entity.Enemy;
8 | import com.neet.entity.Platform;
9 | import com.neet.entity.Player;
10 | import com.neet.managers.Content;
11 | import com.neet.managers.GameObjectFactory;
12 | import com.neet.tilemap.TileMap;
13 |
14 | public class Blocker extends Enemy {
15 |
16 | private int state;
17 | private final int MOVING_TO_PLAYER = 0;
18 | private final int SHOOTING = 1;
19 | private final int COOLDOWN = 2;
20 |
21 | private int shootingRange;
22 |
23 | private int coolDownTimer;
24 | private int coolDownTime;
25 |
26 | private final int IDLE = 0;
27 | private final int MOVING = 1;
28 |
29 | public Blocker(TileMap tm, ArrayList p, Player pl) {
30 |
31 | super(tm, p, pl);
32 |
33 | health = maxHealth = 8;
34 |
35 | maxSpeed = 1.0;
36 | fallSpeed = 0.8;
37 | maxFallSpeed = 4;
38 | damage = 1;
39 |
40 | width = height = 40;
41 | cwidth = 30;
42 | cheight = 28;
43 | right = true;
44 |
45 | score = 10;
46 |
47 | state = MOVING_TO_PLAYER;
48 | shootingRange = 130;
49 |
50 | coolDownTime = 180;
51 | coolDownTimer = 0;
52 |
53 | currentAction = MOVING;
54 | animation.setFrames(Content.BLOCKER[MOVING], 2);
55 |
56 | rampage = 2;
57 |
58 | flinchDelay = 5;
59 |
60 | }
61 |
62 | public Blocker(TileMap tm, ArrayList p, Player pl, double x, double y) {
63 | this(tm, p, pl);
64 | this.x = x;
65 | this.y = y;
66 | }
67 |
68 | private void getNextPosition() {
69 | if(left) {
70 | dx = -maxSpeed;
71 | }
72 | else if(right) {
73 | dx = maxSpeed;
74 | }
75 | else {
76 | dx = 0;
77 | }
78 | if(falling) {
79 | dy += fallSpeed;
80 | if(dy > maxFallSpeed) dy = maxFallSpeed;
81 | dx = 0;
82 | }
83 | }
84 |
85 | public void update() {
86 |
87 | super.update();
88 |
89 | if(state == MOVING_TO_PLAYER) {
90 | if(player.getx() < x) {
91 | left = true;
92 | right = facingRight = false;
93 | }
94 | if(player.getx() > x) {
95 | left = false;
96 | right = facingRight = true;
97 | }
98 | if(Math.abs(player.getx() - x) < shootingRange &&
99 | Math.abs(player.gety() - y) < 10) {
100 | state = SHOOTING;
101 | }
102 | }
103 | else if(state == SHOOTING) {
104 | left = right = false;
105 | GameObjectFactory.createEnemyRocket(x, y);
106 | state = COOLDOWN;
107 | }
108 | else if(state == COOLDOWN) {
109 | coolDownTimer++;
110 | if(coolDownTimer > coolDownTime) {
111 | coolDownTimer = 0;
112 | state = MOVING_TO_PLAYER;
113 | }
114 | }
115 |
116 | getNextPosition();
117 | checkTileMapCollision();
118 | setPosition(xtemp, ytemp);
119 |
120 | if(state == MOVING_TO_PLAYER) {
121 | if(currentAction != MOVING) {
122 | currentAction = MOVING;
123 | animation.setFrames(Content.BLOCKER[MOVING], 2);
124 | }
125 | }
126 | else {
127 | if(currentAction != IDLE) {
128 | currentAction = IDLE;
129 | animation.setFrames(Content.BLOCKER[IDLE], 2);
130 | }
131 | }
132 | animation.update();
133 |
134 | }
135 |
136 | public void draw(Graphics2D g) {
137 |
138 | setMapPosition();
139 |
140 | if(flinching) {
141 | g.setXORMode(Color.RED);
142 | }
143 | super.draw(g);
144 | g.setPaintMode();
145 |
146 | /*if(health < maxHealth) {
147 | g.setColor(java.awt.Color.RED);
148 | g.fillRect((int)(x + xmap - 10), (int)(y + ymap - height), 20, 2);
149 | g.setColor(java.awt.Color.GREEN);
150 | g.fillRect((int)(x + xmap - 10), (int)(y + ymap - height), (int) (20.0 * health / maxHealth), 2);
151 | }*/
152 |
153 | }
154 |
155 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/enemies/Bullet.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.enemies;
2 |
3 | import java.awt.Graphics2D;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.entity.Enemy;
7 | import com.neet.entity.Platform;
8 | import com.neet.main.GamePanel;
9 | import com.neet.managers.Content;
10 | import com.neet.tilemap.TileMap;
11 |
12 | public class Bullet extends Enemy {
13 |
14 | public Bullet(TileMap tm, ArrayList p) {
15 | super(tm, p, null);
16 | width = height = 5;
17 | cwidth = cheight = 5;
18 | damage = 1;
19 | animation.setFrames(Content.ENEMY_BULLET, 2);
20 | flinching = true;
21 | }
22 |
23 | public void update() {
24 | x += dx;
25 | y += dy;
26 | animation.update();
27 | if(x < -tileMap.getx() - GamePanel.WIDTH / 2 ||
28 | x > -tileMap.getx() + GamePanel.WIDTH + GamePanel.WIDTH / 2) {
29 | remove = true;
30 | }
31 | }
32 |
33 | public void draw(Graphics2D g) {
34 | super.draw(g);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/enemies/EnergyGate.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.enemies;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 |
6 | import com.neet.entity.Enemy;
7 | import com.neet.managers.Animation;
8 | import com.neet.managers.Content;
9 | import com.neet.tilemap.TileMap;
10 |
11 | public class EnergyGate extends Enemy {
12 |
13 | private int gateHeight;
14 |
15 | private Animation topGate;
16 | private Animation energy;
17 | private Animation bottomGate;
18 |
19 | public EnergyGate(TileMap tm) {
20 |
21 | super(tm, null, null);
22 |
23 | health = maxHealth = Integer.MAX_VALUE;
24 | width = height = 32;
25 | flinchDelay = 5;
26 |
27 | topGate = new Animation();
28 | topGate.setFrames(Content.ENERGY_GATE[0], 2);
29 | energy = new Animation();
30 | energy.setFrames(Content.ENERGY_GATE[1], 2);
31 | bottomGate = new Animation();
32 | bottomGate.setFrames(Content.ENERGY_GATE[2], 2);
33 |
34 | }
35 |
36 | public EnergyGate(TileMap tm, double x, double y, int gateHeight) {
37 | this(tm);
38 | this.x = x;
39 | this.y = y;
40 | this.gateHeight = gateHeight;
41 | cwidth = width;
42 | cheight = gateHeight;
43 | }
44 |
45 | public void hit() {
46 | if(dead || flinching) return;
47 | flinching = true;
48 | flinchCount = 0;
49 | }
50 |
51 | public void hit(int damage) {
52 | return;
53 | }
54 |
55 | public void update() {
56 | super.update();
57 | topGate.update();
58 | energy.update();
59 | bottomGate.update();
60 | }
61 |
62 | public void draw(Graphics2D g) {
63 | setMapPosition();
64 | if(flinching) {
65 | g.setXORMode(Color.RED);
66 | }
67 | g.drawImage(topGate.getImage(), (int) (x + xmap - width / 2), (int) (y + ymap - gateHeight / 2 - 1), null);
68 | g.drawImage(bottomGate.getImage(), (int) (x + xmap - width / 2), (int) (y + ymap + gateHeight / 2 - height + 1), null);
69 | g.setPaintMode();
70 | }
71 |
72 | }
73 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/enemies/EnergyGateSource.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.enemies;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.entity.Enemy;
8 | import com.neet.entity.Platform;
9 | import com.neet.entity.Player;
10 | import com.neet.managers.Content;
11 | import com.neet.tilemap.TileMap;
12 |
13 | public class EnergyGateSource extends Enemy {
14 |
15 | private EnergyGate energyGate;
16 |
17 | public EnergyGateSource(TileMap tm, ArrayList p, Player pl, EnergyGate eg) {
18 |
19 | super(tm, p, pl);
20 |
21 | energyGate = eg;
22 |
23 | width = height = cwidth = cheight = 32;
24 | flinchDelay = 5;
25 |
26 | health = maxHealth = 15;
27 | damage = 1;
28 | score = 50;
29 | rampage = 5;
30 |
31 | animation.setFrames(Content.ENERGY_GATE_SOURCE[0], 2);
32 |
33 | }
34 |
35 | public EnergyGateSource(TileMap tm, ArrayList p, Player pl, EnergyGate eg, double x, double y) {
36 | this(tm, p, pl, eg);
37 | this.x = x;
38 | this.y = y;
39 | }
40 |
41 | public void hit(int damage) {
42 | super.hit(damage);
43 | energyGate.hit();
44 | if(dead) energyGate.setDead();
45 | }
46 |
47 | public void update() {
48 | super.update();
49 | animation.update();
50 | }
51 |
52 | public void draw(Graphics2D g) {
53 | if(flinching) {
54 | g.setXORMode(Color.RED);
55 | }
56 | super.draw(g);
57 | g.setPaintMode();
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/enemies/Rocket.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.enemies;
2 |
3 | import java.awt.Graphics2D;
4 | import java.awt.geom.AffineTransform;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.entity.Enemy;
8 | import com.neet.entity.Platform;
9 | import com.neet.entity.Player;
10 | import com.neet.managers.Content;
11 | import com.neet.tilemap.TileMap;
12 |
13 | public class Rocket extends Enemy {
14 |
15 | private double radians;
16 | private double destRadians;
17 | private int rotateFactor;
18 |
19 | private AffineTransform tx;
20 |
21 | private int timer;
22 | private int time;
23 |
24 | public Rocket(TileMap tm, ArrayList p, Player pl, double x, double y) {
25 |
26 | super(tm, p, pl);
27 |
28 | this.x = x;
29 | this.y = y;
30 |
31 | tx = new AffineTransform();
32 |
33 | maxSpeed = 1.8;
34 | score = 5;
35 |
36 | width = 7;
37 | height = 15;
38 | cwidth = cheight = 15;
39 |
40 | animation.setFrames(Content.ENEMY_ROCKET, 2);
41 |
42 | radians = -3.1415 / 2;
43 | rotateFactor = 60;
44 |
45 | health = maxHealth = 1;
46 |
47 | timer = 0;
48 | time = 600;
49 |
50 | damage = 1;
51 |
52 | }
53 |
54 | public void update() {
55 |
56 | super.update();
57 |
58 | timer++;
59 | if(timer > time) {
60 | dead = remove = true;
61 | }
62 |
63 | destRadians = Math.atan2(player.gety() - y, player.getx() - x);
64 | double deltaRadians = destRadians - radians;
65 | if(deltaRadians > 3.1415) {
66 | deltaRadians -= 3.1415 * 2;
67 | }
68 | else if(deltaRadians < -3.1415) {
69 | deltaRadians += 3.1415 * 2;
70 | }
71 | radians += deltaRadians / rotateFactor;
72 | if(radians > 3.1415 * 2) radians -= 3.1415 * 2;
73 | if(radians < -3.1415 * 2) radians += 3.1415 * 2;
74 |
75 | dx = Math.cos(radians) * maxSpeed;
76 | dy = Math.sin(radians) * maxSpeed;
77 |
78 | x += dx;
79 | y += dy;
80 |
81 | if(checkTileMapCollision()) {
82 | dead = remove = true;
83 | }
84 |
85 | if(intersects(player)) {
86 | dead = remove = true;
87 | }
88 |
89 | }
90 |
91 | public void draw(Graphics2D g) {
92 |
93 | setMapPosition();
94 |
95 | tx.setToIdentity();
96 | tx.translate(x + xmap, y + ymap);
97 | tx.rotate(3.14/2 + radians);
98 | tx.translate(-width / 2, -height / 2);
99 |
100 | g.drawImage(animation.getImage(), tx, null);
101 |
102 | }
103 |
104 | }
105 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/enemies/Sensor.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.enemies;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.entity.Enemy;
8 | import com.neet.entity.Platform;
9 | import com.neet.entity.Player;
10 | import com.neet.managers.Content;
11 | import com.neet.managers.GameObjectFactory;
12 | import com.neet.tilemap.TileMap;
13 |
14 | public class Sensor extends Enemy {
15 |
16 | private int range;
17 | private int timer;
18 | private int delay;
19 |
20 | public Sensor(TileMap tm, ArrayList p, Player pl) {
21 |
22 | super(tm, p, pl);
23 |
24 | cwidth = cheight = width = height = 25;
25 | animation.setFrames(Content.SENSOR[0], 2);
26 |
27 | flinchDelay = 5;
28 |
29 | health = maxHealth = 8;
30 | damage = 1;
31 | score = 5;
32 | rampage = 2;
33 |
34 | range = 200;
35 | delay = 150;
36 | timer = delay;
37 |
38 | }
39 |
40 | public Sensor(TileMap tm, ArrayList p, Player pl, double x, double y) {
41 | this(tm, p, pl);
42 | this.x = x;
43 | this.y = y;
44 | }
45 |
46 | public void update() {
47 |
48 | super.update();
49 | animation.update();
50 |
51 | if(player.getx() > x - range && player.getx() < x + range && player.gety() > y) {
52 | timer++;
53 | if(timer >= delay) {
54 | timer = 0;
55 | GameObjectFactory.createEnemyBullet(x, y, -1.41, 1.41);
56 | GameObjectFactory.createEnemyBullet(x, y, 0, 2);
57 | GameObjectFactory.createEnemyBullet(x, y, 1.41, 1.41);
58 | }
59 | }
60 |
61 | }
62 |
63 | public void draw(Graphics2D g) {
64 |
65 | if(flinching) {
66 | g.setXORMode(Color.RED);
67 | }
68 | super.draw(g);
69 | g.setPaintMode();
70 |
71 | /*if(health < maxHealth) {
72 | g.setColor(java.awt.Color.RED);
73 | g.fillRect((int)(x + xmap - 10), (int)(y + ymap - height), 20, 2);
74 | g.setColor(java.awt.Color.GREEN);
75 | g.fillRect((int)(x + xmap - 10), (int)(y + ymap - height), (int) (20.0 * health / maxHealth), 2);
76 | }*/
77 |
78 | }
79 |
80 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/entity/enemies/Sentry.java:
--------------------------------------------------------------------------------
1 | package com.neet.entity.enemies;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 | import java.util.ArrayList;
6 |
7 | import com.neet.entity.Enemy;
8 | import com.neet.entity.Platform;
9 | import com.neet.entity.Player;
10 | import com.neet.managers.Content;
11 | import com.neet.managers.GameObjectFactory;
12 | import com.neet.tilemap.TileMap;
13 |
14 | public class Sentry extends Enemy {
15 |
16 | private int state;
17 | private final int MOVING_TO_PLAYER = 0;
18 | private final int SHOOTING = 1;
19 | private final int COOLDOWN = 2;
20 |
21 | private int shootingRange;
22 |
23 | private int coolDownTimer;
24 | private int coolDownTime;
25 |
26 | private final int IDLE = 0;
27 | private final int MOVING = 1;
28 |
29 | public Sentry(TileMap tm, ArrayList p, Player pl) {
30 |
31 | super(tm, p, pl);
32 |
33 | width = height = 32;
34 | cwidth = 20;
35 | cheight = 28;
36 | right = true;
37 |
38 | maxSpeed = 0.8;
39 | fallSpeed = 0.8;
40 | maxFallSpeed = 4;
41 | flinchDelay = 5;
42 |
43 | health = maxHealth = 5;
44 | damage = 1;
45 | score = 5;
46 | rampage = 1;
47 |
48 | state = MOVING_TO_PLAYER;
49 | shootingRange = 150;
50 |
51 | coolDownTime = 150;
52 | coolDownTimer = 0;
53 |
54 | currentAction = MOVING;
55 | animation.setFrames(Content.SENTRY[MOVING], 2);
56 |
57 | }
58 |
59 | public Sentry(TileMap tm, ArrayList p, Player pl, double x, double y) {
60 | this(tm, p, pl);
61 | this.x = x;
62 | this.y = y;
63 | }
64 |
65 | private void getNextPosition() {
66 | if(left) {
67 | dx = -maxSpeed;
68 | }
69 | else if(right) {
70 | dx = maxSpeed;
71 | }
72 | else {
73 | dx = 0;
74 | }
75 | if(falling) {
76 | dy += fallSpeed;
77 | if(dy > maxFallSpeed) dy = maxFallSpeed;
78 | dx = 0;
79 | }
80 | }
81 |
82 | public void update() {
83 |
84 | super.update();
85 |
86 | if(state == MOVING_TO_PLAYER) {
87 | if(player.getx() < x) {
88 | left = true;
89 | right = facingRight = false;
90 | }
91 | if(player.getx() > x) {
92 | left = false;
93 | right = facingRight = true;
94 | }
95 | if(Math.abs(player.getx() - x) < shootingRange &&
96 | Math.abs(player.gety() - y) < 10) {
97 | state = SHOOTING;
98 | }
99 | }
100 | else if(state == SHOOTING) {
101 | left = right = false;
102 | if(player.getx() < x) {
103 | GameObjectFactory.createEnemyBullet(x - 13, y - 6, -2, 0);
104 | facingRight = false;
105 | }
106 | else {
107 | GameObjectFactory.createEnemyBullet(x, y - 6, 2, 0);
108 | facingRight = true;
109 | }
110 | state = COOLDOWN;
111 | }
112 | else if(state == COOLDOWN) {
113 | coolDownTimer++;
114 | if(coolDownTimer > coolDownTime) {
115 | coolDownTimer = 0;
116 | if(Math.abs(player.getx() - x) < shootingRange) {
117 | state = SHOOTING;
118 | }
119 | else {
120 | state = MOVING_TO_PLAYER;
121 | }
122 | }
123 | }
124 |
125 | getNextPosition();
126 | checkTileMapCollision();
127 | setPosition(xtemp, ytemp);
128 |
129 | if(state == MOVING_TO_PLAYER) {
130 | if(currentAction != MOVING) {
131 | currentAction = MOVING;
132 | animation.setFrames(Content.SENTRY[MOVING], 2);
133 | }
134 | }
135 | else {
136 | if(currentAction != IDLE) {
137 | currentAction = IDLE;
138 | animation.setFrames(Content.SENTRY[IDLE], 2);
139 | }
140 | }
141 | animation.update();
142 |
143 | }
144 |
145 | public void draw(Graphics2D g) {
146 |
147 | if(flinching) {
148 | g.setXORMode(Color.RED);
149 | }
150 | super.draw(g);
151 | g.setPaintMode();
152 |
153 | /*if(health < maxHealth) {
154 | g.setColor(java.awt.Color.RED);
155 | g.fillRect((int)(x + xmap - 10), (int)(y + ymap - height), 20, 2);
156 | g.setColor(java.awt.Color.GREEN);
157 | g.fillRect((int)(x + xmap - 10), (int)(y + ymap - height), (int) (20.0 * health / maxHealth), 2);
158 | }*/
159 |
160 | }
161 |
162 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/gamestates/DemoAct1.java:
--------------------------------------------------------------------------------
1 | package com.neet.gamestates;
2 |
3 | import java.awt.Graphics2D;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.entity.Collectable;
7 | import com.neet.entity.Enemy;
8 | import com.neet.entity.Explosion;
9 | import com.neet.entity.Platform;
10 | import com.neet.entity.Player;
11 | import com.neet.entity.PopupText;
12 | import com.neet.entity.Projectile;
13 | import com.neet.entity.enemies.Blocker;
14 | import com.neet.entity.enemies.EnergyGate;
15 | import com.neet.entity.enemies.EnergyGateSource;
16 | import com.neet.entity.enemies.Sensor;
17 | import com.neet.entity.enemies.Sentry;
18 | import com.neet.main.Game;
19 | import com.neet.main.GamePanel;
20 | import com.neet.managers.Content;
21 | import com.neet.managers.GameObjectFactory;
22 | import com.neet.managers.GameStateManager;
23 | import com.neet.managers.Keys;
24 | import com.neet.managers.Mouse;
25 | import com.neet.tilemap.Background;
26 | import com.neet.tilemap.TileMap;
27 | import com.neet.ui.Cursor;
28 | import com.neet.ui.HUD;
29 |
30 | public class DemoAct1 extends GameState {
31 |
32 | private Player player;
33 | private TileMap tileMap;
34 |
35 | private ArrayList platforms;
36 | private ArrayList enemies;
37 | private ArrayList projectiles;
38 | private ArrayList collectables;
39 | private ArrayList explosions;
40 | private ArrayList popupTexts;
41 |
42 | private HUD hud;
43 | private Cursor cursor;
44 |
45 | private Background skyBG;
46 | private Background cloudBG;
47 | private Background mountainBG;
48 |
49 | private boolean set1;
50 | private boolean set2;
51 | private boolean set3;
52 | private boolean set4;
53 | private boolean set5;
54 | private boolean set6;
55 | private boolean set7;
56 | private boolean set8;
57 | private boolean set9;
58 | private boolean set10;
59 |
60 | public DemoAct1(GameStateManager gsm) {
61 | super(gsm);
62 | }
63 |
64 | public void init() {
65 |
66 | // init lists
67 | platforms = new ArrayList();
68 | enemies = new ArrayList();
69 | projectiles = new ArrayList();
70 | collectables = new ArrayList();
71 | explosions = new ArrayList();
72 | popupTexts = new ArrayList();
73 |
74 | // setup tilemap
75 | tileMap = new TileMap(16);
76 | tileMap.loadTileset(Content.ELECTRIC_TS);
77 | tileMap.loadMap("/maps/demoact1.tme");
78 | tileMap.setPosition(0, 0);
79 | tileMap.setTween(0.07);
80 |
81 | // setup player
82 | player = new Player(
83 | tileMap,
84 | platforms,
85 | enemies,
86 | projectiles,
87 | collectables);
88 | player.setPosition(300, 531);
89 | //player.setPosition(1100, 347);
90 | tileMap.setPositionImmediately(
91 | GamePanel.WIDTH / 2 - player.getx(),
92 | GamePanel.HEIGHT / 2 - player.gety()
93 | );
94 | tileMap.setBounds(tileMap.getWidth(), 639, -256, 0);
95 | Mouse.setPosition(317, 547);
96 |
97 | // set up factory
98 | GameObjectFactory.player = player;
99 | GameObjectFactory.tileMap = tileMap;
100 | GameObjectFactory.platforms = platforms;
101 | GameObjectFactory.projectiles = projectiles;
102 | GameObjectFactory.explosions = explosions;
103 | GameObjectFactory.enemies = enemies;
104 | GameObjectFactory.popupTexts = popupTexts;
105 |
106 | // set HUD
107 | hud = new HUD(player);
108 |
109 | // set cursor
110 | Game.setCursorVisible(false);
111 | cursor = new Cursor(Content.CURSOR, 1);
112 |
113 | skyBG = new Background(Content.SKY_BG, 0);
114 | cloudBG = new Background(Content.CLOUD_BG, 0.05);
115 | mountainBG = new Background(Content.MOUNTAIN_BG, 0.1);
116 |
117 | // test enemies
118 | enemies.add(new Sensor(tileMap, platforms, player, 1000, 345));
119 | enemies.add(new Sensor(tileMap, platforms, player, 1100, 345));
120 | enemies.add(new Sensor(tileMap, platforms, player, 1200, 345));
121 |
122 | EnergyGate eg = new EnergyGate(tileMap, 1380, 425, 48);
123 | enemies.add(new EnergyGateSource(tileMap, platforms, player, eg, 1345, 360));
124 | enemies.add(eg);
125 |
126 | }
127 |
128 | private void spawnEnemies() {
129 |
130 | if(!set1 && player.getx() > 450) {
131 | set1 = true;
132 | for(int i = 0; i < 3; i++) {
133 | Sentry s = new Sentry(tileMap, platforms, player);
134 | s.setPosition(650 + 40 * i, 546);
135 | enemies.add(s);
136 | }
137 | }
138 |
139 | if(!set2 && player.getx() > 1000) {
140 | set2 = true;
141 | Sentry s = new Sentry(tileMap, platforms, player);
142 | s.setPosition(1200, 466);
143 | enemies.add(s);
144 | }
145 |
146 | if(!set3 && player.getx() > 1600) {
147 | set3 = true;
148 | for(int i = 0; i < 3; i++) {
149 | Sentry s = new Sentry(tileMap, platforms, player);
150 | s.setPosition(1850 + 32 * i, 306);
151 | enemies.add(s);
152 | }
153 | }
154 |
155 | if(!set4 && player.getx() > 1968) {
156 | set4 = true;
157 | enemies.clear();
158 | enemies.add(new Sentry(tileMap, platforms, player, 2000, -300));
159 | enemies.add(new Sentry(tileMap, platforms, player, 2230, -300));
160 | }
161 |
162 | if(!set5 && set4 && enemies.size() == 0) {
163 | set5 = true;
164 | enemies.add(new Sentry(tileMap, platforms, player, 2050, -32));
165 | enemies.add(new Sentry(tileMap, platforms, player, 2180, -32));
166 | }
167 |
168 | if(!set6 && set5 && enemies.size() == 0) {
169 | set6 = true;
170 | enemies.add(new Sentry(tileMap, platforms, player, 2100, -32));
171 | enemies.add(new Sentry(tileMap, platforms, player, 2130, -32));
172 | }
173 |
174 | if(!set7 && set6 && enemies.size() == 0) {
175 | set7 = true;
176 | enemies.add(new Blocker(tileMap, platforms, player, 2000, -32));
177 | enemies.add(new Blocker(tileMap, platforms, player, 2230, -32));
178 | }
179 |
180 | if(!set8 && set7 && enemies.size() == 0) {
181 | set8 = true;
182 | enemies.add(new Blocker(tileMap, platforms, player, 2050, -32));
183 | enemies.add(new Blocker(tileMap, platforms, player, 2180, -32));
184 | }
185 |
186 | if(!set9 && set8 && enemies.size() == 0) {
187 | set9 = true;
188 | enemies.add(new Blocker(tileMap, platforms, player, 2100, -32));
189 | enemies.add(new Blocker(tileMap, platforms, player, 2130, -32));
190 | }
191 |
192 | if(!set10 && set9 && enemies.size() == 0) {
193 | set10 = true;
194 | enemies.add(new Blocker(tileMap, platforms, player, 2000, -32));
195 | enemies.add(new Blocker(tileMap, platforms, player, 2230, -32));
196 | enemies.add(new Sentry(tileMap, platforms, player, 2050, -32));
197 | enemies.add(new Sentry(tileMap, platforms, player, 2180, -32));
198 | }
199 |
200 | }
201 |
202 | public void update() {
203 |
204 | // check user input
205 | handleInput();
206 |
207 | // check enemy spawns
208 | spawnEnemies();
209 |
210 | // update player/enemies/projectiles/collectables
211 | player.update();
212 |
213 | // update tilemap
214 | if(player.getx() > 1968) {
215 | tileMap.setPosition(-1952, -96);
216 | }
217 | else {
218 | double dx = Mouse.x - player.getx() - tileMap.getx();
219 | double dy = Mouse.y - player.gety() - tileMap.gety();
220 | double dist = Math.sqrt(dx * dx + dy * dy);
221 | dx /= dist / 48;
222 | dy /= dist / 48;
223 | int xoff = (int) -dx;
224 | int yoff = (int) -dy;
225 | tileMap.setPosition(
226 | GamePanel.WIDTH / 2 - player.getx() + xoff,
227 | GamePanel.HEIGHT / 2 - player.gety() + yoff
228 | );
229 | }
230 | tileMap.fixBounds();
231 | tileMap.update();
232 |
233 | if(tileMap.getDepth(player.getRow(), player.getCol()) == TileMap.FOREGROUND) {
234 | tileMap.setVisible(false);
235 | }
236 | else {
237 | tileMap.setVisible(true);
238 | }
239 |
240 | // update explosions
241 | for(int i = 0; i < explosions.size(); i++) {
242 | explosions.get(i).update();
243 | if(explosions.get(i).shouldRemove()) {
244 | explosions.remove(i);
245 | i--;
246 | }
247 | }
248 |
249 | // update popup texts
250 | for(int i = 0; i < popupTexts.size(); i++) {
251 | popupTexts.get(i).update();
252 | if(popupTexts.get(i).shouldRemove()) {
253 | popupTexts.remove(i);
254 | i--;
255 | }
256 | }
257 |
258 | // update bg
259 | skyBG.setPosition(tileMap.getx(), tileMap.gety());
260 | cloudBG.setPosition(tileMap.getx(), tileMap.gety());
261 | mountainBG.setPosition(tileMap.getx(), tileMap.gety());
262 |
263 | // update cursor
264 | cursor.update();
265 |
266 | }
267 |
268 | public void draw(Graphics2D g) {
269 |
270 | g.setColor(java.awt.Color.BLACK);
271 | g.fillRect(0, 0, 320, 240);
272 |
273 | skyBG.draw(g);
274 | cloudBG.draw(g);
275 | mountainBG.draw(g);
276 |
277 | // draw tilemap
278 | tileMap.draw(g, 0);
279 |
280 | // draw collectables
281 | for(int i = 0; i < collectables.size(); i++) {
282 | collectables.get(i).draw(g);
283 | }
284 |
285 | // draw enemies
286 | for(int i = 0; i < enemies.size(); i++) {
287 | Enemy e = enemies.get(i);
288 | e.draw(g);
289 | }
290 |
291 | // draw player
292 | player.draw(g);
293 |
294 | // draw projectiles
295 | for(int i = 0; i < projectiles.size(); i++) {
296 | projectiles.get(i).draw(g);
297 | }
298 |
299 | // draw tilemap foreground
300 | tileMap.draw(g, 1);
301 |
302 | // draw explosions
303 | for(int i = 0; i < explosions.size(); i++) {
304 | explosions.get(i).draw(g);
305 | }
306 |
307 | // draw popup texts
308 | for(int i = 0; i < popupTexts.size(); i++) {
309 | popupTexts.get(i).draw(g);
310 | }
311 |
312 | // draw hud
313 | hud.draw(g);
314 |
315 | // draw cursor
316 | cursor.draw(g);
317 |
318 | g.setColor(java.awt.Color.WHITE);
319 | g.drawString((int)player.getx() + ", " + (int)player.gety(), 150, 234);
320 |
321 | }
322 |
323 | public void handleInput() {
324 | player.setLeft(Keys.isDown(Keys.LEFT));
325 | player.setRight(Keys.isDown(Keys.RIGHT));
326 | player.setDown(Keys.isDown(Keys.DOWN));
327 | player.setJumping(Keys.isDown(Keys.SPACE) || Keys.isDown(Keys.UP));
328 | player.setFiring(Mouse.isDown());
329 | }
330 |
331 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/gamestates/DemoAct3.java:
--------------------------------------------------------------------------------
1 | package com.neet.gamestates;
2 |
3 | import java.awt.Graphics2D;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.entity.Collectable;
7 | import com.neet.entity.Enemy;
8 | import com.neet.entity.Explosion;
9 | import com.neet.entity.Laser;
10 | import com.neet.entity.Platform;
11 | import com.neet.entity.Player;
12 | import com.neet.entity.Projectile;
13 | import com.neet.main.Game;
14 | import com.neet.main.GamePanel;
15 | import com.neet.managers.Content;
16 | import com.neet.managers.GameObjectFactory;
17 | import com.neet.managers.GameStateManager;
18 | import com.neet.managers.Keys;
19 | import com.neet.managers.Mouse;
20 | import com.neet.tilemap.Background;
21 | import com.neet.tilemap.TileMap;
22 | import com.neet.ui.Cursor;
23 | import com.neet.ui.HUD;
24 |
25 |
26 | public class DemoAct3 extends GameState {
27 |
28 | private Player player;
29 | private TileMap tileMap;
30 |
31 | private ArrayList projectiles;
32 | private ArrayList collectables;
33 | private ArrayList explosions;
34 |
35 | private ArrayList enemies;
36 | private ArrayList platforms;
37 |
38 | private HUD hud;
39 | private Cursor cursor;
40 |
41 | private Background skyBG;
42 | private Background cloudBG;
43 | private Background mountainBG;
44 |
45 | public DemoAct3(GameStateManager gsm) {
46 | super(gsm);
47 | }
48 |
49 | public void init() {
50 |
51 | // init lists
52 | platforms = new ArrayList();
53 | enemies = new ArrayList();
54 | projectiles = new ArrayList();
55 | collectables = new ArrayList();
56 | explosions = new ArrayList();
57 |
58 | // setup tilemap
59 | tileMap = new TileMap(16);
60 | tileMap.loadTileset("/tilesets/electrictileset.gif");
61 | tileMap.loadMap("/maps/demoact3.tme");
62 | tileMap.setPosition(0, 0);
63 | tileMap.setTween(0.07);
64 |
65 | // set up factory
66 | GameObjectFactory.tileMap = tileMap;
67 | GameObjectFactory.platforms = platforms;
68 | GameObjectFactory.projectiles = projectiles;
69 | GameObjectFactory.explosions = explosions;
70 |
71 | // setup player
72 | player = new Player(
73 | tileMap,
74 | platforms,
75 | enemies,
76 | projectiles,
77 | collectables);
78 | player.setPosition(100, 100);
79 |
80 | Laser l = new Laser(tileMap, platforms, player);
81 | l.setPosition(300, 20);
82 | enemies.add(l);
83 |
84 | // set HUD
85 | hud = new HUD(player);
86 |
87 | // set cursor
88 | Game.setCursorVisible(false);
89 | cursor = new Cursor(Content.CURSOR, 1);
90 |
91 | skyBG = new Background(Content.SKY_BG, 0);
92 | cloudBG = new Background(Content.CLOUD_BG, 0.05);
93 | mountainBG = new Background(Content.MOUNTAIN_BG, 0.1);
94 |
95 | }
96 |
97 | public void update() {
98 |
99 | handleInput();
100 |
101 | // update player/enemies/projectiles/collectables
102 | player.update();
103 |
104 | // update tilemap
105 | tileMap.setPosition(tileMap.getx() - 10, tileMap.gety());
106 | if(tileMap.getDepth(player.getRow(), player.getCol()) == TileMap.FOREGROUND) {
107 | tileMap.setVisible(false);
108 | }
109 | else {
110 | tileMap.setVisible(true);
111 | }
112 | tileMap.update();
113 | if(player.getx() - player.getCWidth() / 2 < -tileMap.getx()) {
114 | player.setPosition(
115 | -tileMap.getx() + player.getCWidth() / 2,
116 | player.gety()
117 | );
118 | }
119 | if(player.getx() + player.getCWidth() / 2 > -tileMap.getx() + GamePanel.WIDTH) {
120 | player.setPosition(
121 | -tileMap.getx() + GamePanel.WIDTH - player.getCWidth() / 2,
122 | player.gety()
123 | );
124 | }
125 |
126 | // update explosions
127 | for(int i = 0; i < explosions.size(); i++) {
128 | explosions.get(i).update();
129 | if(explosions.get(i).shouldRemove()) {
130 | explosions.remove(i);
131 | i--;
132 | }
133 | }
134 |
135 | skyBG.setPosition(tileMap.getx(), tileMap.gety());
136 | cloudBG.setPosition(tileMap.getx(), tileMap.gety());
137 | mountainBG.setPosition(tileMap.getx(), tileMap.gety());
138 |
139 | cursor.update();
140 |
141 | }
142 |
143 | public void draw(Graphics2D g) {
144 |
145 | //g.setColor(new java.awt.Color(180, 215, 238));
146 | //g.fillRect(0, 0, GamePanel.WIDTH, GamePanel.HEIGHT);
147 | skyBG.draw(g);
148 | cloudBG.draw(g);
149 | mountainBG.draw(g);
150 |
151 | // draw tilemap
152 | tileMap.draw(g, 0);
153 |
154 | // draw collectables
155 | for(int i = 0; i < collectables.size(); i++) {
156 | collectables.get(i).draw(g);
157 | }
158 |
159 | // draw enemies
160 | for(int i = 0; i < enemies.size(); i++) {
161 | Enemy e = enemies.get(i);
162 | e.draw(g);
163 | }
164 |
165 | // draw player
166 | player.draw(g);
167 |
168 | // draw projectiles
169 | for(int i = 0; i < projectiles.size(); i++) {
170 | projectiles.get(i).draw(g);
171 | }
172 |
173 | // draw tilemap foreground
174 | tileMap.draw(g, 1);
175 |
176 | // draw explosions
177 | for(int i = 0; i < explosions.size(); i++) {
178 | explosions.get(i).draw(g);
179 | }
180 |
181 | // draw hud
182 | hud.draw(g);
183 |
184 | // draw cursor
185 | cursor.draw(g);
186 |
187 | g.setColor(java.awt.Color.WHITE);
188 | g.drawString((int)player.getx() + ", " + (int)player.gety(), 400, 20);
189 |
190 | }
191 |
192 | public void handleInput() {
193 | player.setLeft(Keys.isDown(Keys.LEFT));
194 | player.setRight(Keys.isDown(Keys.RIGHT));
195 | player.setDown(Keys.isDown(Keys.DOWN));
196 | player.setJumping(Keys.isDown(Keys.SPACE) || Keys.isDown(Keys.UP));
197 | player.setFiring(Mouse.isDown());
198 | }
199 |
200 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/gamestates/GameState.java:
--------------------------------------------------------------------------------
1 | package com.neet.gamestates;
2 |
3 | import java.awt.Graphics2D;
4 |
5 | import com.neet.managers.GameStateManager;
6 |
7 |
8 | public abstract class GameState {
9 |
10 | protected GameStateManager gsm;
11 |
12 | public GameState(GameStateManager gsm) {
13 | this.gsm = gsm;
14 | }
15 |
16 | public abstract void init();
17 | public abstract void update();
18 | public abstract void draw(Graphics2D g);
19 | public abstract void handleInput();
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/gamestates/IntroState.java:
--------------------------------------------------------------------------------
1 | // GameState that shows logo.
2 |
3 | package com.neet.gamestates;
4 |
5 | import java.awt.Color;
6 | import java.awt.Graphics2D;
7 | import java.awt.image.BufferedImage;
8 |
9 | import com.neet.main.GamePanel;
10 | import com.neet.managers.Content;
11 | import com.neet.managers.GameStateManager;
12 | import com.neet.managers.Keys;
13 |
14 | public class IntroState extends GameState {
15 |
16 | private BufferedImage logo;
17 | private int logow;
18 | private int logoh;
19 | private int logox;
20 | private int logoy;
21 |
22 | private int alpha;
23 | private int ticks;
24 |
25 | private final int FADE_IN = 90;
26 | private final int LENGTH = 90;
27 | private final int FADE_OUT = 90;
28 |
29 | public IntroState(GameStateManager gsm) {
30 | super(gsm);
31 | }
32 |
33 | public void init() {
34 |
35 | ticks = 0;
36 |
37 | logo = Content.LOGO[0][0];
38 | logow = logo.getWidth() * 2;
39 | logoh = logo.getHeight() * 2;
40 | logox = (GamePanel.WIDTH - logow) / 2;
41 | logoy = (GamePanel.HEIGHT - logoh) / 2;
42 |
43 | }
44 |
45 | public void update() {
46 | handleInput();
47 | ticks++;
48 | if(ticks < FADE_IN) {
49 | alpha = (int) (255 - 255 * (1.0 * ticks / FADE_IN));
50 | if(alpha < 0) alpha = 0;
51 | }
52 | if(ticks > FADE_IN + LENGTH) {
53 | alpha = (int) (255 * (1.0 * ticks - FADE_IN - LENGTH) / FADE_OUT);
54 | if(alpha > 255) alpha = 255;
55 | }
56 | if(ticks > FADE_IN + LENGTH + FADE_OUT) {
57 | gsm.setState(GameStateManager.MENU);
58 | }
59 | }
60 |
61 | public void draw(Graphics2D g) {
62 | g.setColor(Color.WHITE);
63 | g.fillRect(0, 0, GamePanel.WIDTH, GamePanel.HEIGHT);
64 | g.drawImage(logo, logox, logoy, logow, logoh, null);
65 | g.setColor(new Color(0, 0, 0, alpha));
66 | g.fillRect(0, 0, GamePanel.WIDTH, GamePanel.HEIGHT);
67 | }
68 |
69 | public void handleInput() {
70 | if(Keys.isPressed(Keys.ENTER)) {
71 | gsm.setState(GameStateManager.MENU);
72 | }
73 | }
74 |
75 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/gamestates/MenuState.java:
--------------------------------------------------------------------------------
1 | package com.neet.gamestates;
2 |
3 | import java.awt.Color;
4 | import java.awt.Graphics2D;
5 |
6 | import com.neet.main.GamePanel;
7 | import com.neet.managers.GameStateManager;
8 | import com.neet.managers.Keys;
9 |
10 | public class MenuState extends GameState {
11 |
12 | private int currentChoice = 0;
13 | private String[] options = {
14 | "Start",
15 | "Quit"
16 | };
17 |
18 | public MenuState(GameStateManager gsm) {
19 | super(gsm);
20 | }
21 |
22 | public void init() {
23 |
24 | }
25 |
26 | public void update() {
27 |
28 | handleInput();
29 |
30 | }
31 |
32 | public void draw(Graphics2D g) {
33 |
34 | g.setColor(Color.BLACK);
35 | g.fillRect(0, 0, GamePanel.WIDTH, GamePanel.HEIGHT);
36 |
37 | for(int i = 0; i < options.length; i++) {
38 | if(i == currentChoice) g.setColor(java.awt.Color.RED);
39 | else g.setColor(java.awt.Color.WHITE);
40 | g.drawString(options[i], 100, 100 + i * 15);
41 | }
42 |
43 | }
44 |
45 | public void handleInput() {
46 | if(Keys.isPressed(Keys.DOWN)) {
47 | if(currentChoice < options.length - 1) {
48 | currentChoice++;
49 | }
50 | }
51 | if(Keys.isPressed(Keys.UP)) {
52 | if(currentChoice > 0) currentChoice--;
53 | }
54 | if(Keys.isPressed(Keys.ENTER)) {
55 | select();
56 | }
57 | }
58 |
59 | private void select() {
60 | if(currentChoice == 0) {
61 | gsm.setState(GameStateManager.DEMOACT1);
62 | }
63 | else if(currentChoice == 1) {
64 | System.exit(0);
65 | }
66 | }
67 |
68 | }
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/gamestates/PauseState.java:
--------------------------------------------------------------------------------
1 | package com.neet.gamestates;
2 |
3 | import java.awt.Color;
4 | import java.awt.Font;
5 | import java.awt.Graphics2D;
6 |
7 | import com.neet.main.GamePanel;
8 | import com.neet.managers.GameStateManager;
9 | import com.neet.managers.Keys;
10 |
11 |
12 | public class PauseState extends GameState {
13 |
14 | private Font font;
15 |
16 | public PauseState(GameStateManager gsm) {
17 | super(gsm);
18 | font = new Font("Century Gothic", Font.PLAIN, 14);
19 | }
20 |
21 | public void init() {}
22 |
23 | public void update() {
24 | handleInput();
25 | }
26 |
27 | public void draw(Graphics2D g) {
28 | g.setColor(Color.BLACK);
29 | g.fillRect(0, 0, GamePanel.WIDTH, GamePanel.HEIGHT);
30 | g.setColor(Color.WHITE);
31 | g.setFont(font);
32 | g.drawString("Game Paused", 90, 90);
33 | }
34 |
35 | public void handleInput() {
36 | if(Keys.isPressed(Keys.ESCAPE)) gsm.setPaused(false);
37 | if(Keys.isPressed(Keys.BUTTON1)) {
38 | gsm.setPaused(false);
39 | gsm.setState(GameStateManager.MENU);
40 | }
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/main/Game.java:
--------------------------------------------------------------------------------
1 | package com.neet.main;
2 |
3 | import java.awt.Cursor;
4 | import java.awt.Point;
5 | import java.awt.Toolkit;
6 | import java.awt.image.BufferedImage;
7 |
8 | import javax.swing.JFrame;
9 |
10 | public class Game {
11 |
12 | private static JFrame window;
13 |
14 | public static void main(String[] args) {
15 | window = new JFrame("Cranky Rampage");
16 | window.add(new GamePanel());
17 | window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
18 | window.setResizable(false);
19 | window.pack();
20 | window.setLocationRelativeTo(null);
21 | window.setVisible(true);
22 | }
23 |
24 | public static void setCursorVisible(boolean b) {
25 | if(b) {
26 | window.setCursor(null);
27 | return;
28 | }
29 | BufferedImage bi = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
30 | Cursor c = Toolkit.getDefaultToolkit().createCustomCursor(bi, new Point(0, 0), ".");
31 | window.setCursor(c);
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/main/GamePanel.java:
--------------------------------------------------------------------------------
1 | package com.neet.main;
2 |
3 | import java.awt.Dimension;
4 | import java.awt.Graphics;
5 | import java.awt.Graphics2D;
6 | import java.awt.RenderingHints;
7 | import java.awt.event.KeyEvent;
8 | import java.awt.event.KeyListener;
9 | import java.awt.event.MouseEvent;
10 | import java.awt.event.MouseListener;
11 | import java.awt.event.MouseMotionListener;
12 | import java.awt.image.BufferedImage;
13 |
14 | import javax.swing.JFrame;
15 | import javax.swing.JPanel;
16 |
17 | import com.neet.managers.GameStateManager;
18 | import com.neet.managers.Keys;
19 | import com.neet.managers.Mouse;
20 |
21 | @SuppressWarnings("serial")
22 | public class GamePanel
23 | extends JPanel
24 | implements Runnable, KeyListener, MouseListener, MouseMotionListener {
25 |
26 | public static final int WIDTH = 320;
27 | public static final int HEIGHT = 240;
28 | public static int SCALE = 2;
29 |
30 | private Thread thread;
31 | private boolean running;
32 | private int FPS = 60;
33 | private long targetTime = 1000 / FPS;
34 | private int averageFPS;
35 |
36 | private BufferedImage image;
37 | private Graphics2D g;
38 |
39 | private GameStateManager gsm;
40 |
41 | private boolean screenshot;
42 |
43 | public GamePanel() {
44 | setPreferredSize(new Dimension((int)(WIDTH * SCALE), (int)(HEIGHT * SCALE)));
45 | setFocusable(true);
46 | requestFocus();
47 | }
48 |
49 | public void addNotify() {
50 | super.addNotify();
51 | addKeyListener(this);
52 | addMouseListener(this);
53 | addMouseMotionListener(this);
54 | if(thread == null) {
55 | thread = new Thread(this);
56 | thread.start();
57 | }
58 | }
59 |
60 | private void init() {
61 |
62 | image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
63 | g = (Graphics2D) image.getGraphics();
64 | g.setRenderingHint(
65 | RenderingHints.KEY_ANTIALIASING,
66 | RenderingHints.VALUE_ANTIALIAS_ON
67 | );
68 | g.setRenderingHint(
69 | RenderingHints.KEY_TEXT_ANTIALIASING,
70 | RenderingHints.VALUE_TEXT_ANTIALIAS_ON
71 | );
72 |
73 | running = true;
74 |
75 | gsm = new GameStateManager();
76 |
77 | }
78 |
79 | public void run() {
80 |
81 | init();
82 |
83 | // don't know why, but sometimes setResizable gets called after pack
84 | // have to recheck that the panel is correct size
85 | if(WIDTH * SCALE != getWidth() || HEIGHT * SCALE != getHeight()) {
86 | System.out.println("WAT");
87 | JFrame frame = (JFrame) getTopLevelAncestor();
88 | frame.pack();
89 | frame.setLocationRelativeTo(null);
90 | }
91 |
92 | long start = System.nanoTime();
93 | long elapsed;
94 | long wait;
95 |
96 | long total = 0;
97 | int frames = 0;
98 |
99 | while(running) {
100 |
101 | start = System.nanoTime();
102 |
103 | update();
104 | draw();
105 | drawToScreen();
106 |
107 | frames++;
108 |
109 | elapsed = System.nanoTime() - start;
110 |
111 | wait = targetTime - elapsed / 1000000;
112 | if(wait < 0) wait = 5;
113 |
114 | try {
115 | Thread.sleep(wait);
116 | }
117 | catch(Exception e) {
118 | e.printStackTrace();
119 | }
120 |
121 | total += System.nanoTime() - start;
122 | if(total > 1000000000) {
123 | averageFPS = frames;
124 | total -= 1000000000;
125 | frames = 0;
126 | }
127 |
128 | }
129 |
130 | }
131 |
132 | private void update() {
133 | gsm.update();
134 | handleInput();
135 | Keys.update();
136 | Mouse.update();
137 | }
138 |
139 | private void draw() {
140 | gsm.draw(g);
141 | g.setColor(java.awt.Color.RED);
142 | g.drawString(Integer.toString(averageFPS), 300, 230);
143 | }
144 |
145 | private void drawToScreen() {
146 | Graphics g2 = getGraphics();
147 | g2.drawImage(image, 0, 0, (int)(WIDTH * SCALE), (int)(HEIGHT * SCALE), null);
148 | g2.dispose();
149 | if(screenshot) {
150 | screenshot = false;
151 | try {
152 | java.io.File out = new java.io.File("screenshot " + System.nanoTime() + ".gif");
153 | javax.imageio.ImageIO.write(image, "gif", out);
154 | }
155 | catch(Exception e) {}
156 | }
157 | }
158 |
159 | private void handleInput() {
160 | if(Keys.isPressed(Keys.F4)) {
161 | if(SCALE == 1) SCALE = 2;
162 | else SCALE = 1;
163 | setPreferredSize(new Dimension((int)(WIDTH * SCALE), (int)(HEIGHT * SCALE)));
164 | image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
165 | g = (Graphics2D) image.getGraphics();
166 | javax.swing.JFrame frame = (javax.swing.JFrame) getTopLevelAncestor();
167 | frame.pack();
168 | frame.setLocationRelativeTo(null);
169 | }
170 | }
171 |
172 | public void keyTyped(KeyEvent key) {}
173 | public void keyPressed(KeyEvent key) {
174 | if(key.isControlDown()) {
175 | if(key.getKeyCode() == KeyEvent.VK_S) {
176 | screenshot = true;
177 | return;
178 | }
179 | }
180 | Keys.keySet(key.getKeyCode(), true);
181 | }
182 | public void keyReleased(KeyEvent key) {
183 | Keys.keySet(key.getKeyCode(), false);
184 | }
185 |
186 | public void mousePressed(MouseEvent me) {
187 | Mouse.setAction(Mouse.PRESSED);
188 | }
189 |
190 | public void mouseReleased(MouseEvent me) {
191 | Mouse.setAction(Mouse.RELEASED);
192 | }
193 |
194 | public void mouseMoved(MouseEvent me) {
195 | me.translatePoint(-me.getX() + me.getX() / SCALE, -me.getY() + me.getY() / SCALE);
196 | Mouse.setPosition(me.getX(), me.getY());
197 | }
198 |
199 | public void mouseDragged(MouseEvent me) {
200 | me.translatePoint(-me.getX() + me.getX() / SCALE, -me.getY() + me.getY() / SCALE);
201 | Mouse.setAction(Mouse.PRESSED);
202 | Mouse.setPosition(me.getX(), me.getY());
203 | }
204 | public void mouseEntered(MouseEvent me) {}
205 | public void mouseExited(MouseEvent me) {}
206 | public void mouseClicked(MouseEvent me) {}
207 |
208 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/Animation.java:
--------------------------------------------------------------------------------
1 | package com.neet.managers;
2 |
3 | import java.awt.image.BufferedImage;
4 |
5 | public class Animation {
6 |
7 | private BufferedImage[] frames;
8 | private int currentFrame;
9 | private int numFrames;
10 |
11 | private int count;
12 | private int delay;
13 |
14 | private int timesPlayed;
15 | private boolean reverse;
16 |
17 | public Animation() {
18 | timesPlayed = 0;
19 | }
20 |
21 | public void setFrames(BufferedImage[] frames) {
22 | setFrames(frames, 6);
23 | }
24 |
25 | public void setFrames(BufferedImage[] frames, int d) {
26 | setFrames(frames, d, frames.length);
27 | }
28 |
29 | public void setFrames(BufferedImage[] frames, int d, int n) {
30 | this.frames = frames;
31 | delay = d;
32 | numFrames = n;
33 | currentFrame = 0;
34 | count = 0;
35 | timesPlayed = 0;
36 | reverse = false;
37 | }
38 |
39 | public void setDelay(int i) { delay = i; }
40 | public void setFrame(int i) { currentFrame = i; }
41 | public void setNumFrames(int i) { numFrames = i; }
42 |
43 | public void setReverse(boolean b) {
44 | if(reverse == b) return;
45 | reverse = b;
46 | currentFrame = numFrames - 1;
47 | }
48 |
49 | public void update() {
50 |
51 | if(delay == -1) return;
52 |
53 | count++;
54 |
55 | if(count == delay) {
56 | if(reverse) {
57 | currentFrame--;
58 | }
59 | else {
60 | currentFrame++;
61 | }
62 | count = 0;
63 | }
64 | if(!reverse && currentFrame == numFrames) {
65 | currentFrame = 0;
66 | timesPlayed++;
67 | }
68 | else if(reverse && currentFrame == 0) {
69 | currentFrame = numFrames - 1;
70 | timesPlayed++;
71 | }
72 |
73 | }
74 |
75 | public int getFrame() { return currentFrame; }
76 | public int getCount() { return count; }
77 | public BufferedImage getImage() { return frames[currentFrame]; }
78 | public boolean hasPlayedOnce() { return timesPlayed > 0; }
79 | public boolean hasPlayed(int i) { return timesPlayed == i; }
80 |
81 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/Content.java:
--------------------------------------------------------------------------------
1 | package com.neet.managers;
2 |
3 | import java.awt.Font;
4 | import java.awt.image.BufferedImage;
5 |
6 | import javax.imageio.ImageIO;
7 |
8 | public class Content {
9 |
10 | public static BufferedImage[][] LOGO = load("/logo.gif", 128, 144);
11 | public static BufferedImage[] CURSOR = load("/ui/cursor.png", 27, 27)[0];
12 |
13 | public static BufferedImage SKY_BG = load("/backgrounds/sky.gif", 320, 240)[0][0];
14 | public static BufferedImage CLOUD_BG = load("/backgrounds/clouds.gif", 320, 240)[0][0];
15 | public static BufferedImage MOUNTAIN_BG = load("/backgrounds/mountains.png", 320, 240)[0][0];
16 |
17 | public static BufferedImage[][] ELECTRIC_TS = load("/tilesets/electrictileset.gif", 16, 16);
18 | public static BufferedImage[][] NEIGHBORHOOD_TS = load("/tilesets/neighborhoodtileset.png", 16, 16);
19 |
20 | public static BufferedImage[][] PLAYER_SPRITES = load("/sprites/playersprites.png", 32, 32);
21 | public static BufferedImage[][] PLAYER_LEG_SPRITES = load("/sprites/playerlegsprites.png", 32, 32);
22 | public static BufferedImage[] GUN_FLASH = load("/sprites/gunflash.png", 7, 7)[0];
23 | public static BufferedImage[] EXPLOSION = load("/sprites/explosion.png", 32, 32)[0];
24 |
25 | public static BufferedImage[] MG_BULLETS = load("/bullets/machinegun.png", 6, 20)[0];
26 | public static BufferedImage[] FMG_BULLETS = load("/bullets/flamingmachinegun.png", 10, 30)[0];
27 |
28 | public static BufferedImage HEART_HUD = loadImage("/ui/hearthud.png");
29 | public static BufferedImage RAMPAGE_HUD = loadImage("/ui/rampagehud.png");
30 | public static BufferedImage HEAD_HUD = loadImage("/ui/headhud.png");
31 | public static BufferedImage[][] WEAPONS_HUD = load("/ui/weaponshud.png", 13, 13);
32 |
33 | public static BufferedImage[] ENEMY_BULLET = load("/enemies/bulletsprites.png", 5, 5)[0];
34 | public static BufferedImage[] ENEMY_ROCKET = load("/enemies/rocket.png", 7, 15)[0];
35 | public static BufferedImage[][] SENTRY = load("/enemies/sentry.png", 32, 32);
36 | public static BufferedImage[][] BLOCKER = load("/enemies/blocker.png", 40, 40);
37 | public static BufferedImage[][] SENSOR = load("/enemies/sensor.png", 25, 25);
38 | public static BufferedImage[][] ENERGY_GATE_SOURCE = load("/enemies/energygatesource.png", 32, 32);
39 | public static BufferedImage[][] ENERGY_GATE = load("/enemies/energygate.png", 32, 32);
40 |
41 | public static Font PS_FONT = loadFont("/fonts/prstart.ttf", Font.TRUETYPE_FONT);
42 |
43 | public static BufferedImage loadImage(String s) {
44 | BufferedImage ret;
45 | try {
46 | ret = ImageIO.read(Content.class.getResourceAsStream(s));
47 | return ret;
48 | }
49 | catch(Exception e) {
50 | e.printStackTrace();
51 | System.out.println("Error loading graphics: " + s);
52 | System.exit(0);
53 | }
54 | return null;
55 | }
56 |
57 | public static BufferedImage[][] load(String s, int w, int h) {
58 | BufferedImage[][] ret;
59 | try {
60 | BufferedImage spritesheet = ImageIO.read(Content.class.getResourceAsStream(s));
61 | int width = spritesheet.getWidth() / w;
62 | int height = spritesheet.getHeight() / h;
63 | ret = new BufferedImage[height][width];
64 | for(int i = 0; i < height; i++) {
65 | for(int j = 0; j < width; j++) {
66 | ret[i][j] = spritesheet.getSubimage(j * w, i * h, w, h);
67 | }
68 | }
69 | return ret;
70 | }
71 | catch(Exception e) {
72 | e.printStackTrace();
73 | System.out.println("Error loading graphics: " + s);
74 | System.exit(0);
75 | }
76 | return null;
77 | }
78 |
79 | public static Font loadFont(String s, int format) {
80 | Font f = null;
81 | try {
82 | f = Font.createFont(format, Content.class.getResourceAsStream(s)).deriveFont(8f);
83 | }
84 | catch(Exception e) {
85 | e.printStackTrace();
86 | System.out.println("Error loading font: " + s);
87 | System.exit(0);
88 | }
89 | return f;
90 | }
91 |
92 | }
93 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/GameObjectFactory.java:
--------------------------------------------------------------------------------
1 | package com.neet.managers;
2 |
3 | import java.awt.Color;
4 | import java.util.ArrayList;
5 |
6 | import com.neet.entity.Enemy;
7 | import com.neet.entity.Explosion;
8 | import com.neet.entity.Platform;
9 | import com.neet.entity.Player;
10 | import com.neet.entity.PopupText;
11 | import com.neet.entity.Projectile;
12 | import com.neet.entity.Weapon;
13 | import com.neet.entity.enemies.Bullet;
14 | import com.neet.entity.enemies.Rocket;
15 | import com.neet.tilemap.TileMap;
16 |
17 | public class GameObjectFactory {
18 |
19 | public static Player player;
20 | public static TileMap tileMap;
21 | public static ArrayList platforms;
22 | public static ArrayList projectiles;
23 | public static ArrayList explosions;
24 | public static ArrayList enemies;
25 | public static ArrayList popupTexts;
26 |
27 | public static void createProjectile(double x, double y, int weapon, int dir) {
28 |
29 | Projectile p = null;
30 |
31 | if(weapon == Weapon.MACHINE_GUN) {
32 | p = new Projectile(tileMap, platforms, x, y, dir, weapon);
33 | projectiles.add(p);
34 | }
35 | else if(weapon == Weapon.SPREADER) {
36 | p = new Projectile(tileMap, platforms, x, y, dir, weapon);
37 | int angle = -90 + dir * 45;
38 | p.setAngle(angle);
39 | projectiles.add(p);
40 | p = new Projectile(tileMap, platforms, x, y, dir, weapon);
41 | angle = -90 + dir * 45;
42 | p.setAngle(angle - 20);
43 | projectiles.add(p);
44 | p = new Projectile(tileMap, platforms, x, y, dir, weapon);
45 | angle = -90 + dir * 45;
46 | p.setAngle(angle + 20);
47 | projectiles.add(p);
48 | }
49 | else if(weapon == Weapon.HIGH_CALIBER) {
50 | p = new Projectile(tileMap, platforms, x, y, dir, weapon);
51 | projectiles.add(p);
52 | }
53 | else if(weapon == Weapon.FLAMING_MACHINE_GUN) {
54 | p = new Projectile(tileMap, platforms, x, y, dir, weapon);
55 | projectiles.add(p);
56 | }
57 |
58 | }
59 |
60 | public static void createExplosion(double x, double y, int type, int delay) {
61 | explosions.add(new Explosion(tileMap, platforms, x, y, type, delay));
62 | }
63 |
64 | public static void createEnemy(Enemy e) {
65 | enemies.add(e);
66 | }
67 |
68 | public static void createEnemyBullet(double x, double y, double dx, double dy) {
69 | Bullet b = new Bullet(tileMap, platforms);
70 | b.setPosition(x, y);
71 | b.setVector(dx, dy);
72 | enemies.add(b);
73 | }
74 |
75 | public static void createEnemyRocket(double x, double y) {
76 | Rocket r = new Rocket(tileMap, platforms, player, x, y);
77 | enemies.add(r);
78 | }
79 |
80 | public static void createPopupText(String s, double x, double y, Color c1, Color c2) {
81 | popupTexts.add(new PopupText(tileMap, s, x, y, c1, c2));
82 | }
83 |
84 | }
85 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/GameStateManager.java:
--------------------------------------------------------------------------------
1 | package com.neet.managers;
2 |
3 | import com.neet.gamestates.DemoAct1;
4 | import com.neet.gamestates.DemoAct3;
5 | import com.neet.gamestates.GameState;
6 | import com.neet.gamestates.IntroState;
7 | import com.neet.gamestates.MenuState;
8 | import com.neet.gamestates.PauseState;
9 | import com.neet.main.GamePanel;
10 |
11 |
12 | public class GameStateManager {
13 |
14 | private GameState gameState;
15 |
16 | private PauseState pauseState;
17 | private boolean paused;
18 |
19 | public static final int LOGO = 0;
20 | public static final int MENU = 1;
21 | public static final int INTRO = 2;
22 | public static final int DEMOACT1 = 3;
23 | public static final int DEMOACT3 = 5;
24 |
25 | public GameStateManager() {
26 |
27 | JukeBox.init();
28 |
29 | pauseState = new PauseState(this);
30 | paused = false;
31 |
32 | setState(LOGO);
33 |
34 | }
35 |
36 | public void setState(int state) {
37 | if(state == LOGO) {
38 | gameState = new IntroState(this);
39 | }
40 | else if(state == MENU) {
41 | gameState = new MenuState(this);
42 | }
43 | else if(state == DEMOACT1) {
44 | gameState = new DemoAct1(this);
45 | }
46 | else if(state == DEMOACT3) {
47 | gameState = new DemoAct3(this);
48 | }
49 | gameState.init();
50 | }
51 |
52 | public void setPaused(boolean b) { paused = b; }
53 |
54 | public void update() {
55 | if(paused) {
56 | pauseState.update();
57 | return;
58 | }
59 | if(gameState != null) gameState.update();
60 | }
61 |
62 | public void draw(java.awt.Graphics2D g) {
63 | if(paused) {
64 | pauseState.draw(g);
65 | return;
66 | }
67 | if(gameState != null) gameState.draw(g);
68 | else {
69 | g.setColor(java.awt.Color.BLACK);
70 | g.fillRect(0, 0, GamePanel.WIDTH, GamePanel.HEIGHT);
71 | }
72 | }
73 |
74 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/GameUtils.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Helper methods to make life easier.
3 | */
4 |
5 | package com.neet.managers;
6 |
7 | import java.awt.Graphics2D;
8 | import java.awt.Paint;
9 |
10 | public class GameUtils {
11 |
12 | // draws a string with a 1px stroke
13 | public static void drawOutlinedString(Graphics2D g, String s, int x, int y, Paint outer, Paint inner) {
14 | g.setPaint(outer);
15 | g.drawString(s, x - 1, y - 1);
16 | g.drawString(s, x + 1, y - 1);
17 | g.drawString(s, x - 1, y + 1);
18 | g.drawString(s, x + 1, y + 1);
19 | g.drawString(s, x - 1, y);
20 | g.drawString(s, x + 1, y);
21 | g.drawString(s, x, y - 1);
22 | g.drawString(s, x, y + 1);
23 | g.setPaint(inner);
24 | g.drawString(s, x, y);
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/JukeBox.java:
--------------------------------------------------------------------------------
1 | package com.neet.managers;
2 |
3 | import java.util.HashMap;
4 |
5 | import javax.sound.sampled.AudioFormat;
6 | import javax.sound.sampled.AudioInputStream;
7 | import javax.sound.sampled.AudioSystem;
8 | import javax.sound.sampled.Clip;
9 |
10 | public class JukeBox {
11 |
12 | private static HashMap clips;
13 | private static int gap;
14 | private static boolean mute = false;
15 |
16 | public static void init() {
17 | clips = new HashMap();
18 | gap = 0;
19 | }
20 |
21 | public static void load(String s, String n) {
22 | if(clips.get(n) != null) return;
23 | Clip clip;
24 | try {
25 | AudioInputStream ais =
26 | AudioSystem.getAudioInputStream(
27 | JukeBox.class.getResourceAsStream(s)
28 | );
29 | AudioFormat baseFormat = ais.getFormat();
30 | AudioFormat decodeFormat = new AudioFormat(
31 | AudioFormat.Encoding.PCM_SIGNED,
32 | baseFormat.getSampleRate(),
33 | 16,
34 | baseFormat.getChannels(),
35 | baseFormat.getChannels() * 2,
36 | baseFormat.getSampleRate(),
37 | false
38 | );
39 | AudioInputStream dais = AudioSystem.getAudioInputStream(decodeFormat, ais);
40 | clip = AudioSystem.getClip();
41 | clip.open(dais);
42 | clips.put(n, clip);
43 | }
44 | catch(Exception e) {
45 | e.printStackTrace();
46 | }
47 | }
48 |
49 | public static void play(String s) {
50 | play(s, gap);
51 | }
52 |
53 | public static void play(String s, int i) {
54 | if(mute) return;
55 | Clip c = clips.get(s);
56 | if(c == null) return;
57 | if(c.isRunning()) c.stop();
58 | c.setFramePosition(i);
59 | while(!c.isRunning()) c.start();
60 | }
61 |
62 | public static void stop(String s) {
63 | if(clips.get(s) == null) return;
64 | if(clips.get(s).isRunning()) clips.get(s).stop();
65 | }
66 |
67 | public static void resume(String s) {
68 | if(mute) return;
69 | if(clips.get(s).isRunning()) return;
70 | clips.get(s).start();
71 | }
72 |
73 | public static void loop(String s) {
74 | loop(s, gap, gap, clips.get(s).getFrameLength() - 1);
75 | }
76 |
77 | public static void loop(String s, int frame) {
78 | loop(s, frame, gap, clips.get(s).getFrameLength() - 1);
79 | }
80 |
81 | public static void loop(String s, int start, int end) {
82 | loop(s, gap, start, end);
83 | }
84 |
85 | public static void loop(String s, int frame, int start, int end) {
86 | stop(s);
87 | if(mute) return;
88 | clips.get(s).setLoopPoints(start, end);
89 | clips.get(s).setFramePosition(frame);
90 | clips.get(s).loop(Clip.LOOP_CONTINUOUSLY);
91 | }
92 |
93 | public static void setPosition(String s, int frame) {
94 | clips.get(s).setFramePosition(frame);
95 | }
96 |
97 | public static int getFrames(String s) { return clips.get(s).getFrameLength(); }
98 | public static int getPosition(String s) { return clips.get(s).getFramePosition(); }
99 |
100 | public static void close(String s) {
101 | stop(s);
102 | clips.get(s).close();
103 | }
104 |
105 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/Keys.java:
--------------------------------------------------------------------------------
1 | package com.neet.managers;
2 |
3 | import java.awt.event.KeyEvent;
4 |
5 | public class Keys {
6 |
7 | public static final int NUM_KEYS = 16;
8 |
9 | public static boolean keyState[] = new boolean[NUM_KEYS];
10 | public static boolean prevKeyState[] = new boolean[NUM_KEYS];
11 |
12 | public static int UP = 0;
13 | public static int LEFT = 1;
14 | public static int DOWN = 2;
15 | public static int RIGHT = 3;
16 | public static int BUTTON1 = 4;
17 | public static int BUTTON2 = 5;
18 | public static int BUTTON3 = 6;
19 | public static int BUTTON4 = 7;
20 | public static int ENTER = 8;
21 | public static int ESCAPE = 9;
22 | public static int SPACE = 10;
23 | public static int F4 = 11;
24 |
25 | public static void keySet(int i, boolean b) {
26 | if(i == KeyEvent.VK_W || i == KeyEvent.VK_UP) keyState[UP] = b;
27 | else if(i == KeyEvent.VK_A || i == KeyEvent.VK_LEFT) keyState[LEFT] = b;
28 | else if(i == KeyEvent.VK_S || i == KeyEvent.VK_DOWN) keyState[DOWN] = b;
29 | else if(i == KeyEvent.VK_D || i == KeyEvent.VK_RIGHT) keyState[RIGHT] = b;
30 | else if(i == KeyEvent.VK_Z) keyState[BUTTON1] = b;
31 | else if(i == KeyEvent.VK_X) keyState[BUTTON2] = b;
32 | else if(i == KeyEvent.VK_C) keyState[BUTTON3] = b;
33 | else if(i == KeyEvent.VK_V) keyState[BUTTON4] = b;
34 | else if(i == KeyEvent.VK_ENTER) keyState[ENTER] = b;
35 | else if(i == KeyEvent.VK_ESCAPE) keyState[ESCAPE] = b;
36 | else if(i == KeyEvent.VK_SPACE) keyState[SPACE] = b;
37 | else if(i == KeyEvent.VK_F4) keyState[F4] = b;
38 | }
39 |
40 | public static void update() {
41 | for(int i = 0; i < NUM_KEYS; i++) {
42 | prevKeyState[i] = keyState[i];
43 | }
44 | }
45 |
46 | public static boolean isPressed(int i) {
47 | return keyState[i] && !prevKeyState[i];
48 | }
49 |
50 | public static boolean isDown(int i) {
51 | return keyState[i];
52 | }
53 |
54 | public static boolean anyKeyPress() {
55 | for(int i = 0; i < NUM_KEYS; i++) {
56 | if(keyState[i]) return true;
57 | }
58 | return false;
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/managers/Mouse.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Mouse input handler class.
3 | */
4 |
5 | package com.neet.managers;
6 |
7 | public class Mouse {
8 |
9 | public static int x;
10 | public static int y;
11 |
12 | public static int action;
13 | public static int previousAction;
14 |
15 | public static final int RELEASED = 0;
16 | public static final int PRESSED = 1;
17 |
18 | public static void update() {
19 | previousAction = action;
20 | }
21 |
22 | public static void setPosition(int i1, int i2) {
23 | x = i1;
24 | y = i2;
25 | }
26 |
27 | public static void setAction(int i) {
28 | action = i;
29 | }
30 |
31 | public static boolean isPressed() {
32 | return action == PRESSED && previousAction == RELEASED;
33 | }
34 |
35 | public static boolean isDown() {
36 | return action == PRESSED;
37 | }
38 |
39 | }
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/tilemap/Background.java:
--------------------------------------------------------------------------------
1 | package com.neet.tilemap;
2 |
3 | import java.awt.Graphics2D;
4 | import java.awt.image.BufferedImage;
5 |
6 | import javax.imageio.ImageIO;
7 |
8 | import com.neet.main.GamePanel;
9 |
10 | public class Background {
11 |
12 | private BufferedImage image;
13 |
14 | private double x;
15 | private double y;
16 | private double dx;
17 | private double dy;
18 |
19 | private int width;
20 | private int height;
21 |
22 | private double xscale;
23 | private double yscale;
24 |
25 | public Background(BufferedImage bi, double d) {
26 | image = bi;
27 | width = image.getWidth();
28 | height = image.getHeight();
29 | xscale = d;
30 | yscale = 0;
31 | }
32 |
33 | public Background(String s) {
34 | this(s, 0.1);
35 | }
36 |
37 | public Background(String s, double d) {
38 | this(s, d, d);
39 | }
40 |
41 | public Background(String s, double d1, double d2) {
42 | try {
43 | image = ImageIO.read(
44 | getClass().getResourceAsStream(s)
45 | );
46 | width = image.getWidth();
47 | height = image.getHeight();
48 | xscale = d1;
49 | yscale = d2;
50 | }
51 | catch(Exception e) {
52 | e.printStackTrace();
53 | }
54 | }
55 |
56 | public Background(String s, double ms, int x, int y, int w, int h) {
57 | try {
58 | image = ImageIO.read(
59 | getClass().getResourceAsStream(s)
60 | );
61 | image = image.getSubimage(x, y, w, h);
62 | width = image.getWidth();
63 | height = image.getHeight();
64 | xscale = ms;
65 | yscale = ms;
66 | }
67 | catch(Exception e) {
68 | e.printStackTrace();
69 | }
70 | }
71 |
72 | public void setPosition(double x, double y) {
73 | this.x = (x * xscale) % width;
74 | this.y = (y * yscale) % height;
75 | }
76 |
77 | public void setVector(double dx, double dy) {
78 | this.dx = dx;
79 | this.dy = dy;
80 | }
81 |
82 | public void setScale(double xscale, double yscale) {
83 | this.xscale = xscale;
84 | this.yscale = yscale;
85 | }
86 |
87 | public void setDimensions(int i1, int i2) {
88 | width = i1;
89 | height = i2;
90 | }
91 |
92 | public double getx() { return x; }
93 | public double gety() { return y; }
94 |
95 | public void update() {
96 | x += dx;
97 | while(x <= -width) x += width;
98 | while(x >= width) x -= width;
99 | y += dy;
100 | while(y <= -height) y += height;
101 | while(y >= height) y -= height;
102 | }
103 |
104 | public void draw(Graphics2D g) {
105 |
106 | g.drawImage(image, (int)x, (int)y, null);
107 |
108 | if(x < 0) {
109 | g.drawImage(image, (int)x + GamePanel.WIDTH, (int)y, null);
110 | }
111 | if(x > 0) {
112 | g.drawImage(image, (int)x - GamePanel.WIDTH, (int)y, null);
113 | }
114 | if(y < 0) {
115 | g.drawImage(image, (int)x, (int)y + GamePanel.HEIGHT, null);
116 | }
117 | if(y > 0) {
118 | g.drawImage(image, (int)x, (int)y - GamePanel.HEIGHT, null);
119 | }
120 | }
121 |
122 | }
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
--------------------------------------------------------------------------------
/crankyrampage/Cranky Rampage/Cranky Rampage/src/com/neet/tilemap/TileMap.java:
--------------------------------------------------------------------------------
1 | package com.neet.tilemap;
2 |
3 | import java.awt.AlphaComposite;
4 | import java.awt.Composite;
5 | import java.awt.Graphics2D;
6 | import java.awt.image.BufferedImage;
7 | import java.io.BufferedReader;
8 | import java.io.InputStream;
9 | import java.io.InputStreamReader;
10 |
11 | import com.neet.main.GamePanel;
12 | import com.neet.managers.Content;
13 |
14 | public class TileMap {
15 |
16 | // position
17 | private double x;
18 | private double y;
19 |
20 | // bounds
21 | private int xmin;
22 | private int ymin;
23 | private int xmax;
24 | private int ymax;
25 |
26 | private double tween;
27 |
28 | // map
29 | private int[][] collision;
30 | private int[][] map;
31 | private int[][] depth;
32 | private int tileSize;
33 | private int numRows;
34 | private int numCols;
35 | private int width;
36 | private int height;
37 |
38 | // tileset
39 | private BufferedImage[][] tileset;
40 | private int numTilesAcross;
41 |
42 | // tile types
43 | public static final int NORMAL = 0;
44 | public static final int BLOCKED = 1;
45 | public static final int LEDGE = 2;
46 |
47 | // drawing
48 | private int rowOffset;
49 | private int colOffset;
50 | private int numRowsToDraw;
51 | private int numColsToDraw;
52 | private float alpha;
53 | private boolean visible;
54 | private double visibleSpeed;
55 |
56 | public static final int BACKGROUND = 0;
57 | public static final int FOREGROUND = 1;
58 |
59 | public TileMap(int tileSize) {
60 | this.tileSize = tileSize;
61 | numRowsToDraw = GamePanel.HEIGHT / tileSize + 2;
62 | numColsToDraw = GamePanel.WIDTH / tileSize + 2;
63 | tween = 1;
64 | visible = true;
65 | alpha = 1;
66 | visibleSpeed = 0.05;
67 | }
68 |
69 | public void setVisible(boolean b) {
70 | visible = b;
71 | }
72 |
73 | public void loadTileset(String s) {
74 | tileset = Content.load(s, tileSize, tileSize);
75 | numTilesAcross = tileset[0].length;
76 | }
77 |
78 | public void loadTileset(BufferedImage[][] bi) {
79 | tileset = bi;
80 | numTilesAcross = tileset[0].length;
81 | }
82 |
83 | public void loadMap(String s) {
84 |
85 | try {
86 |
87 | InputStream in = getClass().getResourceAsStream(s);
88 | BufferedReader br = new BufferedReader(
89 | new InputStreamReader(in)
90 | );
91 |
92 | // save file structure:
93 | //
94 | //
95 | //