├── Demo Project
├── stages
│ ├── parallax
│ │ ├── tiles_brushes.xml
│ │ ├── tiles.png
│ │ ├── mm1endingtiles.gif
│ │ ├── corn.scn
│ │ ├── sun.scn
│ │ ├── map.xml
│ │ └── mountains.scn
│ ├── test
│ │ ├── tiles_brushes.xml
│ │ ├── floor.scn
│ │ ├── tiles.png
│ │ ├── overlay.scn
│ │ ├── 2.scn
│ │ ├── 4.scn
│ │ └── 5.scn
│ ├── Help
│ │ └── map.xml
│ ├── demo
│ │ ├── tiles.png
│ │ ├── tiles_brushes.xml
│ │ ├── Start.scn
│ │ ├── Continue.scn
│ │ └── Third.scn
│ ├── elec
│ │ ├── tiles.png
│ │ ├── tiles_brushes.xml
│ │ ├── 1.scn
│ │ ├── 2.scn
│ │ ├── 3.scn
│ │ ├── 6.scn
│ │ ├── 4.scn
│ │ ├── 5.scn
│ │ ├── 7.scn
│ │ ├── 10.scn
│ │ ├── 11.scn
│ │ ├── 13.scn
│ │ ├── 17.scn
│ │ ├── 22.scn
│ │ ├── 12.scn
│ │ ├── 14.scn
│ │ ├── 15.scn
│ │ ├── 18.scn
│ │ ├── 9.scn
│ │ └── 19.scn
│ ├── metal
│ │ ├── tiles.png
│ │ ├── tiles_brushes.xml
│ │ └── map.xml
│ ├── crystal
│ │ ├── tiles.png
│ │ ├── tiles_brushes.xml
│ │ ├── Tunnel.scn
│ │ ├── Start.scn
│ │ ├── ScreenTwo.scn
│ │ ├── 4.scn
│ │ ├── Boss.scn
│ │ ├── Easy.scn
│ │ └── 6.scn
│ ├── TilesetTest
│ │ ├── tiles.png
│ │ └── 2.scn
│ ├── NewStage
│ │ └── tiles_brushes.xml
│ └── Spark Man
│ │ ├── map.xml
│ │ └── 1.scn
├── tilesets
│ ├── Help
│ │ ├── tiles_brushes.xml
│ │ ├── cossack3.png
│ │ └── tiles.xml
│ ├── spark.png
│ ├── cossack3.png
│ ├── TilesetTest
│ │ └── tiles_brushes.xml
│ └── Spark Man
│ │ └── tiles_brushes.xml
├── music
│ └── mm5.nsf
├── images
│ ├── items.png
│ ├── ready.png
│ ├── megaman.png
│ ├── blocks
│ │ ├── door.png
│ │ ├── break.png
│ │ ├── hdoor.png
│ │ ├── spike.png
│ │ ├── wheel.png
│ │ ├── elec_yoku.png
│ │ ├── spikeflip.png
│ │ ├── crystaldoor.png
│ │ ├── disappearing.png
│ │ └── lightswitch.png
│ ├── fonts
│ │ ├── pause.png
│ │ ├── mm9_font.png
│ │ └── fonts.xml
│ ├── pause
│ │ ├── e_off.png
│ │ ├── e_on.png
│ │ ├── pause.png
│ │ ├── coil_off.png
│ │ ├── coil_on.png
│ │ ├── gyro_off.png
│ │ ├── gyro_on.png
│ │ ├── icon_off.png
│ │ ├── icon_on.png
│ │ ├── jet_off.png
│ │ ├── jet_on.png
│ │ ├── crystal_on.png
│ │ ├── napalm_off.png
│ │ ├── napalm_on.png
│ │ └── crystal_off.png
│ ├── teleporters.png
│ ├── enemies
│ │ ├── metool.png
│ │ ├── collapser.png
│ │ ├── crystalman.png
│ │ ├── elec_bolt.png
│ │ ├── shieldguy.png
│ │ ├── wallspike.png
│ │ ├── groundcannon.png
│ │ ├── mm2enemysheet.gif
│ │ ├── mm2enemysheet.png
│ │ ├── propfollower.png
│ │ ├── shieldshooter.png
│ │ ├── annoyingseeker.png
│ │ ├── Mega Man 4
│ │ │ ├── Garyoby.png
│ │ │ └── Up'n'Down.png
│ │ └── Mega Man 3
│ │ │ └── Peterchy.png
│ ├── palettes
│ │ ├── tiles.png
│ │ └── megaman.png
│ ├── weapons
│ │ ├── basic.png
│ │ ├── napalm.png
│ │ ├── portal.png
│ │ ├── rush.png
│ │ ├── crystal.png
│ │ └── weapons.png
│ ├── cutscenes
│ │ ├── cursor.png
│ │ ├── bluebar.png
│ │ ├── borders.png
│ │ ├── boss
│ │ │ ├── big.png
│ │ │ ├── portal.png
│ │ │ └── small.png
│ │ ├── getweapon.png
│ │ ├── main_menu.png
│ │ ├── title
│ │ │ ├── slide.png
│ │ │ ├── title.png
│ │ │ ├── capcom.png
│ │ │ └── protoman.png
│ │ ├── megaman_spin.png
│ │ └── stageselect
│ │ │ ├── elec.png
│ │ │ ├── eye.png
│ │ │ ├── blade.png
│ │ │ ├── centaur.png
│ │ │ ├── crystal.png
│ │ │ ├── drill.png
│ │ │ ├── magnet.png
│ │ │ ├── megaman.png
│ │ │ ├── metal.png
│ │ │ ├── tornado.png
│ │ │ ├── stageselect_back.png
│ │ │ └── stageselect_frame.png
│ ├── items
│ │ ├── bolt_large.png
│ │ ├── bolt_small.png
│ │ ├── coloritems.png
│ │ ├── energytank.png
│ │ └── coloritems_gyro.png
│ ├── meters
│ │ ├── horizback.png
│ │ ├── gyrohealth.png
│ │ ├── healthtick.png
│ │ ├── horizmeter.png
│ │ ├── napalmhealth.png
│ │ ├── rushhealth.png
│ │ ├── crystalhealth.png
│ │ ├── healthmeter_back.png
│ │ ├── horizback_selected.png
│ │ └── horizmeter_selected.png
│ ├── particles
│ │ ├── bubble.png
│ │ ├── spark.png
│ │ ├── splash.png
│ │ ├── enemy_death.png
│ │ ├── dust_-_spark.png
│ │ ├── megaman_death.png
│ │ └── enemy_death_large.png
│ └── palettes.xml
├── mm5miscsheet.gif
└── sounds
│ └── health.wav
├── .nuget
├── NuGet.exe
└── NuGet.Config
├── WPFEditor
├── wily.ico
├── lib
│ ├── nsf.dll
│ ├── fmodex.dll
│ ├── MegaManR.BGM.dll
│ └── MegaManR.Audio.dll
├── Resources
│ ├── Redo.png
│ ├── Undo.png
│ ├── auto.png
│ ├── dot.cur
│ ├── dot.png
│ ├── edit.png
│ ├── grab.cur
│ ├── hand.cur
│ ├── hand.png
│ ├── ice.gif
│ ├── play.png
│ ├── roll.png
│ ├── sand.gif
│ ├── save.png
│ ├── wily.ico
│ ├── wily.png
│ ├── CopyHS.png
│ ├── CutHS.png
│ ├── PlayHS.png
│ ├── Remove.png
│ ├── ZoomHS.png
│ ├── brush.png
│ ├── check.png
│ ├── cross.png
│ ├── delete.png
│ ├── export.png
│ ├── gears.png
│ ├── joins.png
│ ├── metool.png
│ ├── openHS.png
│ ├── paper.png
│ ├── pause.png
│ ├── pencil.png
│ ├── point.png
│ ├── resist.gif
│ ├── saveHS.png
│ ├── screen.png
│ ├── spawn.png
│ ├── stage.png
│ ├── tiles.png
│ ├── vsplit.cur
│ ├── vsplit.png
│ ├── wrench.png
│ ├── zoomin.png
│ ├── NewEntity.png
│ ├── PasteHS.png
│ ├── PauseHS.png
│ ├── Settings.png
│ ├── add_brush.png
│ ├── brush_off.png
│ ├── brush_on.png
│ ├── bucket_on.png
│ ├── cleave_on.png
│ ├── conveyor.gif
│ ├── cursor_on.png
│ ├── gears32.png
│ ├── metool_x.png
│ ├── newscreen.png
│ ├── newstage.png
│ ├── nosprite.png
│ ├── off_base.png
│ ├── project.png
│ ├── protoman.png
│ ├── stage_add.png
│ ├── start_off.png
│ ├── start_on.png
│ ├── wilybrows.gif
│ ├── wrench32.png
│ ├── zoomout.png
│ ├── EntityList.png
│ ├── Mega Man 10.ttf
│ ├── PasteBrush.png
│ ├── blank_tile.png
│ ├── bucket_off.png
│ ├── cleave_off.png
│ ├── continue_on.png
│ ├── cursor_off.png
│ ├── dropper_off.png
│ ├── dropper_on.png
│ ├── roomborder.png
│ ├── stage_link.png
│ ├── start_full.png
│ ├── start_icon.png
│ ├── Folder_16x16.png
│ ├── NewDocumentHS.png
│ ├── continue_full.png
│ ├── continue_icon.png
│ ├── continue_off.png
│ ├── rectangle_off.png
│ ├── rectangle_on.png
│ ├── selection_off.png
│ ├── selection_on.png
│ ├── tile_unknown.png
│ ├── FolderOpen_16x16_72.png
│ ├── Includes
│ │ ├── sound
│ │ │ ├── mm5.nsf
│ │ │ └── health.wav
│ │ └── images
│ │ │ ├── items.png
│ │ │ ├── palettes
│ │ │ ├── palettes.xml
│ │ │ └── megaman.png
│ │ │ ├── megaman.png
│ │ │ ├── fonts
│ │ │ ├── pause.png
│ │ │ ├── mm9_font.png
│ │ │ └── fonts.xml
│ │ │ ├── weapons
│ │ │ ├── basic.png
│ │ │ └── rush.png
│ │ │ ├── particles
│ │ │ ├── spark.png
│ │ │ ├── bubble.png
│ │ │ ├── splash.png
│ │ │ ├── dust_-_spark.png
│ │ │ ├── enemy_death.png
│ │ │ ├── megaman_death.png
│ │ │ └── enemy_death_large.png
│ │ │ └── meters
│ │ │ ├── healthtick.png
│ │ │ ├── horizback.png
│ │ │ ├── horizmeter.png
│ │ │ ├── rushhealth.png
│ │ │ ├── healthmeter_back.png
│ │ │ ├── horizback_selected.png
│ │ │ └── horizmeter_selected.png
│ └── OpenSansCondensed-Bold.ttf
├── BLL
│ ├── Const.cs
│ ├── Tools
│ │ └── IEntityToolBehavior.cs
│ ├── UnknownTile.cs
│ ├── IProjectFileStructure.cs
│ ├── IEntityImage.cs
│ └── Algorithms
│ │ └── IScreenData.cs
├── Services
│ └── IDialogService.cs
├── App.config
├── Mediator
│ ├── TestLocationClickedEventArgs.cs
│ ├── NewEntityEventArgs.cs
│ ├── ZoomChangedEventArgs.cs
│ ├── TileSelectedEventArgs.cs
│ ├── StageAddedEventArgs.cs
│ ├── EntityAddedEventArgs.cs
│ ├── ProjectChangedEventArgs.cs
│ ├── TileBrushSelectedEventArgs.cs
│ ├── LayoutScreenDroppedEventArgs.cs
│ ├── LayerVisibilityChangedEventArgs.cs
│ ├── TestLocationSelectedEventArgs.cs
│ ├── SelectionChangedEventArgs.cs
│ ├── EntitySelectedEventArgs.cs
│ ├── StageChangedEventArgs.cs
│ └── EntityRenamedEventArgs.cs
├── AppData
│ └── RecentProject.cs
├── Properties
│ └── Settings.settings
├── Tools
│ ├── IToolCursor.cs
│ └── IToolProvider.cs
├── WPFEditor.csproj.user
├── Controls
│ ├── Canvases
│ │ └── TileScreenCanvas.cs
│ ├── EntityToolbar.xaml.cs
│ ├── LayoutToolbar.xaml.cs
│ ├── TilesToolbar.xaml.cs
│ ├── Dialogs
│ │ └── TilesetImporterDialog.xaml.cs
│ ├── StageTileControl.cs
│ ├── StageEntitiesControl.cs
│ ├── Parts
│ │ └── TileImage.cs
│ ├── TilesetEditor.xaml.cs
│ ├── StagePropertiesControl.xaml.cs
│ ├── ViewModels
│ │ └── ViewModelBase.cs
│ └── EntityEditor.xaml.cs
└── UserSettings.cs
├── Mega Man
├── lib
│ ├── nsf.dll
│ ├── FMOD.dll
│ ├── fmodex.dll
│ ├── ntsc.dll
│ ├── MegaManR.BGM.dll
│ └── MegaManR.Audio.dll
├── Entities
│ ├── IEntitySource.cs
│ ├── ITilePropertiesSource.cs
│ ├── Effects
│ │ ├── IEffectLoader.cs
│ │ ├── CallEffectLoader.cs
│ │ ├── DieEffectLoader.cs
│ │ ├── PauseEffectLoader.cs
│ │ ├── RemoveEffectLoader.cs
│ │ ├── UnpauseEffectLoader .cs
│ │ ├── LivesEffectLoader.cs
│ │ ├── NextEffectLoader.cs
│ │ ├── DefeatBossEffectLoader.cs
│ │ ├── GravityFlipEffectLoader.cs
│ │ ├── UnlockWeaponEffectLoader.cs
│ │ ├── AddInventoryEffectLoader.cs
│ │ ├── RemoveInventoryEffectLoader.cs
│ │ ├── HealthEffectLoader.cs
│ │ └── SetVarEffectLoader.cs
│ ├── IEntityRespawnTracker.cs
│ └── IEntityPool.cs
├── StateMachine
│ ├── IStateMachineCommand.cs
│ └── IStateMachine.cs
├── GameXmlException.cs
├── Stage
│ ├── IMapSquare.cs
│ ├── IScreenLayer.cs
│ └── ScreenDrawingCoords.cs
├── Properties
│ └── Settings.settings
├── Forms
│ ├── MenuControllers
│ │ ├── IMenuController.cs
│ │ └── ExclusiveController.cs
│ └── Settings
│ │ └── UserSettingsEnums.cs
├── packages.config
├── Log.cs
├── design
├── Components
│ └── HitBox.cs
└── Injector.cs
├── .gitignore
├── IO.Tests
├── Resources
│ ├── Sprite_Defaults.xml
│ ├── Xml_RequireAttribute.xml
│ └── Sprite_NormalInput.xml
└── TestHelpers.cs
├── docs
├── assets
│ ├── megaman_2.ttf
│ └── images
│ │ ├── grid.png
│ │ ├── logo.png
│ │ ├── screens
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.png
│ │ ├── 4.png
│ │ ├── 5.png
│ │ ├── 6.png
│ │ └── editor.png
│ │ └── icon_download.png
└── docs
│ └── scripting
│ └── menu.js
├── CommonTests
├── Resources
│ └── Xml_RequireAttribute.xml
└── TestHelpers.cs
├── Mega Man Common
├── Entities
│ ├── IComponentInfo.cs
│ ├── InputComponentInfo.cs
│ ├── Effects
│ │ ├── IEffectPartInfo.cs
│ │ ├── DieEffectPartInfo.cs
│ │ ├── PauseEffectPartInfo.cs
│ │ ├── RemoveEffectPartInfo.cs
│ │ ├── UnpauseEffectPartInfo.cs
│ │ ├── LivesEffectPartInfo.cs
│ │ ├── StateEffectPartInfo.cs
│ │ ├── InputEffectPartInfo.cs
│ │ ├── HealthEffectPartInfo.cs
│ │ ├── CallEffectPartInfo.cs
│ │ ├── DefeatBossEffectPartInfo.cs
│ │ ├── GravityFlipEffectPartInfo.cs
│ │ ├── NextEffectPartInfo.cs
│ │ ├── TriggerEffectPartInfo.cs
│ │ ├── UnlockWeaponEffectPartInfo.cs
│ │ ├── SetVarEffectPartInfo.cs
│ │ ├── SoundEffectPartInfo.cs
│ │ ├── FuncEffectPartInfo.cs
│ │ ├── AddInventoryEffectPartInfo.cs
│ │ ├── DelayedEffectPartInfo.cs
│ │ ├── PaletteEffectPartInfo.cs
│ │ ├── RemoveInventoryEffectPartInfo.cs
│ │ ├── LadderEffectPartInfo.cs
│ │ ├── SpawnEffectPartInfo.cs
│ │ ├── VarsEffectPartInfo.cs
│ │ ├── TimerEffectPartInfo.cs
│ │ └── EffectInfo.cs
│ ├── PositionComponentInfo.cs
│ ├── LadderComponentInfo.cs
│ ├── EntityEditorData.cs
│ ├── HealthComponentInfo.cs
│ ├── MovementComponentInfo.cs
│ ├── CollisionComponentInfo.cs
│ ├── SpriteComponentInfo.cs
│ └── WeaponComponentInfo.cs
├── Enums
│ ├── Axis.cs
│ └── Direction.cs
├── IncludedObjects
│ ├── IIncludedObject.cs
│ ├── IncludedObject.cs
│ ├── PaletteInfo.cs
│ └── MenuInfo.cs
└── Rendering
│ └── IResourceImage.cs
├── IO
├── IGameLoader.cs
├── IStageWriter.cs
├── IProjectWriter.cs
├── ITilesetWriter.cs
├── IRawReader.cs
├── IGameFileReader.cs
├── IStageReader.cs
├── DataSources
│ ├── XmlFileSource.cs
│ └── IDataSource.cs
├── IEntityWriter.cs
├── IProjectReader.cs
├── ISoundReader.cs
├── ITilesetReader.cs
├── packages.config
├── IIncludedObjectGroupXmlWriter.cs
├── Xml
│ ├── Effects
│ │ ├── IEffectPartXmlReader.cs
│ │ ├── IEffectPartXmlWriter.cs
│ │ ├── DieEffectPartXmlReader.cs
│ │ ├── PauseEffectPartXmlReader.cs
│ │ ├── RemoveEffectPartXmlReader.cs
│ │ ├── UnpauseEffectPartXmlReader.cs
│ │ ├── DieEffectPartXmlWriter.cs
│ │ ├── PauseEffectPartXmlWriter.cs
│ │ ├── RemoveEffectPartXmlWriter.cs
│ │ ├── CallEffectPartXmlReader.cs
│ │ ├── StateEffectPartXmlReader.cs
│ │ ├── UnpauseEffectPartXmlWriter.cs
│ │ ├── LivesEffectPartXmlReader.cs
│ │ ├── StateEffectPartXmlWriter.cs
│ │ ├── HealthEffectPartXmlReader.cs
│ │ ├── GravityFlipEffectPartXmlReader.cs
│ │ ├── DefeatBossEffectPartXmlReader.cs
│ │ ├── InputEffectPartXmlReader.cs
│ │ ├── CallEffectPartXmlWriter.cs
│ │ ├── UnlockWeaponEffectPartXmlReader.cs
│ │ ├── GravityFlipEffectPartXmlWriter.cs
│ │ ├── LadderEffectPartXmlReader.cs
│ │ ├── LadderEffectPartXmlWriter.cs
│ │ ├── FuncEffectPartXmlReader.cs
│ │ ├── SetVarEffectPartXmlReader.cs
│ │ ├── SoundEffectPartXmlReader.cs
│ │ ├── PaletteEffectPartXmlReader.cs
│ │ ├── FuncEffectPartXmlWriter.cs
│ │ └── AddInventoryEffectPartXmlReader.cs
│ ├── Handlers
│ │ ├── Commands
│ │ │ ├── ICommandXmlWriter.cs
│ │ │ ├── ICommandXmlReader.cs
│ │ │ ├── WaitCommandXmlWriter.cs
│ │ │ ├── StopCommandXmlReader.cs
│ │ │ ├── WaitCommandXmlReader.cs
│ │ │ ├── StopCommandXmlWriter.cs
│ │ │ ├── CallCommandXmlReader.cs
│ │ │ ├── RemoveCommandXmlReader.cs
│ │ │ └── CallCommandXmlWriter.cs
│ │ └── IHandlerObjectXmlWriter.cs
│ ├── Entities
│ │ ├── IComponentXmlWriter.cs
│ │ ├── IComponentXmlReader.cs
│ │ ├── InputComponentXmlWriter.cs
│ │ ├── InputComponentXmlReader.cs
│ │ └── PositionComponentXmlReader.cs
│ ├── IIncludeXmlReader.cs
│ ├── SceneBindingXmlReader.cs
│ └── SceneBindingXmlWriter.cs
├── IReaderProvider.cs
├── IWriterProvider.cs
├── RawReader.cs
└── Injector.cs
├── EngineTests
└── packages.config
├── WpfEditorTests
└── ProjectFileStructureTests.cs
├── packages
└── repositories.config
└── create-release.ps1
/Demo Project/stages/parallax/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Demo Project/tilesets/Help/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Demo Project/stages/test/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 2 2 1 1 1 1
2 |
--------------------------------------------------------------------------------
/.nuget/NuGet.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/.nuget/NuGet.exe
--------------------------------------------------------------------------------
/WPFEditor/wily.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/wily.ico
--------------------------------------------------------------------------------
/Mega Man/lib/nsf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Mega Man/lib/nsf.dll
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.suo
2 | *.user
3 | bin/
4 | obj/
5 | Thumbs.db
6 | .*
7 | packages/
8 | Releases/
9 |
--------------------------------------------------------------------------------
/Demo Project/stages/test/floor.scn:
--------------------------------------------------------------------------------
1 | 8 3
2 | 8 8 8 8 8 8 8 8
3 | 8 8 8 8 8 8 8 8
4 | 8 8 8 8 8 8 8 8
5 |
--------------------------------------------------------------------------------
/Mega Man/lib/FMOD.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Mega Man/lib/FMOD.dll
--------------------------------------------------------------------------------
/Mega Man/lib/fmodex.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Mega Man/lib/fmodex.dll
--------------------------------------------------------------------------------
/Mega Man/lib/ntsc.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Mega Man/lib/ntsc.dll
--------------------------------------------------------------------------------
/WPFEditor/lib/nsf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/lib/nsf.dll
--------------------------------------------------------------------------------
/IO.Tests/Resources/Sprite_Defaults.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/WPFEditor/lib/fmodex.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/lib/fmodex.dll
--------------------------------------------------------------------------------
/docs/assets/megaman_2.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/megaman_2.ttf
--------------------------------------------------------------------------------
/Demo Project/music/mm5.nsf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/music/mm5.nsf
--------------------------------------------------------------------------------
/WPFEditor/Resources/Redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Redo.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Undo.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/auto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/auto.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/dot.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/dot.cur
--------------------------------------------------------------------------------
/WPFEditor/Resources/dot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/dot.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/edit.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/grab.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/grab.cur
--------------------------------------------------------------------------------
/WPFEditor/Resources/hand.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/hand.cur
--------------------------------------------------------------------------------
/WPFEditor/Resources/hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/hand.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/ice.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/ice.gif
--------------------------------------------------------------------------------
/WPFEditor/Resources/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/play.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/roll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/roll.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/sand.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/sand.gif
--------------------------------------------------------------------------------
/WPFEditor/Resources/save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/save.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/wily.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/wily.ico
--------------------------------------------------------------------------------
/WPFEditor/Resources/wily.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/wily.png
--------------------------------------------------------------------------------
/docs/assets/images/grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/grid.png
--------------------------------------------------------------------------------
/docs/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/logo.png
--------------------------------------------------------------------------------
/Demo Project/images/items.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/items.png
--------------------------------------------------------------------------------
/Demo Project/images/ready.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/ready.png
--------------------------------------------------------------------------------
/Demo Project/mm5miscsheet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/mm5miscsheet.gif
--------------------------------------------------------------------------------
/Demo Project/sounds/health.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/sounds/health.wav
--------------------------------------------------------------------------------
/IO.Tests/Resources/Xml_RequireAttribute.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Mega Man/lib/MegaManR.BGM.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Mega Man/lib/MegaManR.BGM.dll
--------------------------------------------------------------------------------
/WPFEditor/Resources/CopyHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/CopyHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/CutHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/CutHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/PlayHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/PlayHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Remove.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/ZoomHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/ZoomHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/brush.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/brush.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/check.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/cross.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/cross.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/delete.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/export.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/export.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/gears.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/gears.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/joins.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/joins.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/metool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/metool.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/openHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/openHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/paper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/paper.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/pause.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/pencil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/pencil.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/point.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/resist.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/resist.gif
--------------------------------------------------------------------------------
/WPFEditor/Resources/saveHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/saveHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/screen.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/spawn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/spawn.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/stage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/stage.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/tiles.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/vsplit.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/vsplit.cur
--------------------------------------------------------------------------------
/WPFEditor/Resources/vsplit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/vsplit.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/wrench.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/wrench.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/zoomin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/zoomin.png
--------------------------------------------------------------------------------
/WPFEditor/lib/MegaManR.BGM.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/lib/MegaManR.BGM.dll
--------------------------------------------------------------------------------
/CommonTests/Resources/Xml_RequireAttribute.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Demo Project/images/megaman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/megaman.png
--------------------------------------------------------------------------------
/Demo Project/tilesets/spark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/tilesets/spark.png
--------------------------------------------------------------------------------
/Mega Man/lib/MegaManR.Audio.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Mega Man/lib/MegaManR.Audio.dll
--------------------------------------------------------------------------------
/WPFEditor/Resources/NewEntity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/NewEntity.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/PasteHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/PasteHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/PauseHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/PauseHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Settings.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/add_brush.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/add_brush.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/brush_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/brush_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/brush_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/brush_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/bucket_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/bucket_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/cleave_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/cleave_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/conveyor.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/conveyor.gif
--------------------------------------------------------------------------------
/WPFEditor/Resources/cursor_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/cursor_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/gears32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/gears32.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/metool_x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/metool_x.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/newscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/newscreen.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/newstage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/newstage.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/nosprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/nosprite.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/off_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/off_base.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/project.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/protoman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/protoman.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/stage_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/stage_add.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/start_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/start_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/start_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/start_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/wilybrows.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/wilybrows.gif
--------------------------------------------------------------------------------
/WPFEditor/Resources/wrench32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/wrench32.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/zoomout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/zoomout.png
--------------------------------------------------------------------------------
/WPFEditor/lib/MegaManR.Audio.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/lib/MegaManR.Audio.dll
--------------------------------------------------------------------------------
/docs/assets/images/screens/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/screens/1.png
--------------------------------------------------------------------------------
/docs/assets/images/screens/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/screens/2.png
--------------------------------------------------------------------------------
/docs/assets/images/screens/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/screens/3.png
--------------------------------------------------------------------------------
/docs/assets/images/screens/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/screens/4.png
--------------------------------------------------------------------------------
/docs/assets/images/screens/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/screens/5.png
--------------------------------------------------------------------------------
/docs/assets/images/screens/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/screens/6.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/door.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/door.png
--------------------------------------------------------------------------------
/Demo Project/images/fonts/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/fonts/pause.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/e_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/e_off.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/e_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/e_on.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/pause.png
--------------------------------------------------------------------------------
/Demo Project/images/teleporters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/teleporters.png
--------------------------------------------------------------------------------
/Demo Project/stages/Help/map.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Demo Project/stages/demo/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/demo/tiles.png
--------------------------------------------------------------------------------
/Demo Project/stages/elec/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/elec/tiles.png
--------------------------------------------------------------------------------
/Demo Project/stages/metal/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/metal/tiles.png
--------------------------------------------------------------------------------
/Demo Project/stages/test/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/test/tiles.png
--------------------------------------------------------------------------------
/Demo Project/tilesets/cossack3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/tilesets/cossack3.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/EntityList.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/EntityList.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Mega Man 10.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Mega Man 10.ttf
--------------------------------------------------------------------------------
/WPFEditor/Resources/PasteBrush.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/PasteBrush.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/blank_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/blank_tile.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/bucket_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/bucket_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/cleave_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/cleave_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/continue_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/continue_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/cursor_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/cursor_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/dropper_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/dropper_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/dropper_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/dropper_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/roomborder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/roomborder.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/stage_link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/stage_link.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/start_full.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/start_full.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/start_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/start_icon.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/break.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/break.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/hdoor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/hdoor.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/spike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/spike.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/wheel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/wheel.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/metool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/metool.png
--------------------------------------------------------------------------------
/Demo Project/images/fonts/mm9_font.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/fonts/mm9_font.png
--------------------------------------------------------------------------------
/Demo Project/images/palettes/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/palettes/tiles.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/coil_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/coil_off.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/coil_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/coil_on.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/gyro_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/gyro_off.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/gyro_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/gyro_on.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/icon_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/icon_off.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/icon_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/icon_on.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/jet_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/jet_off.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/jet_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/jet_on.png
--------------------------------------------------------------------------------
/Demo Project/images/weapons/basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/weapons/basic.png
--------------------------------------------------------------------------------
/Demo Project/images/weapons/napalm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/weapons/napalm.png
--------------------------------------------------------------------------------
/Demo Project/images/weapons/portal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/weapons/portal.png
--------------------------------------------------------------------------------
/Demo Project/images/weapons/rush.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/weapons/rush.png
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/crystal/tiles.png
--------------------------------------------------------------------------------
/Demo Project/stages/parallax/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/parallax/tiles.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Folder_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Folder_16x16.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/NewDocumentHS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/NewDocumentHS.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/continue_full.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/continue_full.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/continue_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/continue_icon.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/continue_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/continue_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/rectangle_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/rectangle_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/rectangle_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/rectangle_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/selection_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/selection_off.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/selection_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/selection_on.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/tile_unknown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/tile_unknown.png
--------------------------------------------------------------------------------
/docs/assets/images/icon_download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/icon_download.png
--------------------------------------------------------------------------------
/docs/assets/images/screens/editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/docs/assets/images/screens/editor.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/elec_yoku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/elec_yoku.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/spikeflip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/spikeflip.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/cursor.png
--------------------------------------------------------------------------------
/Demo Project/images/items/bolt_large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/items/bolt_large.png
--------------------------------------------------------------------------------
/Demo Project/images/items/bolt_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/items/bolt_small.png
--------------------------------------------------------------------------------
/Demo Project/images/items/coloritems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/items/coloritems.png
--------------------------------------------------------------------------------
/Demo Project/images/items/energytank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/items/energytank.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/horizback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/horizback.png
--------------------------------------------------------------------------------
/Demo Project/images/palettes/megaman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/palettes/megaman.png
--------------------------------------------------------------------------------
/Demo Project/images/particles/bubble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/particles/bubble.png
--------------------------------------------------------------------------------
/Demo Project/images/particles/spark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/particles/spark.png
--------------------------------------------------------------------------------
/Demo Project/images/particles/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/particles/splash.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/crystal_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/crystal_on.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/napalm_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/napalm_off.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/napalm_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/napalm_on.png
--------------------------------------------------------------------------------
/Demo Project/images/weapons/crystal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/weapons/crystal.png
--------------------------------------------------------------------------------
/Demo Project/images/weapons/weapons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/weapons/weapons.png
--------------------------------------------------------------------------------
/Demo Project/tilesets/Help/cossack3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/tilesets/Help/cossack3.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/crystaldoor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/crystaldoor.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/disappearing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/disappearing.png
--------------------------------------------------------------------------------
/Demo Project/images/blocks/lightswitch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/blocks/lightswitch.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/bluebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/bluebar.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/borders.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/borders.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/boss/big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/boss/big.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/getweapon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/getweapon.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/main_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/main_menu.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/collapser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/collapser.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/crystalman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/crystalman.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/elec_bolt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/elec_bolt.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/shieldguy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/shieldguy.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/wallspike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/wallspike.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/gyrohealth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/gyrohealth.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/healthtick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/healthtick.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/horizmeter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/horizmeter.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/napalmhealth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/napalmhealth.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/rushhealth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/rushhealth.png
--------------------------------------------------------------------------------
/Demo Project/images/pause/crystal_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/pause/crystal_off.png
--------------------------------------------------------------------------------
/Demo Project/stages/TilesetTest/tiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/TilesetTest/tiles.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/FolderOpen_16x16_72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/FolderOpen_16x16_72.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/sound/mm5.nsf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/sound/mm5.nsf
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/boss/portal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/boss/portal.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/boss/small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/boss/small.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/title/slide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/title/slide.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/title/title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/title/title.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/groundcannon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/groundcannon.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/mm2enemysheet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/mm2enemysheet.gif
--------------------------------------------------------------------------------
/Demo Project/images/enemies/mm2enemysheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/mm2enemysheet.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/propfollower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/propfollower.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/shieldshooter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/shieldshooter.png
--------------------------------------------------------------------------------
/Demo Project/images/items/coloritems_gyro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/items/coloritems_gyro.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/crystalhealth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/crystalhealth.png
--------------------------------------------------------------------------------
/Demo Project/images/particles/enemy_death.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/particles/enemy_death.png
--------------------------------------------------------------------------------
/Demo Project/stages/metal/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 2 1 11 12
2 | 4 1 1 2 4 5
3 | 2 2 42 44 43 45
4 | 1 3 33 34 35
5 | 2 2 20 22 21 23
6 | 2 1 22 23
7 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/items.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/items.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/palettes/palettes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/sound/health.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/sound/health.wav
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/megaman_spin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/megaman_spin.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/title/capcom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/title/capcom.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/title/protoman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/title/protoman.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/annoyingseeker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/annoyingseeker.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/healthmeter_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/healthmeter_back.png
--------------------------------------------------------------------------------
/Demo Project/images/particles/dust_-_spark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/particles/dust_-_spark.png
--------------------------------------------------------------------------------
/Demo Project/images/particles/megaman_death.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/particles/megaman_death.png
--------------------------------------------------------------------------------
/Demo Project/stages/parallax/mm1endingtiles.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/stages/parallax/mm1endingtiles.gif
--------------------------------------------------------------------------------
/Mega Man Common/Entities/IComponentInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities
2 | {
3 | public interface IComponentInfo
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/megaman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/megaman.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/OpenSansCondensed-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/OpenSansCondensed-Bold.ttf
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/elec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/elec.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/eye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/eye.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/Mega Man 4/Garyoby.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/Mega Man 4/Garyoby.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/horizback_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/horizback_selected.png
--------------------------------------------------------------------------------
/Demo Project/images/meters/horizmeter_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/meters/horizmeter_selected.png
--------------------------------------------------------------------------------
/Demo Project/stages/elec/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 2 2 13 21 14 22
2 | 2 1 6 7
3 | 2 2 26 33 28 35
4 | 2 2 26 33 27 34
5 | 2 2 24 31 25 32
6 | 2 2 27 34 28 35
7 |
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/blade.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/blade.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/centaur.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/centaur.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/crystal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/crystal.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/drill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/drill.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/magnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/magnet.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/megaman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/megaman.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/metal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/metal.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/tornado.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/tornado.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/Mega Man 3/Peterchy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/Mega Man 3/Peterchy.png
--------------------------------------------------------------------------------
/Demo Project/images/enemies/Mega Man 4/Up'n'Down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/enemies/Mega Man 4/Up'n'Down.png
--------------------------------------------------------------------------------
/Demo Project/images/particles/enemy_death_large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/particles/enemy_death_large.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/fonts/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/fonts/pause.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/weapons/basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/weapons/basic.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/weapons/rush.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/weapons/rush.png
--------------------------------------------------------------------------------
/Demo Project/stages/demo/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 3 2 0 3 1 4 2 5
2 | 2 2 28 26 27 29
3 | 2 2 14 18 15 19
4 | 2 1 20 21
5 | 2 1 16 17
6 | 4 1 75 76 77 78
7 | 1 2 79 80
8 |
--------------------------------------------------------------------------------
/IO/IGameLoader.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.IO
2 | {
3 | public interface IGameLoader
4 | {
5 | IReaderProvider Load(string filepath);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/fonts/mm9_font.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/fonts/mm9_font.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/particles/spark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/particles/spark.png
--------------------------------------------------------------------------------
/EngineTests/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/WPFEditor/BLL/Const.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Editor.Bll
2 | {
3 | public static class Const
4 | {
5 | public static readonly float FPS = 60.0f;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/meters/healthtick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/meters/healthtick.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/meters/horizback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/meters/horizback.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/meters/horizmeter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/meters/horizmeter.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/meters/rushhealth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/meters/rushhealth.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/palettes/megaman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/palettes/megaman.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/particles/bubble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/particles/bubble.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/particles/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/particles/splash.png
--------------------------------------------------------------------------------
/Demo Project/stages/parallax/corn.scn:
--------------------------------------------------------------------------------
1 | 64 1
2 | 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
3 |
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/stageselect_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/stageselect_back.png
--------------------------------------------------------------------------------
/Demo Project/images/cutscenes/stageselect/stageselect_frame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/Demo Project/images/cutscenes/stageselect/stageselect_frame.png
--------------------------------------------------------------------------------
/Mega Man Common/Entities/InputComponentInfo.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace MegaMan.Common.Entities
3 | {
4 | public class InputComponentInfo : IComponentInfo
5 | {
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/meters/healthmeter_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/meters/healthmeter_back.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/particles/dust_-_spark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/particles/dust_-_spark.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/particles/enemy_death.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/particles/enemy_death.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/particles/megaman_death.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/particles/megaman_death.png
--------------------------------------------------------------------------------
/Demo Project/images/palettes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Mega Man Common/Enums/Axis.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common
2 | {
3 | public enum Axis
4 | {
5 | X = 1,
6 | Y = 2,
7 | Both = 3
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/meters/horizback_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/meters/horizback_selected.png
--------------------------------------------------------------------------------
/WPFEditor/Services/IDialogService.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Editor.Services
2 | {
3 | public interface IDialogService
4 | {
5 | void ShowNewEntityDialog();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/meters/horizmeter_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/meters/horizmeter_selected.png
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/particles/enemy_death_large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tesserex/C--MegaMan-Engine/HEAD/WPFEditor/Resources/Includes/images/particles/enemy_death_large.png
--------------------------------------------------------------------------------
/Demo Project/tilesets/TilesetTest/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 1 2 123 122
2 | 1 3 123 117 122
3 | 1 2 120 119
4 | 2 2 69 81 70 82
5 | 2 4 84 96 96 108 86 98 98 110
6 | 1 4 123 36 37 122
7 | 1 2 95 107
8 |
--------------------------------------------------------------------------------
/IO/IStageWriter.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IStageWriter
6 | {
7 | void Save(StageInfo stage);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/.nuget/NuGet.Config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Demo Project/tilesets/Spark Man/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 2 1 18 19
2 | 2 2 6 8 7 9
3 | 2 2 66 70 67 71
4 | 2 1 13 12
5 | 2 2 57 55 58 56
6 | 3 2 52 54 52 72 53 54
7 | 4 3 44 48 46 0 49 0 0 49 0 45 50 47
8 |
--------------------------------------------------------------------------------
/IO/IProjectWriter.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IProjectWriter
6 | {
7 | void Save(Project project);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/IO/ITilesetWriter.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface ITilesetWriter
6 | {
7 | void Save(Tileset tileset);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Mega Man/Entities/IEntitySource.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Engine.Entities
2 | {
3 | public interface IEntitySource
4 | {
5 | GameEntity GetOriginalEntity(string name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/WPFEditor/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/TestLocationClickedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Editor.Mediator
4 | {
5 | public class TestLocationClickedEventArgs : EventArgs
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/IEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public interface IEffectPartInfo
4 | {
5 | IEffectPartInfo Clone();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Demo Project/stages/NewStage/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 2 1 2 1
2 | 6 2 8 8 11 8 10 8 5 8 5 10 11 8
3 | 3 1 0 1 2
4 | 4 1 0 1 2 3
5 | 2 1 0 3
6 | 4 2 72 14 66 74 66 72 66 75
7 | 4 3 69 66 74 66 66 76 66 75 14 75 14 14
8 |
--------------------------------------------------------------------------------
/IO/IRawReader.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IRawReader : IGameFileReader
6 | {
7 | byte[] GetRawData(FilePath path);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Mega Man Common/IncludedObjects/IIncludedObject.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.IncludedObjects
2 | {
3 | public interface IIncludedObject
4 | {
5 | FilePath StoragePath { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/IO/IGameFileReader.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.IO.DataSources;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IGameFileReader
6 | {
7 | void Init(IDataSource dataSource);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/IO/IStageReader.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IStageReader : IGameFileReader
6 | {
7 | StageInfo Load(FilePath path);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Mega Man/StateMachine/IStateMachineCommand.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Engine.StateMachine
2 | {
3 | public interface IStateMachineCommand
4 | {
5 | void Apply(IStateMachine stateMachine);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/IO/DataSources/XmlFileSource.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.IO.DataSources
2 | {
3 | internal class XmlFileSource : FileSource
4 | {
5 | public override string Extension { get { return ".xml"; } }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/IO/IEntityWriter.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common.Entities;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IEntityWriter
6 | {
7 | void Write(EntityInfo entity, string filepath);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Mega Man Common/Enums/Direction.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common
2 | {
3 | public enum Direction
4 | {
5 | Unknown,
6 | Down,
7 | Up,
8 | Left,
9 | Right
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/PositionComponentInfo.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace MegaMan.Common.Entities
3 | {
4 | public class PositionComponentInfo : IComponentInfo
5 | {
6 | public bool PersistOffscreen { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/WPFEditor/AppData/RecentProject.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Editor.AppData
2 | {
3 | public class RecentProject
4 | {
5 | public string Name { get; set; }
6 | public string AbsolutePath { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/IO/IProjectReader.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IProjectReader : IGameFileReader
6 | {
7 | string Extension { get; }
8 | Project Load();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/IO/ISoundReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.IncludedObjects;
3 |
4 | namespace MegaMan.IO
5 | {
6 | public interface ISoundReader
7 | {
8 | SoundInfo Load(XElement node);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/NewEntityEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Editor.Mediator
4 | {
5 | public class NewEntityEventArgs : EventArgs
6 | {
7 | public string Name { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/ZoomChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Editor.Mediator
4 | {
5 | public class ZoomChangedEventArgs : EventArgs
6 | {
7 | public double Zoom { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/tiles_brushes.xml:
--------------------------------------------------------------------------------
1 | 2 2 28 29 29 28
2 | 4 2 0 4 1 5 2 6 3 7
3 | 2 2 36 38 37 39
4 | 4 2 6 10 7 11 4 8 5 9
5 | 2 2 48 50 49 51
6 | 3 2 63 66 64 70 65 68
7 | 3 1 69 70 71
8 | 2 2 52 54 53 55
9 | 2 2 44 46 45 47
10 |
--------------------------------------------------------------------------------
/WPFEditor/BLL/Tools/IEntityToolBehavior.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Editor.Bll.Tools
2 | {
3 | public interface IEntityToolBehavior : IToolBehavior
4 | {
5 | int SnapX { get; set; }
6 | int SnapY { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/WPFEditor/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Mega Man/Entities/ITilePropertiesSource.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.Engine.Entities
4 | {
5 | public interface ITilePropertiesSource
6 | {
7 | TileProperties GetProperties(string name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/WpfEditorTests/ProjectFileStructureTests.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.VisualStudio.TestTools.UnitTesting;
2 |
3 | namespace WpfEditorTests
4 | {
5 | [TestClass]
6 | public class ProjectFileStructureTests
7 | {
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/WPFEditor/Tools/IToolCursor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows;
3 |
4 | namespace MegaMan.Editor.Tools
5 | {
6 | public interface IToolCursor : IDisposable
7 | {
8 | void ApplyCursorTo(FrameworkElement element);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/WPFEditor/WPFEditor.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectFiles
5 |
6 |
--------------------------------------------------------------------------------
/packages/repositories.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Demo Project/stages/parallax/sun.scn:
--------------------------------------------------------------------------------
1 | 16 6
2 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 | 1 1 1 1 1 1 17 18 19 20 1 1 1 1 1 1
5 | 1 1 1 1 1 1 21 22 23 24 1 1 1 1 1 1
6 | 1 1 1 1 1 1 25 26 27 28 1 1 1 1 1 1
7 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/TileSelectedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common;
3 |
4 | namespace MegaMan.Editor.Mediator
5 | {
6 | public class TileSelectedEventArgs : EventArgs
7 | {
8 | public Tile Tile { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man/GameXmlException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Engine
4 | {
5 | public class GameRunException : Exception
6 | {
7 | public GameRunException(string message)
8 | : base(message)
9 | {
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/StageAddedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common;
3 |
4 | namespace MegaMan.Editor.Mediator
5 | {
6 | public class StageAddedEventArgs : EventArgs
7 | {
8 | public StageLinkInfo Stage { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/LadderComponentInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace MegaMan.Common.Entities
4 | {
5 | public class LadderComponentInfo : IComponentInfo
6 | {
7 | public List HitBoxes { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Mega Man Common/IncludedObjects/IncludedObject.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.IncludedObjects
2 | {
3 | public class IncludedObject : IIncludedObject
4 | {
5 | public FilePath StoragePath
6 | {
7 | get; set;
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/EntityAddedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities;
3 |
4 | namespace MegaMan.Editor.Mediator
5 | {
6 | public class EntityAddedEventArgs : EventArgs
7 | {
8 | public EntityInfo Entity { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man/Stage/IMapSquare.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 | using MegaMan.Common.Geometry;
3 |
4 | namespace MegaMan.Engine
5 | {
6 | public interface IMapSquare
7 | {
8 | Rectangle BlockBox { get; }
9 | TileProperties Properties { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/ProjectChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Editor.Bll;
3 |
4 | namespace MegaMan.Editor.Mediator
5 | {
6 | public class ProjectChangedEventArgs : EventArgs
7 | {
8 | public ProjectDocument Project { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Demo Project/stages/metal/map.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Mega Man/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/TileBrushSelectedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Editor.Bll.Tools;
3 |
4 | namespace MegaMan.Editor.Mediator
5 | {
6 | class TileBrushSelectedEventArgs : EventArgs
7 | {
8 | public ITileBrush TileBrush { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Demo Project/stages/Spark Man/map.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/IO/ITilesetReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common;
3 |
4 | namespace MegaMan.IO
5 | {
6 | public interface ITilesetReader : IGameFileReader
7 | {
8 | Tileset Load(FilePath path);
9 | TileProperties LoadProperties(XElement node);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/IO/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Mega Man/Stage/IScreenLayer.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Engine
2 | {
3 | public interface IScreenLayer
4 | {
5 | int LocationX { get; }
6 | int LocationY { get; }
7 | IGameplayContainer Stage { get; }
8 | MapSquare SquareAt(float px, float py);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/Canvases/TileScreenCanvas.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Editor.Tools;
2 |
3 | namespace MegaMan.Editor.Controls
4 | {
5 | public class TileScreenCanvas : ScreenCanvas
6 | {
7 | public TileScreenCanvas(IToolProvider toolProvider) : base(toolProvider) { }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/LayoutScreenDroppedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Editor.Controls;
3 |
4 | namespace MegaMan.Editor.Mediator
5 | {
6 | public class LayoutScreenDroppedEventArgs : EventArgs
7 | {
8 | public ScreenCanvas Canvas { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/DieEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class DieEffectPartInfo : IEffectPartInfo
4 | {
5 | public IEffectPartInfo Clone()
6 | {
7 | return new DieEffectPartInfo();
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/IO/IIncludedObjectGroupXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using MegaMan.Common.IncludedObjects;
3 |
4 | namespace MegaMan.IO
5 | {
6 | public interface IIncludedObjectGroupWriter
7 | {
8 | void Write(IEnumerable includedObjects, string filepath);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/PauseEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class PauseEffectPartInfo : IEffectPartInfo
4 | {
5 | public IEffectPartInfo Clone()
6 | {
7 | return new PauseEffectPartInfo();
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/RemoveEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class RemoveEffectPartInfo : IEffectPartInfo
4 | {
5 | public IEffectPartInfo Clone()
6 | {
7 | return new RemoveEffectPartInfo();
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/IEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public interface IEffectLoader
7 | {
8 | Type PartInfoType { get; }
9 | Effect Load(IEffectPartInfo info);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/WPFEditor/BLL/UnknownTile.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.Editor.Bll
4 | {
5 | internal class UnknownTile : Tile
6 | {
7 | public const int UnknownId = -1;
8 |
9 | public UnknownTile(Tileset tileset) : base(UnknownId, new TileSprite(tileset)) { }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/IEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal interface IEffectPartXmlReader
7 | {
8 | string NodeName { get; }
9 | IEffectPartInfo Load(XElement partNode);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/UnpauseEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class UnpauseEffectPartInfo : IEffectPartInfo
4 | {
5 | public IEffectPartInfo Clone()
6 | {
7 | return new UnpauseEffectPartInfo();
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/EntityEditorData.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace MegaMan.Common.Entities
3 | {
4 | public class EntityEditorData
5 | {
6 | public string DefaultSpriteName { get; set; }
7 | public bool HideFromPlacement { get; set; }
8 | public bool IsProjectile { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Mega Man Common/IncludedObjects/PaletteInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.IncludedObjects
2 | {
3 | public class PaletteInfo : IncludedObject
4 | {
5 | public string Name { get; set; }
6 | public FilePath ImagePath { get; set; }
7 | public byte[] ImageData { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Mega Man Common/Rendering/IResourceImage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Common.Rendering
4 | {
5 | public interface IResourceImage
6 | {
7 | Int32 ResourceId { get; }
8 | String PaletteName { get; }
9 | Int32 Width { get; }
10 | Int32 Height { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/LayerVisibilityChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Editor.Mediator
4 | {
5 | public class LayerVisibilityChangedEventArgs : EventArgs
6 | {
7 | public bool BordersVisible { get; set; }
8 | public bool TilePropertiesVisible { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/ICommandXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands {
6 | internal interface ICommandXmlWriter {
7 | Type CommandType { get; }
8 | void Write(SceneCommandInfo info, XmlWriter writer);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/TestLocationSelectedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Editor.Mediator
4 | {
5 | public class TestLocationSelectedEventArgs : EventArgs
6 | {
7 | public string Screen { get; set; }
8 | public int X { get; set; }
9 | public int Y { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/IO/Xml/Entities/IComponentXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities;
4 |
5 | namespace MegaMan.IO.Xml.Entities
6 | {
7 | internal interface IComponentXmlWriter
8 | {
9 | Type ComponentType { get; }
10 | void Write(IComponentInfo info, XmlWriter writer);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/IEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal interface IEffectPartXmlWriter
8 | {
9 | Type EffectPartType { get; }
10 | void Write(IEffectPartInfo info, XmlWriter writer);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/IO.Tests/Resources/Sprite_NormalInput.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | PlayOnce
4 | Backward
5 |
6 |
7 |
--------------------------------------------------------------------------------
/IO/IReaderProvider.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.IO
4 | {
5 | public interface IReaderProvider
6 | {
7 | IProjectReader GetProjectReader();
8 | IStageReader GetStageReader(FilePath path);
9 | ITilesetReader GetTilesetReader(FilePath path);
10 | IRawReader GetRawReader();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Mega Man/Forms/MenuControllers/IMenuController.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Engine.Forms.Settings;
2 |
3 | namespace MegaMan.Engine.Forms.MenuControllers
4 | {
5 | public interface IMenuController
6 | {
7 | void Set(bool value);
8 | void LoadSettings(Setting settings);
9 | void SaveSettings(Setting settings);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/WPFEditor/BLL/IProjectFileStructure.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.Editor.Bll
4 | {
5 | public interface IProjectFileStructure
6 | {
7 | FilePath CreateStagePath(string stageName);
8 | FilePath CreateTilesetPath(string tilesetName);
9 | FilePath CreateEntityPath(string entityName);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/IHandlerObjectXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.IncludedObjects;
4 |
5 | namespace MegaMan.IO.Xml.Handlers
6 | {
7 | internal interface IHandlerObjectXmlWriter
8 | {
9 | Type ObjectType { get; }
10 | void Write(IHandlerObjectInfo info, XmlWriter writer);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/WPFEditor/UserSettings.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Editor
2 | {
3 | #region Constant Values
4 | public class Constants
5 | {
6 | #region Paths
7 | public class Paths
8 | {
9 | public static readonly string SettingFile = "settings.xml";
10 | }
11 | #endregion
12 | }
13 | #endregion
14 | }
15 |
--------------------------------------------------------------------------------
/IO/IWriterProvider.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace MegaMan.IO
3 | {
4 | public interface IWriterProvider
5 | {
6 | IProjectWriter GetProjectWriter();
7 | IStageWriter GetStageWriter();
8 | ITilesetWriter GetTilesetWriter();
9 | IEntityWriter GetEntityWriter();
10 | IIncludedObjectGroupWriter GetEntityGroupWriter();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/SelectionChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Geometry;
3 | using MegaMan.Editor.Bll;
4 |
5 | namespace MegaMan.Editor.Mediator
6 | {
7 | public class SelectionChangedEventArgs : EventArgs
8 | {
9 | public ScreenDocument Screen { get; set; }
10 | public Rectangle? Selection { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/HealthComponentInfo.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace MegaMan.Common.Entities
3 | {
4 | public class HealthComponentInfo : IComponentInfo
5 | {
6 | public float Max { get; set; }
7 | public float? StartValue { get; set; }
8 | public int FlashFrames { get; set; }
9 |
10 | public MeterInfo Meter { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Mega Man/Forms/MenuControllers/ExclusiveController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace MegaMan.Engine.Forms.MenuControllers
4 | {
5 | public class ExclusiveController
6 | {
7 | public event Action Changed;
8 |
9 | public void Raise(TParam param)
10 | {
11 | Changed?.Invoke(param);
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/ICommandXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Xml.Linq;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal interface ICommandXmlReader
8 | {
9 | IEnumerable NodeName { get; }
10 | SceneCommandInfo Load(XElement node, string basePath);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Mega Man/Entities/IEntityRespawnTracker.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.Engine.Entities
4 | {
5 | public interface IEntityRespawnTracker
6 | {
7 | void Track(EntityPlacement placement, GameEntity entity);
8 | void ResetDeath();
9 | void ResetStage();
10 | bool IsRespawnable(EntityPlacement placement);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo Project/tilesets/Help/tiles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/IO/Xml/IIncludeXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common;
3 | using MegaMan.Common.IncludedObjects;
4 | using MegaMan.IO.DataSources;
5 |
6 | namespace MegaMan.IO.Xml
7 | {
8 | internal interface IIncludeXmlReader
9 | {
10 | string NodeName { get; }
11 | IIncludedObject Load(Project project, XElement xmlNode, IDataSource dataSource);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/IO/Xml/Entities/IComponentXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common;
3 | using MegaMan.Common.Entities;
4 | using MegaMan.IO.DataSources;
5 |
6 | namespace MegaMan.IO.Xml.Entities
7 | {
8 | internal interface IComponentXmlReader
9 | {
10 | string NodeName { get; }
11 | IComponentInfo Load(XElement node, Project project, IDataSource dataSource);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/LivesEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class LivesEffectPartInfo : IEffectPartInfo
4 | {
5 | public int Add { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new LivesEffectPartInfo {
10 | Add = Add
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/EntityToolbar.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace MegaMan.Editor.Controls
4 | {
5 | ///
6 | /// Interaction logic for EntityToolbar.xaml
7 | ///
8 | public partial class EntityToolbar : UserControl
9 | {
10 | public EntityToolbar()
11 | {
12 | InitializeComponent();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/LayoutToolbar.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace MegaMan.Editor.Controls
4 | {
5 | ///
6 | /// Interaction logic for LayoutToolbar.xaml
7 | ///
8 | public partial class LayoutToolbar : UserControl
9 | {
10 | public LayoutToolbar()
11 | {
12 | InitializeComponent();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/TilesToolbar.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace MegaMan.Editor.Controls
4 | {
5 | ///
6 | /// Interaction logic for TilesToolbar.xaml
7 | ///
8 | public partial class TilesToolbar : UserControl
9 | {
10 | public TilesToolbar()
11 | {
12 | InitializeComponent();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/StateEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class StateEffectPartInfo : IEffectPartInfo
4 | {
5 | public string Name { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new StateEffectPartInfo {
10 | Name = Name
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/EntitySelectedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities;
3 |
4 | namespace MegaMan.Editor.Mediator {
5 | public class EntitySelectedEventArgs : EventArgs
6 | {
7 | public EntityInfo Entity { get; private set; }
8 |
9 | public EntitySelectedEventArgs(EntityInfo entity)
10 | {
11 | Entity = entity;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/StageChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Editor.Bll;
3 |
4 | namespace MegaMan.Editor.Mediator
5 | {
6 | public class StageChangedEventArgs : EventArgs
7 | {
8 | public StageDocument Stage { get; private set; }
9 |
10 | public StageChangedEventArgs(StageDocument stage)
11 | {
12 | Stage = stage;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/parallax/map.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/InputEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class InputEffectPartInfo : IEffectPartInfo
4 | {
5 | public bool Paused { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new InputEffectPartInfo {
10 | Paused = Paused
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/HealthEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class HealthEffectPartInfo : IEffectPartInfo
4 | {
5 | public float Change { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new HealthEffectPartInfo {
10 | Change = Change
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Demo Project/stages/test/overlay.scn:
--------------------------------------------------------------------------------
1 | 14 12
2 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
5 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
6 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
7 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
8 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
9 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
10 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
11 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
12 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3
13 | 6 7 6 7 6 7 6 7 6 7 6 7 6 7
14 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/CallEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class CallEffectPartInfo : IEffectPartInfo
4 | {
5 | public string EffectName { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new CallEffectPartInfo {
10 | EffectName = EffectName
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/DefeatBossEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class DefeatBossEffectPartInfo : IEffectPartInfo
4 | {
5 | public string Name { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new DefeatBossEffectPartInfo {
10 | Name = Name
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/MovementComponentInfo.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common.Entities.Effects;
2 |
3 | namespace MegaMan.Common.Entities
4 | {
5 | public class MovementComponentInfo : IComponentInfo
6 | {
7 | public MovementEffectPartInfo EffectInfo { get; set; }
8 |
9 | public MovementComponentInfo()
10 | {
11 | EffectInfo = new MovementEffectPartInfo();
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/GravityFlipEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class GravityFlipEffectPartInfo : IEffectPartInfo
4 | {
5 | public bool Flipped { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new GravityFlipEffectPartInfo {
10 | Flipped = Flipped
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/NextEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class NextEffectPartInfo : IEffectPartInfo
4 | {
5 | public HandlerTransfer Transfer { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new NextEffectPartInfo {
10 | Transfer = Transfer.Clone()
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/WPFEditor/BLL/IEntityImage.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Media.Imaging;
2 | using MegaMan.Common.Geometry;
3 |
4 | namespace MegaMan.Editor.Bll
5 | {
6 | public interface IEntityImage
7 | {
8 | int Height { get; }
9 | Point HotSpot { get; }
10 | string Name { get; }
11 | int Width { get; }
12 | bool Reversed { get; }
13 | WriteableBitmap GetImageSource(double zoom);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/TriggerEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class TriggerEffectPartInfo : IEffectPartInfo
4 | {
5 | public TriggerInfo Trigger { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new TriggerEffectPartInfo {
10 | Trigger = Trigger.Clone()
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/Dialogs/TilesetImporterDialog.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace MegaMan.Editor.Controls
4 | {
5 | ///
6 | /// Interaction logic for TilesetImporter.xaml
7 | ///
8 | public partial class TilesetImporterDialog : UserControl
9 | {
10 | public TilesetImporterDialog()
11 | {
12 | InitializeComponent();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/WPFEditor/Mediator/EntityRenamedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using MegaMan.Common.Entities;
7 |
8 | namespace MegaMan.Editor.Mediator
9 | {
10 | public class EntityRenamedEventArgs : EventArgs
11 | {
12 | public string OldName { get; set; }
13 | public EntityInfo Entity { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/IO/DataSources/IDataSource.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.IO;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.DataSources
6 | {
7 | public interface IDataSource
8 | {
9 | string Extension { get; }
10 | void Init(string path);
11 | Stream GetData(FilePath path);
12 | FilePath GetGameFile();
13 | IEnumerable GetFilesInFolder(FilePath folderPath);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/UnlockWeaponEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class UnlockWeaponEffectPartInfo : IEffectPartInfo
4 | {
5 | public string WeaponName { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new UnlockWeaponEffectPartInfo {
10 | WeaponName = WeaponName
11 | };
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/StageTileControl.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Editor.Bll;
2 |
3 | namespace MegaMan.Editor.Controls
4 | {
5 | public class StageTileControl : StageControl
6 | {
7 | protected override ScreenCanvas CreateScreenCanvas(ScreenDocument screen)
8 | {
9 | var canvas = new TileScreenCanvas(ToolProvider);
10 | canvas.Screen = screen;
11 |
12 | return canvas;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/CollisionComponentInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace MegaMan.Common.Entities
4 | {
5 | public class CollisionComponentInfo : IComponentInfo
6 | {
7 | public bool Enabled { get; set; }
8 | public List HitBoxes { get; private set; }
9 |
10 | public CollisionComponentInfo()
11 | {
12 | HitBoxes = new List();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/StageEntitiesControl.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Editor.Bll;
2 |
3 | namespace MegaMan.Editor.Controls
4 | {
5 | public class StageEntitiesControl : StageControl
6 | {
7 | protected override ScreenCanvas CreateScreenCanvas(ScreenDocument screen)
8 | {
9 | var canvas = new EntitiesScreenCanvas(ToolProvider);
10 | canvas.Screen = screen;
11 |
12 | return canvas;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/parallax/mountains.scn:
--------------------------------------------------------------------------------
1 | 32 6
2 | 1 1 1 1 1 1 1 1 1 1 7 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 | 1 1 1 1 1 7 8 1 1 15 10 11 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7 8 1 1 1
4 | 7 8 1 1 15 10 13 8 15 16 13 6 6 8 7 8 1 1 1 1 1 1 1 1 1 1 15 10 13 8 1 1
5 | 10 11 8 15 16 11 6 14 16 6 6 6 6 9 10 13 8 1 1 1 1 1 1 7 8 15 16 11 6 6 8 1
6 | 11 6 9 16 6 6 14 16 11 6 6 6 11 6 6 6 11 8 7 8 1 1 15 10 9 16 6 6 6 6 6 8
7 | 6 12 6 6 12 14 16 13 6 12 6 6 6 12 6 6 6 14 10 6 8 15 16 6 6 6 6 6 6 12 6 6
8 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/SpriteComponentInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace MegaMan.Common.Entities
4 | {
5 | public class SpriteComponentInfo : IComponentInfo
6 | {
7 | public FilePath SheetPath { get; set; }
8 | public Dictionary Sprites { get; private set; }
9 |
10 | public SpriteComponentInfo()
11 | {
12 | Sprites = new Dictionary();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/IO.Tests/TestHelpers.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using System.Reflection;
3 |
4 | namespace MegaMan.IO.Tests
5 | {
6 | internal static class TestHelpers
7 | {
8 | public static string GetInputFile(string filename)
9 | {
10 | Assembly thisAssembly = Assembly.GetExecutingAssembly();
11 |
12 | return new StreamReader(thisAssembly.GetManifestResourceStream(thisAssembly.GetName().Name + ".Resources." + filename)).ReadToEnd();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/IO/Xml/SceneBindingXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common;
3 |
4 | namespace MegaMan.IO.Xml
5 | {
6 | internal class SceneBindingXmlReader
7 | {
8 | public SceneBindingInfo Load(XElement node)
9 | {
10 | var info = new SceneBindingInfo();
11 | info.Source = node.RequireAttribute("source").Value;
12 | info.Target = node.RequireAttribute("target").Value;
13 | return info;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/SetVarEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class SetVarEffectPartInfo : IEffectPartInfo
4 | {
5 | public string Name { get; set; }
6 | public string Value { get; set; }
7 |
8 | public IEffectPartInfo Clone()
9 | {
10 | return new SetVarEffectPartInfo {
11 | Name = Name,
12 | Value = Value
13 | };
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/SoundEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class SoundEffectPartInfo : IEffectPartInfo
4 | {
5 | public string Name { get; set; }
6 | public bool Playing { get; set; }
7 |
8 | public IEffectPartInfo Clone()
9 | {
10 | return new SoundEffectPartInfo {
11 | Name = Name,
12 | Playing = Playing
13 | };
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/Parts/TileImage.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using MegaMan.Common;
3 | using MegaMan.Editor.Bll;
4 |
5 | namespace MegaMan.Editor.Controls.Parts
6 | {
7 | public class TileImage : SpriteImage
8 | {
9 | protected override void SpriteImage_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
10 | {
11 | var tile = (Tile)e.NewValue;
12 |
13 | SetSprite(new SpriteModel(tile.Sprite));
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/FuncEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace MegaMan.Common.Entities.Effects
4 | {
5 | public class FuncEffectPartInfo : IEffectPartInfo
6 | {
7 | public IEnumerable Statements { get; set; }
8 |
9 | public IEffectPartInfo Clone()
10 | {
11 | return new FuncEffectPartInfo {
12 | Statements = new List(Statements)
13 | };
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/docs/docs/scripting/menu.js:
--------------------------------------------------------------------------------
1 | class ScriptingMenu extends HTMLElement {
2 | connectedCallback() {
3 | this.innerHTML = `
4 |
9 | `;
10 | }
11 | }
12 |
13 | customElements.define('scripting-menu', ScriptingMenu);
--------------------------------------------------------------------------------
/IO/RawReader.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 | using MegaMan.IO.DataSources;
3 |
4 | namespace MegaMan.IO
5 | {
6 | public class RawReader : IRawReader
7 | {
8 | private IDataSource dataSource;
9 |
10 | public byte[] GetRawData(FilePath path)
11 | {
12 | return dataSource.GetBytesFromFilePath(path);
13 | }
14 |
15 | public void Init(IDataSource dataSource)
16 | {
17 | this.dataSource = dataSource;
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/TilesetEditor.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 | using MegaMan.Editor.Controls.ViewModels;
3 |
4 | namespace MegaMan.Editor.Controls
5 | {
6 | ///
7 | /// Interaction logic for TilesetEditor.xaml
8 | ///
9 | public partial class TilesetEditor : UserControl
10 | {
11 | public TilesetEditor()
12 | {
13 | InitializeComponent();
14 | DataContext = new TilesetEditorViewModel();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/IO/Xml/SceneBindingXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System.Xml;
2 | using MegaMan.Common;
3 |
4 | namespace MegaMan.IO.Xml
5 | {
6 | internal class SceneBindingXmlWriter
7 | {
8 | public void Write(SceneBindingInfo info, XmlWriter writer)
9 | {
10 | writer.WriteStartElement("Binding");
11 | writer.WriteAttributeString("source", info.Source);
12 | writer.WriteAttributeString("target", info.Target);
13 | writer.WriteEndElement();
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Mega Man/Entities/IEntityPool.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace MegaMan.Engine.Entities
5 | {
6 | public interface IEntityPool
7 | {
8 | GameEntity CreateEntity(string name);
9 | GameEntity CreateEntityWithId(string id, string name);
10 | GameEntity GetEntityById(string id);
11 | Int32 GetNumberAlive(string name);
12 | Int32 GetTotalAlive();
13 | IEnumerable GetAll();
14 | void RemoveAll();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/AddInventoryEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class AddInventoryEffectPartInfo : IEffectPartInfo
4 | {
5 | public string ItemName { get; set; }
6 | public int Quantity { get; set; }
7 |
8 | public IEffectPartInfo Clone()
9 | {
10 | return new AddInventoryEffectPartInfo {
11 | ItemName = ItemName,
12 | Quantity = Quantity
13 | };
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/DelayedEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class DelayedEffectPartInfo : IEffectPartInfo
4 | {
5 | public int DelayFrames { get; set; }
6 | public EffectInfo Effect { get; set; }
7 |
8 | public IEffectPartInfo Clone()
9 | {
10 | return new DelayedEffectPartInfo {
11 | DelayFrames = DelayFrames,
12 | Effect = Effect.Clone()
13 | };
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/WPFEditor/BLL/Algorithms/IScreenData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using MegaMan.Common;
7 |
8 | namespace MegaMan.Editor.Bll.Algorithms
9 | {
10 | public interface IScreenData
11 | {
12 | string Name { get; }
13 | int TileSize { get; }
14 | int Height { get; }
15 | int Width { get; }
16 |
17 | void AddJoin(Join join);
18 | void SeverAllJoins();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/PaletteEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class PaletteEffectPartInfo : IEffectPartInfo
4 | {
5 | public string PaletteName { get; set; }
6 | public int PaletteIndex { get; set; }
7 |
8 | public IEffectPartInfo Clone()
9 | {
10 | return new PaletteEffectPartInfo {
11 | PaletteIndex = PaletteIndex,
12 | PaletteName = PaletteName
13 | };
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Demo Project/stages/test/2.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
3 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
4 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
5 | 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1
6 | 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1
7 | 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1
8 | 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1
9 | 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1
10 | 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1
11 | 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1
12 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
15 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/test/4.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
5 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
6 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
7 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
8 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
9 | 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1
10 | 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1
11 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
12 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
13 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
14 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
15 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/test/5.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/RemoveInventoryEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class RemoveInventoryEffectPartInfo : IEffectPartInfo
4 | {
5 | public string ItemName { get; set; }
6 | public int Quantity { get; set; }
7 |
8 | public IEffectPartInfo Clone()
9 | {
10 | return new RemoveInventoryEffectPartInfo {
11 | ItemName = ItemName,
12 | Quantity = Quantity
13 | };
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CommonTests/TestHelpers.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using System.Reflection;
3 |
4 | namespace MegaMan.Common.Tests
5 | {
6 | internal static class TestHelpers
7 | {
8 | public static string GetInputFile(string filename)
9 | {
10 | Assembly thisAssembly = Assembly.GetExecutingAssembly();
11 |
12 | string path = "MegaMan.Common.Tests.Resources";
13 |
14 | return new StreamReader(thisAssembly.GetManifestResourceStream(path + "." + filename)).ReadToEnd();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Demo Project/stages/TilesetTest/2.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
3 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
4 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
5 | 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
6 | 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1
7 | 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
8 | 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1
9 | 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1
10 | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
11 | 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1
12 | 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1
13 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1
14 | 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1
15 | 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1
16 |
--------------------------------------------------------------------------------
/IO/Xml/Entities/InputComponentXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities;
4 |
5 | namespace MegaMan.IO.Xml.Entities
6 | {
7 | internal class InputComponentXmlWriter : IComponentXmlWriter
8 | {
9 | public Type ComponentType
10 | {
11 | get { return typeof(InputComponentInfo); }
12 | }
13 |
14 | public void Write(IComponentInfo info, XmlWriter writer)
15 | {
16 | writer.WriteElementString("Input", "");
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/CallEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class CallEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType { get { return typeof(CallEffectPartInfo); } }
9 |
10 | public Effect Load(IEffectPartInfo info)
11 | {
12 | var callInfo = (CallEffectPartInfo)info;
13 | return EffectParser.GetLateBoundEffect(callInfo.EffectName);
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/DieEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class DieEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(DieEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | return e => e.Die();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Mega Man/Stage/ScreenDrawingCoords.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Engine.Stage
2 | {
3 | public struct ScreenDrawingCoords
4 | {
5 | public int AdjustX;
6 | public int AdjustY;
7 | public float OffsetX;
8 | public float OffsetY;
9 |
10 | public ScreenDrawingCoords(int adjX, int adjY, float offsetX, float offsetY) : this()
11 | {
12 | AdjustX = adjX;
13 | AdjustY = adjY;
14 | OffsetX = offsetX;
15 | OffsetY = offsetY;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/StagePropertiesControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 | using MegaMan.Editor.Controls.ViewModels;
3 |
4 | namespace MegaMan.Editor.Controls
5 | {
6 | ///
7 | /// Interaction logic for StagePropertiesControl.xaml
8 | ///
9 | public partial class StagePropertiesControl : UserControl
10 | {
11 | public StagePropertiesControl()
12 | {
13 | InitializeComponent();
14 | DataContext = new StagePropertiesViewModel();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/DieEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class DieEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Die";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new DieEffectPartInfo();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/PauseEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class PauseEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Pause";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new PauseEffectPartInfo();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/PauseEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class PauseEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(PauseEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | return e => e.Paused = true;
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/RemoveEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class RemoveEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(RemoveEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | return e => e.Remove();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Mega Man/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/RemoveEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class RemoveEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Remove";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new RemoveEffectPartInfo();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/UnpauseEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class UnpauseEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Unpause";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new UnpauseEffectPartInfo();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/UnpauseEffectLoader .cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class UnpauseEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(UnpauseEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | return e => e.Paused = false;
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/LadderEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class LadderEffectPartInfo : IEffectPartInfo
4 | {
5 | public LadderAction Action { get; set; }
6 |
7 | public IEffectPartInfo Clone()
8 | {
9 | return new LadderEffectPartInfo {
10 | Action = Action
11 | };
12 | }
13 | }
14 |
15 | public enum LadderAction
16 | {
17 | Grab,
18 | LetGo,
19 | StandOn,
20 | ClimbDown
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man/Log.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 |
4 | namespace MegaMan.Engine
5 | {
6 | public class Log
7 | {
8 | private static readonly string FileNameToPutDebuggingMsg = "debug.txt";
9 |
10 | public static bool SaveLog(string log)
11 | {
12 | try
13 | {
14 | File.AppendAllText(Directory.GetCurrentDirectory() + "\\" + FileNameToPutDebuggingMsg, log + Environment.NewLine);
15 | return true;
16 | }
17 | catch (Exception) { return false; }
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/WPFEditor/Controls/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 | using System.Runtime.CompilerServices;
4 |
5 | namespace MegaMan.Editor.Controls.ViewModels
6 | {
7 | public abstract class ViewModelBase : INotifyPropertyChanged
8 | {
9 | protected void OnPropertyChanged([CallerMemberName] string property = null)
10 | {
11 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
12 | }
13 |
14 | public event PropertyChangedEventHandler PropertyChanged;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/IO/Xml/Entities/InputComponentXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common;
3 | using MegaMan.Common.Entities;
4 | using MegaMan.IO.DataSources;
5 |
6 | namespace MegaMan.IO.Xml.Entities
7 | {
8 | internal class InputComponentXmlReader : IComponentXmlReader
9 | {
10 | public string NodeName
11 | {
12 | get { return "Input"; }
13 | }
14 |
15 | public IComponentInfo Load(XElement node, Project project, IDataSource dataSource)
16 | {
17 | return new InputComponentInfo();
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/DieEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class DieEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(DieEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | writer.WriteElementString("Die", "");
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/PauseEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class PauseEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(PauseEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | writer.WriteElementString("Pause", "");
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/WaitCommandXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal class WaitCommandXmlWriter : ICommandXmlWriter
8 | {
9 | public Type CommandType
10 | {
11 | get
12 | {
13 | return typeof(SceneWaitCommandInfo);
14 | }
15 | }
16 |
17 | public void Write(SceneCommandInfo info, XmlWriter writer)
18 | {
19 | writer.WriteElementString("WaitForInput", "");
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/WeaponComponentInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace MegaMan.Common.Entities
4 | {
5 | public class WeaponComponentInfo : IComponentInfo
6 | {
7 | public List Weapons { get; set; }
8 | }
9 |
10 | public class WeaponInfo
11 | {
12 | public string Name { get; set; }
13 | public string EntityName { get; set; }
14 | public int? Ammo { get; set; }
15 | public int? Usage { get; set; }
16 | public int? Palette { get; set; }
17 | public MeterInfo Meter { get; set; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/RemoveEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class RemoveEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(RemoveEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | writer.WriteElementString("Remove", "");
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/CallEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class CallEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Call";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new CallEffectPartInfo {
19 | EffectName = partNode.Value
20 | };
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/StateEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class StateEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "State";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new StateEffectPartInfo {
19 | Name = partNode.Value
20 | };
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/UnpauseEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class UnpauseEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(UnpauseEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | writer.WriteElementString("Unpause", "");
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/WPFEditor/Tools/IToolProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Editor.Bll.Tools;
3 |
4 | namespace MegaMan.Editor.Tools
5 | {
6 | public class ToolChangedEventArgs : EventArgs
7 | {
8 | public IToolBehavior Tool { get; private set; }
9 |
10 | public ToolChangedEventArgs(IToolBehavior tool)
11 | {
12 | Tool = tool;
13 | }
14 | }
15 |
16 | public interface IToolProvider
17 | {
18 | IToolBehavior Tool { get; }
19 |
20 | IToolCursor ToolCursor { get; }
21 |
22 | event EventHandler ToolChanged;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Demo Project/stages/Spark Man/1.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9
3 | 66 67 6 7 66 67 6 7 66 67 6 7 66 67 6 7
4 | 70 71 8 9 70 71 41 42 70 71 8 9 70 71 8 9
5 | 13 12 13 12 13 12 13 12 13 12 13 12 13 12 13 12
6 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 | 0 0 0 0 0 0 0 0 0 0 0 0 59 0 0 0
8 | 31 31 31 31 32 0 0 0 0 0 0 0 60 0 0 0
9 | 34 34 34 34 35 44 0 0 45 0 0 0 60 0 57 58
10 | 34 34 34 34 35 48 49 49 50 51 51 52 52 53 55 56
11 | 34 34 34 34 35 46 0 0 47 0 0 54 72 54 0 0
12 | 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19
13 | 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7
14 | 8 9 8 9 8 9 8 9 8 9 8 9 8 9 8 9
15 | 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7
16 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/StopCommandXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Xml.Linq;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal class StopCommandXmlReader : ICommandXmlReader
8 | {
9 | public IEnumerable NodeName
10 | {
11 | get
12 | {
13 | yield return "StopMusic";
14 | }
15 | }
16 |
17 | public SceneCommandInfo Load(XElement node, string basePath)
18 | {
19 | return new SceneStopMusicCommandInfo();
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/WaitCommandXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Xml.Linq;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal class WaitCommandXmlReader : ICommandXmlReader
8 | {
9 | public IEnumerable NodeName
10 | {
11 | get
12 | {
13 | yield return "WaitForInput";
14 | }
15 | }
16 |
17 | public SceneCommandInfo Load(XElement node, string basePath)
18 | {
19 | return new SceneWaitCommandInfo();
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/SpawnEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class SpawnEffectPartInfo : IEffectPartInfo
4 | {
5 | public string Name { get; set; }
6 | public string State { get; set; }
7 | public PositionEffectPartInfo Position { get; set; }
8 |
9 | public IEffectPartInfo Clone()
10 | {
11 | return new SpawnEffectPartInfo {
12 | Name = Name,
13 | State = State,
14 | Position = (PositionEffectPartInfo)Position.Clone()
15 | };
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Mega Man/design:
--------------------------------------------------------------------------------
1 | Sprite Move Collide Death Health Sound Shoot Input
2 | Player x x x x x x x
3 | Enemy x x x x x x ?
4 | Boss x x x x x x x
5 | Item x x x x x
6 | MapSquare x x
7 | Accessory x x x x x
8 | Boss Door x x x
9 | Particles x x x
10 | Projectiles x x x x x x ?
11 | Enemy Spawn
12 | Pause Screen
13 |
14 | Interfaces
15 | ISprite
16 | IHealth
17 |
18 | Attributes
19 | Sprite (Position)
20 | Health
21 |
22 | Behaviors
23 | Move (if blocking, hit collision stuff)
24 | Collision Target
25 | Play Sound
26 | Shoot
27 | Input
--------------------------------------------------------------------------------
/IO/Xml/Effects/LivesEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class LivesEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Lives";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new LivesEffectPartInfo {
19 | Add = partNode.GetAttribute("add")
20 | };
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/StateEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class StateEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(StateEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | writer.WriteElementString("State", ((StateEffectPartInfo)info).Name);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/LivesEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class LivesEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(LivesEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var lives = (LivesEffectPartInfo)info;
19 | return e => Game.CurrentGame.Player.Lives += lives.Add;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/IO/Injector.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using Ninject;
3 | using Ninject.Extensions.Conventions;
4 |
5 | namespace MegaMan.IO
6 | {
7 | internal static class Injector
8 | {
9 | public static IKernel Container { get; private set; }
10 |
11 | static Injector()
12 | {
13 | Container = new StandardKernel();
14 | Container.Load(Assembly.GetCallingAssembly());
15 | Container.Bind(x => x.FromThisAssembly().SelectAllClasses().BindDefaultInterface());
16 | Container.Bind(x => x.FromThisAssembly().SelectAllClasses().BindAllInterfaces());
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/HealthEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class HealthEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Health";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new HealthEffectPartInfo {
19 | Change = partNode.GetAttribute("change")
20 | };
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/StopCommandXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal class StopCommandXmlWriter : ICommandXmlWriter
8 | {
9 | public Type CommandType
10 | {
11 | get
12 | {
13 | return typeof(SceneStopMusicCommandInfo);
14 | }
15 | }
16 |
17 | public void Write(SceneCommandInfo info, XmlWriter writer)
18 | {
19 | writer.WriteStartElement("StopMusic");
20 | writer.WriteEndElement();
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/NextEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class NextEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(NextEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var next = (NextEffectPartInfo)info;
19 |
20 | return e => Game.CurrentGame.ProcessHandler(next.Transfer);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/GravityFlipEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class GravityFlipEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "GravityFlip";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new GravityFlipEffectPartInfo {
19 | Flipped = partNode.GetValue()
20 | };
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/DefeatBossEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class DefeatBossEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(DefeatBossEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var boss = (DefeatBossEffectPartInfo)info;
19 | return e => Game.CurrentGame.Player.DefeatBoss(boss.Name);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/DefeatBossEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class DefeatBossEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "DefeatBoss";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new DefeatBossEffectPartInfo {
19 | Name = partNode.GetAttribute("name")
20 | };
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/InputEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using System.Xml.Linq;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class InputEffectPartXmlReader : IEffectPartXmlReader
8 | {
9 | public string NodeName
10 | {
11 | get
12 | {
13 | return "Input";
14 | }
15 | }
16 |
17 | public IEffectPartInfo Load(XElement partNode)
18 | {
19 | return new InputEffectPartInfo {
20 | Paused = partNode.Elements("Pause").Any()
21 | };
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/VarsEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Common.Entities.Effects
2 | {
3 | public class VarsEffectPartInfo : IEffectPartInfo
4 | {
5 | public string Name { get; set; }
6 | public string Value { get; set; }
7 | public string Call { get; set; }
8 | public string EntityName { get; set; }
9 |
10 | public IEffectPartInfo Clone()
11 | {
12 | return new VarsEffectPartInfo {
13 | Name = Name,
14 | Value = Value,
15 | Call = Call,
16 | EntityName = EntityName
17 | };
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/WPFEditor/Controls/EntityEditor.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using System.Windows.Controls;
3 | using MegaMan.Editor.Controls.ViewModels.Entities;
4 |
5 | namespace MegaMan.Editor.Controls
6 | {
7 | ///
8 | /// Interaction logic for EntityEditor.xaml
9 | ///
10 | public partial class EntityEditor : UserControl
11 | {
12 | public EntityEditor()
13 | {
14 | InitializeComponent();
15 |
16 | if (!DesignerProperties.GetIsInDesignMode(this))
17 | {
18 | DataContext = new EntityEditorViewModel();
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man/Components/HitBox.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common.Geometry;
2 |
3 | namespace MegaMan.Engine
4 | {
5 | public class HitBox
6 | {
7 | protected Rectangle box;
8 |
9 | public HitBox(int x, int y, int width, int height)
10 | {
11 | box = new Rectangle(x, y, width, height);
12 | }
13 |
14 | public virtual Rectangle BoxAt(Point offset, bool vflip)
15 | {
16 | if (vflip) return new Rectangle(box.X + offset.X, offset.Y - box.Y - box.Height, box.Width, box.Height);
17 | return new Rectangle(box.X + offset.X, box.Y + offset.Y, box.Width, box.Height);
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Demo Project/images/fonts/fonts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 0123456789
4 | ABCDEFGHIJKLMNOPQRSTUVWXYZ
5 | abcdefghijklmnopqrstuvwxyz
6 | !"#$%&'()*+,-./:;<=>?
7 | @[]^_`{|}~
8 | あぁいぃうぅえぇおぉ
9 |
10 |
11 | ABCDEFGHIJKLMNOPQRSTUVWXYZ.0123456789
12 |
13 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/CallEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class CallEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(CallEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | var call = (CallEffectPartInfo)info;
20 | writer.WriteElementString("Call", call.EffectName);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/UnlockWeaponEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class UnlockWeaponEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "UnlockWeapon";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new UnlockWeaponEffectPartInfo {
19 | WeaponName = partNode.GetAttribute("name")
20 | };
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/GravityFlipEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class GravityFlipEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(GravityFlipEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var grav = (GravityFlipEffectPartInfo)info;
19 | return entity => entity.Container.IsGravityFlipped = grav.Flipped;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/UnlockWeaponEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class UnlockWeaponEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(UnlockWeaponEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var wpn = (UnlockWeaponEffectPartInfo)info;
19 | return e => Game.CurrentGame.Player.UnlockWeapon(wpn.WeaponName);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man/StateMachine/IStateMachine.cs:
--------------------------------------------------------------------------------
1 | using MegaMan.Common;
2 |
3 | namespace MegaMan.Engine.StateMachine
4 | {
5 | public interface IStateMachine
6 | {
7 | void RemoveAllEndHandlers();
8 | void StopAllHandlers();
9 | void StopAllInput();
10 | void Push(IGameplayContainer handler);
11 | void StartHandler(HandlerTransfer _transfer);
12 |
13 | void PauseTopOfStack();
14 |
15 | void ResumeTopOfStack();
16 |
17 | void PauseDrawingTopOfStack();
18 |
19 | void ResumeDrawingTopOfStack();
20 |
21 | void FinalizeTopHandler();
22 |
23 | void RemoveTopHandler();
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/create-release.ps1:
--------------------------------------------------------------------------------
1 | param([string]$v, [switch]$debug)
2 | $path = if ($debug) { "Debug" } else { "Release" }
3 | md -Force Releases/$v
4 |
5 | Copy-Item "Mega Man/bin/x86/$path/" "Releases/$v/Engine" -recurse
6 |
7 | Copy-Item "WPFEditor/bin/$path/" "Releases/$v/Editor" -recurse
8 |
9 | Get-ChildItem Releases/$v -r -include *.pdb -Force | Remove-Item -r -Force
10 | Get-ChildItem Releases/$v -r -include *.vshost.* -Force | Remove-Item -r -Force
11 |
12 | Copy-Item "Demo Project" "Releases/$v" -recurse
13 |
14 | Add-Type -assembly "system.io.compression.filesystem"
15 | $dir = Convert-Path .
16 | [io.compression.zipfile]::CreateFromDirectory("$dir\Releases\$v", "$dir\Releases\CME-$v.zip")
--------------------------------------------------------------------------------
/IO/Xml/Effects/GravityFlipEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class GravityFlipEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(GravityFlipEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | writer.WriteElementString("GravityFlip", ((GravityFlipEffectPartInfo)info).Flipped.ToString());
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/Tunnel.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 14 15 29 28 20 21 18 19 22 23 18 19 29 28 12 13
3 | 4 5 28 29 25 24 25 24 25 24 25 24 30 31 6 7
4 | 4 5 29 28 31 30 29 28 29 28 31 30 14 15 6 7
5 | 4 5 30 31 14 15 28 29 28 29 12 13 4 5 6 7
6 | 4 5 12 13 4 5 31 30 31 30 6 7 4 5 6 7
7 | 4 5 6 7 4 5 12 13 14 15 6 7 4 5 6 7
8 | 4 5 6 7 4 5 6 7 4 5 6 7 4 5 6 7
9 | 8 9 10 11 8 9 10 11 8 9 10 11 8 9 10 11
10 | 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75
11 | 32 26 48 49 32 26 48 49 48 49 26 32 26 26 26 32
12 | 33 29 50 51 33 29 50 51 50 51 28 33 28 29 28 33
13 | 62 63 64 65 60 63 64 65 0 1 2 3 0 1 2 3
14 | 62 66 70 68 61 66 70 68 4 5 18 19 4 5 6 7
15 | 62 69 70 71 62 69 70 71 20 21 24 25 20 21 6 7
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/1.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 2 0 20 20 20 20 20 20 20 20 20 20 20 23 0 2
3 | 2 0 10 10 10 10 10 10 10 11 12 18 20 23 0 2
4 | 2 0 20 20 20 20 20 20 20 16 20 19 20 23 0 2
5 | 2 0 13 14 20 20 20 20 20 16 26 27 27 27 0 2
6 | 2 0 21 22 20 20 20 20 20 16 5 5 5 5 0 2
7 | 2 0 27 27 27 27 28 20 19 9 10 10 10 10 0 2
8 | 2 0 5 5 5 5 5 20 18 19 20 20 20 20 0 2
9 | 2 0 10 10 10 10 10 18 17 20 26 27 27 27 0 2
10 | 2 0 20 20 20 20 20 20 17 20 5 5 5 5 0 2
11 | 2 0 27 27 27 27 28 20 17 20 20 20 20 20 0 2
12 | 2 0 5 5 5 5 5 20 17 20 20 20 20 20 0 2
13 | 2 0 20 20 20 20 20 20 17 20 20 20 20 20 0 2
14 | 34 34 34 34 33 34 34 34 34 34 34 35 34 34 34 34
15 | 27 27 4 27 26 27 27 27 27 27 27 28 27 4 27 27
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/2.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 2 0 20 23 20 20 20 20 20 20 20 20 20 20 0 2
3 | 2 0 20 23 20 20 20 20 20 20 20 20 20 20 0 2
4 | 2 0 10 23 10 10 18 19 18 10 10 10 10 10 0 2
5 | 2 0 20 23 20 20 20 18 19 20 20 20 20 20 0 2
6 | 2 0 20 33 35 20 20 16 20 20 20 20 20 20 0 2
7 | 2 0 20 26 28 20 20 16 20 20 20 20 3 3 0 2
8 | 2 0 20 33 35 20 20 19 18 20 20 20 5 5 0 2
9 | 2 0 20 26 28 3 15 20 19 10 10 10 10 10 0 2
10 | 2 0 20 5 5 5 5 20 20 20 20 20 20 20 0 2
11 | 2 0 20 20 20 20 20 20 3 15 20 20 13 14 0 2
12 | 2 0 20 20 20 20 20 20 5 5 20 20 21 22 0 2
13 | 2 0 20 20 20 20 20 20 20 20 20 20 20 20 0 2
14 | 34 34 35 23 35 20 20 33 0 35 34 34 35 23 0 2
15 | 27 27 28 23 28 20 20 26 27 28 27 0 28 23 0 2
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/3.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 2 0 20 23 20 20 20 20 20 20 20 20 20 20 0 2
3 | 2 0 10 23 10 10 18 19 18 20 20 20 20 20 0 2
4 | 2 0 20 23 20 20 20 18 19 10 10 10 10 10 0 2
5 | 2 0 20 23 20 20 20 16 20 20 20 20 20 20 0 2
6 | 2 0 20 33 35 20 20 16 20 20 20 20 20 20 0 2
7 | 2 0 20 26 28 20 20 16 20 20 20 20 3 3 0 2
8 | 2 0 20 33 35 20 20 19 18 20 20 20 5 5 0 2
9 | 2 0 20 26 28 3 15 20 19 10 10 10 10 10 0 2
10 | 2 0 20 5 5 5 5 20 20 20 20 20 20 20 0 2
11 | 2 0 20 20 20 20 20 20 3 15 20 20 13 14 0 2
12 | 2 0 20 20 20 20 20 20 5 5 20 20 21 22 0 2
13 | 2 0 20 20 20 20 20 20 20 20 20 20 20 20 0 2
14 | 2 0 35 23 35 20 20 33 34 35 34 34 35 23 0 2
15 | 2 0 28 23 28 20 20 26 27 28 27 4 28 23 0 2
16 |
--------------------------------------------------------------------------------
/WPFEditor/Resources/Includes/images/fonts/fonts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 0123456789
4 | ABCDEFGHIJKLMNOPQRSTUVWXYZ
5 | abcdefghijklmnopqrstuvwxyz
6 | !"#$%&'()*+,-./:;<=>?
7 | @[]^_`{|}~
8 | あぁいぃうぅえぇおぉ
9 |
10 |
11 | ABCDEFGHIJKLMNOPQRSTUVWXYZ.0123456789
12 |
13 |
--------------------------------------------------------------------------------
/Demo Project/stages/demo/Start.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 0 1 2 7 8 13 8 9 10 0 1 2 6 7 12 7
3 | 3 4 5 6 7 12 7 8 6 3 4 11 13 8 7 8
4 | 13 8 6 23 23 23 23 23 23 23 24 23 23 23 23 7
5 | 12 13 8 27 27 27 27 27 27 27 28 27 27 27 27 9
6 | 7 8 23 29 29 29 29 29 29 29 26 29 29 7 12 6
7 | 14 15 29 29 29 29 29 0 1 2 26 29 29 23 6 7
8 | 18 19 29 29 29 29 29 3 4 5 26 30 31 31 13 8
9 | 18 19 27 27 27 27 28 23 23 23 28 33 48 49 14 15
10 | 18 19 91 89 91 89 26 29 29 29 26 33 51 50 18 19
11 | 20 21 89 91 89 91 28 27 27 27 28 33 50 51 18 19
12 | 14 15 90 92 90 92 26 29 29 29 26 36 37 37 20 21
13 | 16 17 6 7 8 6 0 1 2 29 26 29 29 29 14 15
14 | 0 1 2 6 7 12 3 4 5 29 26 29 29 29 18 19
15 | 3 4 11 9 10 6 7 12 6 27 28 27 27 27 18 19
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/6.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 2 0 20 23 20 20 20 20 20 20 20 20 20 23 0 2
3 | 2 0 20 23 20 20 18 19 10 11 10 10 10 23 0 2
4 | 2 0 20 3 20 20 20 18 20 16 20 20 20 23 0 2
5 | 2 0 20 20 20 20 20 20 18 19 20 20 20 23 0 2
6 | 2 0 20 20 20 20 20 20 20 18 20 20 20 3 0 2
7 | 2 0 20 20 20 20 20 20 20 20 20 20 20 20 0 2
8 | 2 0 20 20 20 20 20 20 20 20 20 20 20 20 0 2
9 | 2 0 20 20 18 19 20 20 20 20 20 20 20 20 0 2
10 | 2 0 20 20 20 18 20 20 20 20 20 20 20 20 0 2
11 | 2 0 20 20 20 16 20 20 20 3 20 20 20 20 0 2
12 | 2 0 20 20 20 16 20 20 20 5 20 20 20 20 0 2
13 | 2 0 13 14 20 16 20 20 20 20 20 20 20 20 0 2
14 | 2 0 21 22 20 16 20 23 26 28 20 20 20 20 0 2
15 | 2 0 20 20 19 9 10 23 26 28 20 20 20 20 0 2
16 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/LadderEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml.Linq;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class LadderEffectPartXmlReader : IEffectPartXmlReader
8 | {
9 | public string NodeName
10 | {
11 | get
12 | {
13 | return "Ladder";
14 | }
15 | }
16 |
17 | public IEffectPartInfo Load(XElement partNode)
18 | {
19 | return new LadderEffectPartInfo {
20 | Action = (LadderAction)Enum.Parse(typeof(LadderAction), partNode.Value)
21 | };
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/LadderEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class LadderEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(LadderEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | var ladder = (LadderEffectPartInfo)info;
20 | writer.WriteElementString("Ladder", ladder.Action.ToString());
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/TimerEffectPartInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace MegaMan.Common.Entities.Effects
4 | {
5 | public class TimerEffectPartInfo : IEffectPartInfo
6 | {
7 | public List Start { get; set; }
8 | public List Reset { get; set; }
9 | public List Delete { get; set; }
10 |
11 | public IEffectPartInfo Clone()
12 | {
13 | return new TimerEffectPartInfo {
14 | Start = new List(Start),
15 | Reset = new List(Reset),
16 | Delete = new List(Delete)
17 | };
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/AddInventoryEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class AddInventoryEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(AddInventoryEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var inv = (AddInventoryEffectPartInfo)info;
19 |
20 | return e => Game.CurrentGame.Player.CollectItem(inv.ItemName, inv.Quantity);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Mega Man/Injector.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using MegaMan.IO;
3 | using Ninject;
4 | using Ninject.Extensions.Conventions;
5 |
6 | namespace MegaMan.Engine
7 | {
8 | internal static class Injector
9 | {
10 | public static IKernel Container { get; private set; }
11 |
12 | static Injector()
13 | {
14 | Container = new StandardKernel();
15 | Container.Load(Assembly.GetCallingAssembly());
16 | Container.Bind(x => x.FromThisAssembly().SelectAllClasses().BindDefaultInterface());
17 | Container.Bind(x => x.FromAssemblyContaining().SelectAllClasses().BindAllInterfaces());
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/Start.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
3 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
4 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
5 | 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
6 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
7 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
8 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
9 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
10 | 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
11 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
12 | 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
13 | 4 5 6 7 4 5 6 7 4 5 6 7 4 5 6 7
14 | 4 5 6 7 4 5 6 7 4 5 6 7 4 5 6 7
15 | 4 5 6 7 4 5 6 7 4 5 6 7 4 5 6 7
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/4.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 2 0 20 20 19 9 20 23 20 20 20 20 20 20 0 2
3 | 2 0 20 20 18 19 20 23 20 20 20 20 20 20 0 2
4 | 2 0 13 14 17 20 20 23 20 20 20 20 20 20 0 2
5 | 2 0 21 22 17 20 20 23 20 20 20 20 20 20 0 2
6 | 2 0 20 20 17 20 20 23 20 20 20 20 20 20 0 2
7 | 2 0 20 20 18 19 20 23 20 20 20 20 20 20 0 2
8 | 2 0 20 20 20 18 20 23 20 20 20 20 20 20 0 2
9 | 2 0 10 10 10 10 10 23 10 11 12 18 20 20 0 2
10 | 2 0 20 20 20 20 20 23 20 16 20 19 20 20 0 2
11 | 2 0 20 20 13 14 20 23 20 16 20 20 20 20 0 2
12 | 2 0 20 20 21 22 20 23 20 16 20 20 20 20 0 2
13 | 2 0 20 20 20 20 20 23 20 16 20 20 18 20 0 2
14 | 2 0 20 23 33 34 35 23 20 16 20 20 19 18 0 2
15 | 2 0 20 23 26 27 28 23 19 9 10 10 18 19 0 2
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/5.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 2 0 10 10 19 9 20 23 20 20 20 20 20 20 0 2
3 | 2 0 20 20 18 19 20 23 20 20 20 20 20 20 0 2
4 | 2 0 13 14 17 20 20 23 20 20 20 20 20 20 0 2
5 | 2 0 21 22 17 20 20 23 20 20 20 20 20 20 0 2
6 | 2 0 20 20 17 20 20 23 20 20 20 20 20 20 0 2
7 | 2 0 20 20 18 19 20 23 20 20 20 20 20 20 0 2
8 | 2 0 20 20 20 18 20 23 20 20 20 20 20 20 0 2
9 | 2 0 10 10 10 10 10 23 10 11 12 18 20 20 0 2
10 | 2 0 20 20 20 20 20 23 20 16 20 19 20 20 0 2
11 | 2 0 20 20 13 14 20 23 20 16 20 20 20 20 0 2
12 | 2 0 20 20 21 22 20 23 20 16 20 20 20 20 0 2
13 | 2 0 20 20 20 20 20 23 20 16 20 20 18 20 0 2
14 | 2 0 20 23 33 34 35 23 20 16 20 20 19 18 0 2
15 | 2 0 10 23 26 27 28 23 19 9 10 10 18 19 0 2
16 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/RemoveInventoryEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class RemoveInventoryEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(RemoveInventoryEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var inv = (RemoveInventoryEffectPartInfo)info;
19 |
20 | return e => Game.CurrentGame.Player.UseItem(inv.ItemName, inv.Quantity);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Demo Project/stages/demo/Continue.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 40 41 7 8 0 1 2 7 12 7 8 47 6 7 8 6
3 | 43 44 6 6 3 4 5 6 7 8 6 47 7 12 13 8
4 | 74 74 74 46 7 12 6 7 8 7 8 47 6 7 12 6
5 | 82 82 82 82 82 82 83 81 82 82 82 47 82 82 0 1
6 | 82 82 82 82 82 82 83 81 82 82 82 47 82 82 3 4
7 | 82 82 82 82 82 82 83 81 82 82 82 82 82 82 7 8
8 | 82 82 82 82 82 82 83 81 82 82 82 82 82 82 6 13
9 | 82 82 82 82 82 82 83 81 82 82 82 82 82 82 7 8
10 | 82 82 82 82 82 82 83 81 82 82 82 82 82 82 0 1
11 | 82 82 82 82 82 82 83 81 82 82 82 82 82 82 3 4
12 | 74 74 46 82 82 82 83 81 82 82 82 82 82 82 13 8
13 | 0 1 2 82 82 82 83 81 82 82 82 82 82 82 0 1
14 | 3 4 5 82 82 82 83 81 82 82 82 82 82 82 3 4
15 | 13 8 6 82 82 82 83 81 82 82 82 82 82 82 6 13
16 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/FuncEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using System.Xml.Linq;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class FuncEffectPartXmlReader : IEffectPartXmlReader
8 | {
9 | public string NodeName
10 | {
11 | get
12 | {
13 | return "Func";
14 | }
15 | }
16 |
17 | public IEffectPartInfo Load(XElement partNode)
18 | {
19 | return new FuncEffectPartInfo {
20 | Statements = partNode.Value.Split(';').Where(st => !string.IsNullOrEmpty(st.Trim()))
21 | };
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/ScreenTwo.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 29 28 29 28 29 28 29 28 29 28 29 28 29 28 7 38
3 | 28 29 28 29 28 29 28 29 28 29 28 29 28 29 7 36
4 | 29 28 29 28 29 28 29 28 29 28 29 28 29 28 7 38
5 | 34 34 34 34 34 34 34 34 34 34 34 34 34 34 7 36
6 | 29 28 29 28 29 28 29 28 29 28 29 28 29 28 7 38
7 | 28 29 28 29 28 29 28 29 28 29 28 29 28 29 7 36
8 | 29 28 29 28 29 28 29 28 29 28 2 3 29 28 7 38
9 | 28 29 28 29 28 29 28 29 28 29 6 7 28 29 7 36
10 | 34 34 34 34 34 34 34 3 0 1 6 7 34 34 7 38
11 | 28 29 28 29 28 29 28 7 4 5 6 7 28 29 7 36
12 | 0 1 2 3 0 1 2 7 20 21 6 7 29 28 7 38
13 | 4 5 6 7 4 5 18 19 28 29 6 7 28 29 7 36
14 | 4 5 6 19 20 5 29 28 14 15 6 7 29 28 7 38
15 | 4 5 22 29 28 21 12 13 4 5 6 7 28 29 7 36
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/7.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 23 38 38 38 38 33 27 34 34 34 35 34 34
3 | 38 38 38 23 38 38 38 38 38 38 38 27 27 28 27 27
4 | 38 38 38 23 38 38 38 38 38 38 38 34 6 7 34 34
5 | 38 38 38 23 38 38 38 38 38 38 38 4 27 28 27 4
6 | 38 38 38 23 38 38 38 38 38 38 38 34 34 35 34 34
7 | 27 27 26 27 27 27 28 23 26 27 27 27 27 28 27 27
8 | 34 34 6 7 27 27 35 23 33 34 34 34 6 7 34 34
9 | 4 27 26 27 4 27 28 23 5 5 26 4 27 28 27 4
10 | 27 27 6 7 27 27 35 23 20 20 33 34 34 35 34 34
11 | 27 27 26 27 27 27 27 28 20 20 5 5 5 5 0 2
12 | 2 0 5 5 5 5 5 5 20 20 20 20 20 20 0 2
13 | 2 0 20 20 20 20 20 20 20 20 20 20 20 23 0 2
14 | 2 0 20 23 33 34 34 35 20 20 20 20 20 23 0 2
15 | 2 0 20 23 5 5 5 5 20 20 20 20 20 23 0 2
16 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/CallCommandXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Xml.Linq;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal class CallCommandXmlReader : ICommandXmlReader
8 | {
9 | public IEnumerable NodeName
10 | {
11 | get
12 | {
13 | yield return "Call";
14 | }
15 | }
16 |
17 | public SceneCommandInfo Load(XElement node, string basePath)
18 | {
19 | var info = new SceneCallCommandInfo();
20 |
21 | info.Name = node.Value;
22 |
23 | return info;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/SetVarEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class SetVarEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "SetVar";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new SetVarEffectPartInfo {
19 | Name = partNode.GetAttribute("name"),
20 | Value = partNode.GetAttribute("value")
21 | };
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/SoundEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class SoundEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Sound";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new SoundEffectPartInfo {
19 | Name = partNode.GetAttribute("name"),
20 | Playing = partNode.TryAttribute("playing", true)
21 | };
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/4.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 4 5 29 28 29 28 6 7 4 5 6 7 29 28 7 38
3 | 20 21 28 29 28 29 6 7 4 5 10 11 28 29 7 36
4 | 29 28 29 28 29 28 6 7 4 5 29 28 29 28 7 38
5 | 36 37 28 29 28 29 10 11 8 9 28 29 28 29 7 36
6 | 38 39 29 28 29 28 29 28 29 28 29 28 29 28 7 38
7 | 36 37 28 29 28 29 28 29 28 29 28 29 28 29 7 36
8 | 38 39 29 28 29 28 29 36 37 36 37 36 37 36 37 38
9 | 36 37 36 37 28 29 28 38 39 38 39 38 39 38 39 11
10 | 38 39 38 39 29 28 29 28 29 28 29 28 29 28 29 38
11 | 36 37 28 29 28 29 28 29 28 29 28 29 28 29 28 29
12 | 38 39 29 28 29 28 29 28 29 28 29 28 29 28 29 28
13 | 36 37 28 28 29 0 1 2 3 0 1 2 3 63 64 65
14 | 38 39 28 29 28 4 5 18 19 4 5 6 7 66 70 68
15 | 36 37 29 29 28 20 21 24 25 20 21 6 7 69 70 71
16 |
--------------------------------------------------------------------------------
/Mega Man Common/IncludedObjects/MenuInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace MegaMan.Common.IncludedObjects
4 | {
5 | public class MenuInfo : HandlerInfo
6 | {
7 | public List States { get; private set; }
8 |
9 | public MenuInfo()
10 | {
11 | States = new List();
12 | }
13 | }
14 |
15 | public class MenuStateInfo
16 | {
17 | public string Name { get; set; }
18 | public bool Fade { get; set; }
19 | public List Commands { get; set; }
20 | public string StartOptionName { get; set; }
21 | public string StartOptionVar { get; set; }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/Boss.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 61 76 77 78 8 9 10 11 8 9 10 11 76 77 78 61
3 | 4 44 45 44 45 44 45 44 45 44 45 44 45 44 45 7
4 | 4 46 47 46 47 46 47 46 47 46 47 46 47 46 47 7
5 | 4 27 48 49 32 26 26 26 26 26 26 32 48 49 27 7
6 | 4 29 50 51 33 29 28 29 28 29 28 33 50 51 28 7
7 | 4 35 52 53 32 35 56 57 56 57 34 32 52 53 34 7
8 | 4 29 54 55 33 29 50 51 50 51 28 33 54 55 28 7
9 | 8 35 52 53 32 35 52 53 52 53 34 32 52 53 34 7
10 | 75 29 54 55 33 29 54 55 54 55 28 33 54 55 28 7
11 | 26 35 52 53 32 35 58 59 58 59 34 32 52 53 34 7
12 | 28 29 54 55 33 29 28 29 28 29 28 33 54 55 28 7
13 | 62 63 64 65 0 1 2 3 0 1 2 3 63 64 65 62
14 | 62 66 70 68 4 5 18 19 4 5 6 7 66 70 68 62
15 | 62 69 70 71 4 5 75 75 20 21 18 19 69 70 71 62
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/Easy.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 36 37 38 39 38 39 38 39 38 39 38 39 38 39 38 39
3 | 38 39 24 25 24 25 24 25 24 25 24 25 24 25 36 37
4 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 38 39
5 | 35 35 35 35 35 35 35 35 35 35 35 35 35 35 36 37
6 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 38 39
7 | 28 28 28 28 28 28 28 28 28 28 28 28 28 28 36 37
8 | 2 28 28 28 28 28 28 28 28 28 28 28 28 28 38 39
9 | 6 28 28 28 28 28 28 28 28 28 28 28 28 28 36 37
10 | 6 35 35 35 35 35 35 35 35 35 35 35 35 35 38 39
11 | 6 28 28 28 28 28 28 28 28 28 28 28 28 28 36 37
12 | 6 28 28 28 28 28 28 28 28 28 28 28 28 28 38 39
13 | 6 28 28 28 28 28 28 28 28 28 28 28 28 28 36 37
14 | 6 1 2 3 0 1 2 3 0 1 2 3 0 1 38 39
15 | 6 5 6 7 4 5 6 7 4 5 6 7 4 5 36 37
16 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/PaletteEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class PaletteEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "Palette";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new PaletteEffectPartInfo {
19 | PaletteName = partNode.GetAttribute("name"),
20 | PaletteIndex = partNode.GetAttribute("index")
21 | };
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/IO/Xml/Entities/PositionComponentXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common;
3 | using MegaMan.Common.Entities;
4 | using MegaMan.IO.DataSources;
5 |
6 | namespace MegaMan.IO.Xml.Entities
7 | {
8 | internal class PositionComponentXmlReader : IComponentXmlReader
9 | {
10 | public string NodeName
11 | {
12 | get { return "Position"; }
13 | }
14 |
15 | public IComponentInfo Load(XElement node, Project project, IDataSource dataSource)
16 | {
17 | var posInfo = new PositionComponentInfo();
18 | posInfo.PersistOffscreen = node.TryAttribute("persistoffscreen");
19 | return posInfo;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/RemoveCommandXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Xml.Linq;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal class RemoveCommandXmlReader : ICommandXmlReader
8 | {
9 | public IEnumerable NodeName
10 | {
11 | get
12 | {
13 | yield return "Remove";
14 | }
15 | }
16 |
17 | public SceneCommandInfo Load(XElement node, string basePath)
18 | {
19 | var info = new SceneRemoveCommandInfo();
20 | info.Name = node.RequireAttribute("name").Value;
21 | return info;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Mega Man Common/Entities/Effects/EffectInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using MegaMan.Common.IncludedObjects;
4 |
5 | namespace MegaMan.Common.Entities.Effects
6 | {
7 | public class EffectInfo : IncludedObject
8 | {
9 | public string Name { get; set; }
10 | public EntityFilterInfo Filter { get; set; }
11 | public IEnumerable Parts { get; set; }
12 |
13 | public EffectInfo Clone()
14 | {
15 | return new EffectInfo {
16 | Name = Name,
17 | Filter = Filter.Clone(),
18 | Parts = Parts.Select(x => x.Clone()).ToList()
19 | };
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/HealthEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class HealthEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(HealthEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var health = (HealthEffectPartInfo)info;
19 | return entity =>
20 | {
21 | entity.GetComponent().Health += health.Change;
22 | };
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Demo Project/stages/demo/Third.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 18 19 29 29 29 18 19 47 29 29 29 29 29 47 18 19
3 | 18 19 29 29 29 18 19 47 62 29 62 29 62 47 18 19
4 | 18 19 29 29 29 18 19 47 29 62 29 62 29 47 20 21
5 | 18 19 29 29 29 18 19 47 29 30 30 29 29 47 14 15
6 | 18 19 29 29 29 20 21 47 29 14 15 29 29 47 18 19
7 | 18 19 29 29 29 29 29 29 29 18 19 29 29 47 18 19
8 | 18 19 29 29 29 29 29 29 29 16 17 29 29 47 18 19
9 | 18 19 39 40 40 40 40 40 40 40 40 40 41 47 20 21
10 | 18 19 42 43 43 43 43 43 43 43 43 43 44 47 27 27
11 | 18 19 27 27 27 27 27 27 27 27 27 27 27 47 27 27
12 | 16 17 27 27 27 27 27 27 27 27 27 27 27 27 27 27
13 | 7 8 27 27 27 27 27 27 27 27 27 27 27 27 27 27
14 | 12 6 27 27 6 6 0 1 2 7 12 7 8 0 1 2
15 | 7 8 31 31 13 8 3 4 5 6 7 8 6 3 4 11
16 |
--------------------------------------------------------------------------------
/Mega Man/Forms/Settings/UserSettingsEnums.cs:
--------------------------------------------------------------------------------
1 | namespace MegaMan.Engine.Forms.Settings
2 | {
3 | public enum ScreenScale
4 | {
5 | X1,
6 | X2,
7 | X3,
8 | X4,
9 | NTSC,
10 | Fullscreen
11 | }
12 |
13 | public enum NTSC_Options
14 | {
15 | None,
16 | Composite,
17 | S_Video,
18 | RGB,
19 | Custom
20 | }
21 |
22 | public enum PixellatedOrSmoothed
23 | {
24 | Pixellated,
25 | Smoothed
26 | }
27 |
28 | public enum Layers
29 | {
30 | Background,
31 | Sprite1,
32 | Sprite2,
33 | Sprite3,
34 | Sprite4,
35 | Foreground
36 | }
37 | }
--------------------------------------------------------------------------------
/Demo Project/stages/elec/10.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 23 38 38 38 38 26 28 20 20 23 20 26 27
3 | 38 38 38 23 38 38 38 38 6 7 20 20 23 20 33 34
4 | 38 38 38 23 38 38 38 38 26 28 10 10 23 11 26 27
5 | 38 38 38 23 38 38 38 38 33 35 20 20 23 16 15 34
6 | 38 38 3 3 38 38 38 38 26 28 23 26 27 27 27 27
7 | 38 38 38 38 38 38 38 38 6 7 23 33 34 34 34 34
8 | 38 38 38 38 38 38 3 3 26 28 23 5 5 5 26 27
9 | 38 38 38 38 38 38 38 38 33 35 23 20 20 20 15 34
10 | 38 38 3 3 38 38 38 38 26 27 27 28 23 20 26 27
11 | 38 38 38 38 38 38 38 38 6 7 34 35 23 10 33 34
12 | 38 38 38 38 38 38 26 28 5 5 5 5 23 20 26 27
13 | 38 38 38 38 38 38 33 35 20 20 20 20 23 20 33 34
14 | 38 38 26 28 23 26 27 28 23 26 27 27 4 28 27 27
15 | 38 38 33 35 23 33 34 35 23 33 34 34 34 35 34 34
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/11.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 38 23 38 38 38 26 28 20 20 23 20 26 27
3 | 38 38 38 38 23 38 38 38 33 35 20 20 23 20 33 34
4 | 38 38 38 38 23 38 38 38 26 28 13 14 23 20 26 4
5 | 38 38 38 38 38 38 38 38 6 7 21 22 23 20 33 34
6 | 38 38 38 38 38 38 38 38 26 28 18 19 23 20 26 27
7 | 38 38 38 38 38 38 38 38 33 35 20 18 23 10 33 34
8 | 38 38 38 38 38 38 3 3 26 28 20 20 20 20 26 4
9 | 38 38 38 38 38 38 38 38 6 7 20 20 20 20 33 34
10 | 38 38 3 3 38 38 38 38 24 25 20 20 20 20 26 27
11 | 38 38 38 38 38 38 38 38 31 32 20 20 20 20 33 34
12 | 38 38 38 38 38 38 26 27 26 28 3 3 23 3 26 4
13 | 38 38 38 38 38 38 33 34 6 7 5 5 23 5 33 34
14 | 38 38 26 23 27 27 4 27 26 28 13 14 23 20 26 27
15 | 38 38 33 23 34 34 34 34 33 35 21 22 23 20 33 34
16 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/FuncEffectPartXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common.Entities.Effects;
4 |
5 | namespace MegaMan.IO.Xml.Effects
6 | {
7 | internal class FuncEffectPartXmlWriter : IEffectPartXmlWriter
8 | {
9 | public Type EffectPartType
10 | {
11 | get
12 | {
13 | return typeof(FuncEffectPartInfo);
14 | }
15 | }
16 |
17 | public void Write(IEffectPartInfo info, XmlWriter writer)
18 | {
19 | var func = (FuncEffectPartInfo)info;
20 | var statements = string.Join(";", func.Statements);
21 | writer.WriteElementString("Func", statements);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Mega Man/Entities/Effects/SetVarEffectLoader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.Engine.Entities.Effects
5 | {
6 | public class SetVarEffectLoader : IEffectLoader
7 | {
8 | public Type PartInfoType
9 | {
10 | get
11 | {
12 | return typeof(SetVarEffectPartInfo);
13 | }
14 | }
15 |
16 | public Effect Load(IEffectPartInfo info)
17 | {
18 | var setInfo = (SetVarEffectPartInfo)info;
19 | var name = setInfo.Name;
20 | var value = setInfo.Value;
21 |
22 | return e => Game.CurrentGame.Player.SetVar(name, value);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/13.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 38 23 38 38 38 26 28 20 20 23 20 26 27
3 | 38 38 38 38 23 38 38 38 33 35 20 20 23 20 33 34
4 | 38 38 38 38 23 38 38 38 26 28 20 20 23 20 26 4
5 | 38 38 38 38 23 38 38 38 6 7 20 20 23 20 33 34
6 | 38 38 3 3 23 38 38 38 26 28 20 20 23 20 26 27
7 | 38 38 38 38 38 38 38 38 33 35 20 20 23 20 15 34
8 | 38 38 38 38 38 38 3 3 26 28 20 20 23 20 26 4
9 | 38 38 38 38 38 38 38 38 6 7 20 20 23 20 33 34
10 | 38 38 23 3 3 3 38 38 24 25 20 20 23 20 26 27
11 | 38 38 23 38 38 38 38 38 31 32 20 20 23 20 15 34
12 | 38 38 23 38 38 38 38 38 38 38 26 28 23 20 26 4
13 | 38 38 23 38 38 38 38 38 38 38 33 35 23 20 33 34
14 | 27 27 28 23 38 38 26 27 26 28 26 28 23 26 27 27
15 | 34 34 35 23 34 34 33 34 33 35 33 35 23 33 34 34
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/17.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 23 33 34 34 33 34 33 34 34 34 6 7 34 34
3 | 38 38 23 38 38 38 38 38 38 38 26 27 26 27 27 27
4 | 38 38 23 38 38 38 38 38 38 38 33 34 6 7 34 34
5 | 38 38 23 38 38 38 38 38 38 38 26 27 26 27 27 4
6 | 38 38 23 38 38 38 38 38 38 38 33 34 6 7 34 34
7 | 38 38 38 38 38 38 38 38 38 38 38 38 26 27 27 27
8 | 38 38 38 38 38 38 38 38 38 38 38 38 6 7 34 34
9 | 38 38 38 15 38 38 38 38 38 38 38 38 38 38 26 4
10 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 33 34
11 | 38 38 38 38 38 15 38 38 38 38 38 38 38 38 26 27
12 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 33 34
13 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 26 4
14 | 33 34 34 34 33 34 34 34 4 35 4 35 23 38 33 34
15 | 26 27 27 27 26 27 27 27 27 28 27 28 23 38 26 27
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/22.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 27 27 27 27 26 27 27 27 27 27 27 28 27 27 27 27
3 | 34 34 34 34 33 34 34 34 34 34 34 35 34 34 34 34
4 | 37 5 5 5 5 5 5 5 5 5 5 5 5 5 5 37
5 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
6 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
7 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
8 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
9 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
10 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
11 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
12 | 27 28 24 25 24 25 20 20 20 20 20 20 20 20 20 37
13 | 34 35 31 32 31 32 20 20 20 20 20 20 20 20 20 37
14 | 27 28 27 27 27 28 20 20 23 20 26 27 27 28 27 27
15 | 34 35 34 34 34 35 20 20 23 20 33 34 34 35 34 34
16 |
--------------------------------------------------------------------------------
/IO/Xml/Handlers/Commands/CallCommandXmlWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Xml;
3 | using MegaMan.Common;
4 |
5 | namespace MegaMan.IO.Xml.Handlers.Commands
6 | {
7 | internal class CallCommandXmlWriter : ICommandXmlWriter
8 | {
9 | public Type CommandType
10 | {
11 | get
12 | {
13 | return typeof(SceneCallCommandInfo);
14 | }
15 | }
16 |
17 | public void Write(SceneCommandInfo info, XmlWriter writer)
18 | {
19 | var call = (SceneCallCommandInfo)info;
20 | writer.WriteStartElement("Call");
21 | writer.WriteValue(call.Name);
22 | writer.WriteEndElement();
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/12.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 23 38 38 38 38 38 38 38 38 23 38 26 27
3 | 38 38 38 23 38 38 38 38 38 38 38 38 23 38 33 34
4 | 38 38 38 23 38 38 38 38 38 38 38 38 23 38 26 4
5 | 38 38 38 23 38 38 38 38 38 38 38 38 23 38 33 34
6 | 38 38 38 38 38 38 26 27 26 28 27 27 27 27 27 27
7 | 38 38 3 3 38 38 33 34 33 35 34 34 34 34 34 34
8 | 38 38 38 38 38 38 24 25 24 25 24 25 38 38 26 4
9 | 38 38 38 38 38 38 31 32 31 32 31 32 38 38 33 34
10 | 38 38 23 26 27 4 27 27 26 28 27 27 4 27 27 27
11 | 38 38 23 33 34 34 34 34 33 35 34 34 34 34 34 34
12 | 38 38 23 38 38 38 38 38 38 38 38 38 38 38 26 4
13 | 38 38 23 38 38 38 38 38 38 38 38 38 38 38 33 34
14 | 38 38 26 28 23 26 27 27 26 28 27 28 23 26 27 27
15 | 38 38 33 35 23 33 34 34 33 35 33 35 23 33 34 34
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/14.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 23 38 38 26 27 27 26 28 20 20 23 20 26 27
3 | 38 38 23 38 38 33 34 34 33 35 20 20 23 20 33 34
4 | 38 38 23 38 38 26 27 27 26 28 10 10 23 11 26 27
5 | 38 38 23 38 38 33 34 34 6 7 20 20 23 16 15 34
6 | 38 38 23 38 38 26 27 27 26 28 20 20 23 16 26 27
7 | 38 38 23 38 38 15 34 34 33 35 20 20 23 16 33 34
8 | 38 38 23 38 38 26 28 5 5 5 13 14 23 18 26 27
9 | 38 38 23 38 38 33 35 20 20 20 21 22 23 19 33 34
10 | 38 38 23 38 38 26 28 23 26 28 27 27 27 27 27 27
11 | 38 38 23 38 38 15 35 23 33 35 34 34 34 34 34 34
12 | 38 38 23 38 38 26 28 23 5 5 5 5 5 5 26 27
13 | 38 38 23 38 38 33 35 23 20 20 20 20 20 20 33 34
14 | 38 38 26 28 23 26 27 27 26 28 27 28 23 26 27 27
15 | 38 38 33 35 23 33 34 34 33 35 34 35 23 33 34 34
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/15.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 23 38 38 38 38 38 38 26 27 27 27 27 27
3 | 38 38 38 23 38 38 38 38 38 38 33 34 34 34 34 34
4 | 38 38 38 23 38 38 38 38 38 38 38 38 38 38 26 4
5 | 38 38 38 23 38 38 38 38 38 38 38 38 38 38 33 34
6 | 38 38 38 23 38 38 26 27 26 28 27 28 38 38 26 27
7 | 38 38 38 23 38 38 33 34 33 35 34 35 38 38 33 34
8 | 38 38 38 38 38 38 26 28 5 5 5 5 24 25 26 4
9 | 38 38 38 38 38 38 15 35 20 20 20 20 31 32 33 34
10 | 38 38 23 26 27 27 27 28 23 26 27 27 27 27 27 27
11 | 38 38 23 33 34 34 34 35 23 33 34 34 34 34 34 34
12 | 38 38 23 38 38 38 26 28 23 5 5 5 5 5 26 27
13 | 38 38 23 38 38 38 15 35 23 20 20 20 20 20 33 34
14 | 38 38 23 38 38 38 26 27 26 28 27 28 23 26 27 27
15 | 38 38 23 38 38 38 33 34 33 35 34 35 23 33 34 34
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/18.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 38 38 38 38 38 38 38 38 38 38 29 30 30
3 | 38 38 38 38 38 38 38 38 38 38 38 38 38 29 30 30
4 | 38 38 38 38 38 38 38 38 38 38 38 38 38 29 30 30
5 | 38 38 38 38 38 38 38 38 38 38 38 38 38 29 36 36
6 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
7 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
8 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
9 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
10 | 38 38 38 38 38 38 38 38 38 38 26 27 34 34 27 27
11 | 38 38 38 38 38 38 38 38 38 38 33 34 6 7 34 34
12 | 38 38 23 26 27 27 26 4 26 27 27 27 26 27 27 27
13 | 38 38 23 33 34 34 33 34 6 7 34 34 6 7 34 34
14 | 38 38 23 26 27 27 26 27 26 27 27 27 26 27 27 27
15 | 38 38 23 26 27 27 26 4 26 27 27 4 26 27 27 4
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/9.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 38 23 38 26 28 23 20 20 20 20 20 26 27
3 | 38 38 38 38 23 38 33 35 23 20 20 20 20 20 33 34
4 | 38 38 38 38 23 38 26 28 23 11 10 10 10 10 26 4
5 | 38 38 38 38 23 38 33 35 23 16 20 20 20 20 33 34
6 | 38 38 38 38 23 38 26 28 23 18 10 11 12 18 26 27
7 | 38 38 38 38 23 38 33 35 23 19 20 16 20 19 33 34
8 | 38 38 38 38 23 38 26 28 23 20 20 16 20 20 26 4
9 | 38 38 38 38 23 38 33 35 23 20 20 16 20 20 33 34
10 | 38 38 38 38 23 38 26 28 23 20 20 16 20 20 26 27
11 | 38 38 38 38 23 38 33 35 23 20 20 16 20 20 33 34
12 | 38 38 38 38 38 38 5 5 20 20 20 16 18 19 26 4
13 | 38 38 38 38 38 38 20 20 20 20 20 16 20 18 33 34
14 | 26 27 4 27 27 27 4 28 27 27 27 28 23 26 27 27
15 | 33 34 34 34 34 34 34 35 34 34 34 35 23 33 34 34
16 |
--------------------------------------------------------------------------------
/IO/Xml/Effects/AddInventoryEffectPartXmlReader.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using MegaMan.Common.Entities.Effects;
3 |
4 | namespace MegaMan.IO.Xml.Effects
5 | {
6 | internal class AddInventoryEffectPartXmlReader : IEffectPartXmlReader
7 | {
8 | public string NodeName
9 | {
10 | get
11 | {
12 | return "AddInventory";
13 | }
14 | }
15 |
16 | public IEffectPartInfo Load(XElement partNode)
17 | {
18 | return new AddInventoryEffectPartInfo {
19 | ItemName = partNode.RequireAttribute("item").Value,
20 | Quantity = partNode.TryAttribute("quantity", 1)
21 | };
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Demo Project/stages/crystal/6.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 36 37 28 29 28 29 28 29 28 29 28 29 28 29 28 29
3 | 38 39 29 28 29 28 29 28 29 28 29 28 29 29 29 29
4 | 28 29 28 29 28 29 28 29 28 29 28 29 29 29 29 29
5 | 29 28 29 28 29 28 29 28 0 1 2 3 29 28 29 28
6 | 36 37 36 37 36 37 36 37 4 5 6 7 28 29 28 29
7 | 38 39 38 39 38 39 38 39 29 28 29 28 29 28 29 28
8 | 28 29 28 29 28 29 28 29 28 29 28 29 28 29 28 29
9 | 29 28 29 28 29 28 28 29 29 28 29 28 29 28 29 28
10 | 28 29 28 29 28 29 29 28 28 29 28 29 28 29 28 29
11 | 29 28 29 28 29 28 28 29 29 28 29 28 29 28 29 28
12 | 28 29 28 29 28 29 29 28 28 29 28 29 28 29 28 29
13 | 29 28 29 28 29 28 28 29 29 28 29 28 29 28 29 28
14 | 28 29 28 29 28 29 29 28 28 29 28 29 28 29 28 29
15 | 29 28 29 28 29 28 29 28 29 28 29 28 29 28 29 28
16 |
--------------------------------------------------------------------------------
/Demo Project/stages/elec/19.scn:
--------------------------------------------------------------------------------
1 | 16 14
2 | 38 38 38 38 27 28 20 20 23 20 26 27 38 38 38 38
3 | 38 38 38 38 34 35 20 20 23 20 33 34 38 38 38 38
4 | 27 27 27 27 27 28 20 20 23 20 26 27 38 38 38 38
5 | 34 34 34 34 34 35 20 20 23 20 33 34 38 38 38 38
6 | 5 5 5 5 5 5 20 20 20 20 26 27 38 38 38 38
7 | 20 20 20 20 20 20 20 20 20 20 33 34 38 38 38 38
8 | 20 20 20 20 20 20 20 20 20 20 26 27 38 38 38 38
9 | 20 20 20 20 20 20 20 20 20 20 33 34 38 38 38 38
10 | 27 27 27 27 27 27 27 27 27 27 27 27 38 38 38 38
11 | 34 34 34 34 34 34 34 34 34 34 34 34 38 38 38 38
12 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
13 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
14 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
15 | 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
16 |
--------------------------------------------------------------------------------