###### tags: `Guide To Contibuting` # Development Environment Setup - At this point you should have: - BYOND installed (duh) - Visual Studio Code installed - Git set up - Check out to a clean branch on git, just for this test run. ## The .dme - This is the "project file". It tells the **compiler** what to compile via #includes. - Files that are #included are compiled. Files that aren't are not. - Icon files, sound files, etc, are **not** included in here. They're linked from within code files, either at compile tmie (to be put into the .rsc), or at runtime(to be loaded as needed). More on that later. - This also determines what the entire project is called. ## DreamMaker - BYOND's built-in code development environment. - It's quite awful compared to VSC when the right plugins are installed on VSC, so use it sparingly. - Regardless, when you open the .dme in it, you'll see this.![](https://i.imgur.com/JQtQEbN.png) - Top left: Gives you a directory tree. - Top right: This is where you view the actual code. - Bottom: Console, displays build output, map errors when map editing, etc. Read only, but atleast you can jump to compile errors by clicking them. - Top: Menu. Build allows you to build, etc etc. - **You cannot build with this. Our codebase is configured to *forbid* this, as we use our own build process.** - Now that you know how DreamMaker works, forget it exists other than as a .dmi (sprite) editor or .dmm (map editor, although we use other things for that now too). It's time to learn Visual Studio Code. ## Building the Code - You will now build the code for the first time! - Shift + right click on your repository root in explorer. ![](https://i.imgur.com/ZWiKqC7.png) - Click Open PowerShell window here. - See how good command line git is when set up right? :) ![](https://i.imgur.com/t3MUCYd.png) - Type in `tools/build/build` - This'll **automatically set up the build tooling.** Make sure you have a bit of disk space. - Congratulations, let it run.![](https://i.imgur.com/dnqPTgX.png) - In future runs, you'll notice that it *skips* some things. - CBT (Common Build Tooling, by `stylemistake` over at /tg/station, shoutout to him) is smart enough to not rebuild things that haven't changed. If you didn't save changes to the code, tgui, etc, it'll skip stuff that doesn't need a rebuild to save you time. - You have now built the code. If you instead errored, yell at the codebase maintainers to do their jobs and fix the master branch! >:\( - This is obviously assuming you made no edits yet. If you did, it's not our fault. - It's pretty annoying to have to do this, right? **Don't worry, Visual Studio Code has a way to do it too, whether console or hotkey.** ## Running the Code - See: [Running the Code](/-3bbxSAhREqulMMSZlJ0rg) over at Coding/Beginner section. ## Visual Studio Code \<WIP\>