No description
Find a file
Ethan Burns 7d0233c8d9 Merge pull request #98 from mccoyst/pickups
Informative messages when items are picked up
2013-09-02 13:52:59 -07:00
cmd Merge pull request #98 from mccoyst/pickups 2013-09-02 13:52:59 -07:00
devel Migrate devel/ENEMIES to the wiki. 2011-07-17 13:00:51 -07:00
include More detailed item status messages 2013-09-02 15:06:50 -04:00
lib Minor optimization 2013-09-02 16:49:48 -04:00
osx skip download/install of prereqs if they're already installed 2013-08-20 15:48:09 -04:00
posix Add a generic prerequisite target 2013-08-20 15:44:00 -04:00
resrc Shrink other items 2013-09-01 22:14:33 -04:00
win Fix the build on Windows 2013-08-20 21:05:45 -04:00
.gitignore Fix the build on Windows 2013-08-20 21:05:45 -04:00
ATTRIBUTION Do for font names what I did for font sizes, add a better font, make the death screen a bit less ugly. 2011-08-19 10:37:32 -04:00
AUTHORS Add Scott to the AUTHORS file. 2013-08-14 10:09:43 -04:00
dvorak.km Add the sword key to dvorak.km. 2013-08-10 16:24:37 -04:00
err.sup Add fglrx error supression for valgrind. 2011-05-13 21:41:45 -04:00
LICENSE Add new copyright lines to source files, LICENSE file, and AUTHORS file. 2013-08-06 14:31:42 -04:00
Make.cmd Remove that -o; everybody knows what's going on 2013-08-20 15:44:01 -04:00
Make.inc Add new copyright lines to source files, LICENSE file, and AUTHORS file. 2013-08-06 14:31:42 -04:00
Make.lib Quiet build output 2013-08-13 09:11:51 -04:00
Makefile Put that back 2013-09-01 22:36:16 -04:00
README.md Fix the worst spelling error of all time 2013-08-30 10:15:32 -04:00

Building

Prerequisites

You'll need the following tools:

  • sh (or an sh-compatible shell)
  • make (GNU or GNU-compatible)
  • clang (or gcc if you must)
  • ar
  • sed
  • awk
  • pkg-config (on Linux only)

You'll need the following libraries:

  • SDL 2.0
  • SDL2_image
    • libpng
    • zlib
  • SDL2_mixer
    • libogg
    • libvorbis
  • SDL2_ttf
    • libfreetype

The make prereqs command can be used to easily download and install the build dependencies.

On OSX, the SDL libraries should be in framework form, under /Library/Frameworks, and you won't have to worry about the other dependencies.

On Windows you will need mingw/msys and Powershell script execution privileges. You will at least need to set:

set-executionpolicy remotesigned

And you may need to "unblock" win/webget.ps1 before running make prereqs.

Do It

If you're using clang, run "make" from the source code directory's root. If it doesn't fail, you can run "cmd/mid/mid"!

If want to use gcc, override the CC and LD variables:

make CC=gcc LD=gcc

Installers

On OSX and Windows, you can run make installer to create Mid.app (on OSX) and a Mid folder (on Windows). These can be distributed to other machines and should work without installing any prerequites.

Playing

Run cmd/mid/mid from the dev area, or click on Mid.app on OSX, or mid.exe in the Windows Mid folder.

The default controls are ESDF-style for movement, j to swing the sword, u to perform general actions like opening doors, and n to access the inventory. You can change the controls in the options menu, or by providing a keymap file to the -k flag of the mid executable. For an example, look at dvorak.km.

Debugging

The -p flag to mid allows it to read a level description via standard input, rather than executing its own pipeline of the various -gen programs. This, combined with the "cur.lvl" and "debug.log" files that are saved on each run, can be used to easily reproduce issues.