Giter Site home page Giter Site logo

editorcore's Introduction

EditorCore

This is a generic 3D level editor, it can be extended to support different games, right now it's only a proof of concept, it requires more developement to adapt to different game engines. The only projects needed are EditorCore and ModelViewerCore, the others are related to the extensions.

BfresLib,BnTxx,ByamlExt and SarcExt can be reused for other Switch games as they handle common file formats.

What's done

  • 3D level editor, with search, drag, raycast, and undo
  • Interfaces for level files and objects
  • Plugin structure to load different extensions at once (but only one GameExtension)
  • Paths rendering
  • Super mario odyssey plugin to edit levels.
  • Mario Kart 8 Deluxe plugin to edit courses.
  • Captain Toad Treasure Tracker plugin to edit levels.

What's missing

  • A native/GPU-accelerated 3D renderer, the current one uses WPF and is kinda laggy
  • Undo is not fully implemented
  • Probably other stuff

Screenshots

MK8Level OdysseyLevel

Controls

There are two camera modes, choose the one you like from the settings.

Hotkey action
Space Move camera to selected object
Ctrl + drag object Drag an object in the 3d view
Alt while dragging Snap the object every 100 units
Shift while dragging Snap the object every 50 units
+ Add a new object
D Duplicate selection
Del Delete selection
H Hide selection from view
C Edit the links of the selected object
B (while editing a links list) Go back to the previous list
Q Switch camera mode

Custom plugins

To know how to create custom plugins check the wiki page

Building

This repo contains just the editor and its libs, to use it you also need a game module :
Super Mario Odyssey module
Mario Kart 8 and Captain Toad modules

to build you might want to setup the folders the way the visual studio solution is set:

(Root EditorCore directory)
|-EditorCore
|  |-EditorCore.sln
|  |-(other files)
|-GamePlugins
|  |-OdysseyExt
|  |  |-OdysseyExt.csproj
|  |  |-(other files)
|  |-MK8DExt
|  |  |-MK8DExt.csproj
|  |  |-(other files)

This way the you should be able to build without issues, you just have to restore nuget packages.

If you add a new project make sure to set it's build path to the Ext folder in the bin directory of EditorCore. The dll name should end with Ext.dll

To build a custom plugin (also applies to CTTT3DSExt) :
Reference EditorCoreCommon.dll and the other needed libs in the project and it should compile. If you're using visual studio you can also debug the plugin without the editor soruce code by attaching the debugger to the editor process.

Credits

This editor contains code or libraries from:

editorcore's People

Contributors

exelix11 avatar jupahe64 avatar killzxgaming avatar oatmealdome avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.