+
+This document describes both the level format and
+the level editor.
+
+= LEVEL FORMAT =
+
+
HEAD:
--------
1 <- Laptop
2 <- Money
+= BUILT-IN LEVEL EDITOR =
+
+
+//FIXME: Check if all the informations are still valid, when releasing 0.0.6.
+USING THE BUILT-IN LEVEL EDITOR:
+--------------------------------
+
+The built-in level editor can already be used for
+production, but more advances are expected in the
+future, including a mouse driven interface.
+
+When opening the leveleditor, a menu will appear. This
+menu can be used to add, edit, load, save and test levels.
+
+Menu entries:
+- Return to Level Editor - just closes the menu and goes
+to the editing mode. To come back to the menu, press Esc.
+- New Level - creates a new level. The number of the level
+is showed in the upper left part of the screen. The level
+file are currently placed on data/levels/default.
+- Test Level - if you want to test the current level, use
+this option.
+- Level Settings - this allows you to edit the header of the
+file (as described in the beggining of this document). An
+important field is the 'Level width' that allows you to
+adjust level's size.
+(Warning: there are some characters that do not work, cause
+they are not supported by the fonts)
+- Load Level - goes to a given level number.
+- Save Level - saves the current level.
+- Quit Level Editor - goes back to SuperTux's main menu.
+
+Editing mode:
+To edit the level, you'll have to use the mouse or the
+keyboard to control the red cursor, using the keyboard
+to change tiles. Tiles keys are the same used by the
+level format, listed above. You can check them in the fly,
+pressing F1. I'd suggest you to print the above list of keys.
+In the future, a mouse interface will be introduced.
+
+To go back to the menu, just press Esc.
+
+Now, do lots of levels and HAVE FUN!!
+
+Please, send your levels or any art you created to the SuperTux's
+mailinglist or to the maintainer (look at AUTHORS.txt).
+
+
+SuperTux developers
\ No newline at end of file
TARGET=supertux
TARGET_DEF=LINUX
-CFLAGS=-Wall -O2 $(SDL_CFLAGS) -DDATA_PREFIX=\"$(DATA_PREFIX)\" \
+CFLAGS=-Wall-O2 $(SDL_CFLAGS) -DDATA_PREFIX=\"$(DATA_PREFIX)\" \
-D$(NOSOUNDFLAG) -D$(NOOPENGLFLAG) -D$(TARGET_DEF) -DJOY_$(JOY) $(DEBUG_FLAG)
SDL_IMAGE=-lSDL_image
NOSOUNDFLAG=__SOUND
NOOPENGLFLAG=__OPENGL
+DEBUG_LIB= #-lefence
SDL_LIB=$(SDL_MIXER) $(SDL_IMAGE) $(SDL_LDFLAGS)
SDL_CFLAGS := $(shell sdl-config --cflags)
SDL_LDFLAGS := $(shell sdl-config --libs)
GL_LIB = -L/usr/X11R6/lib -lGL
installbin = install -g $(USERNAME) -o $(USERNAME) -m 755
installdat = install -g $(USERNAME) -o $(USERNAME) -m 644
-
+CC = gcc
OBJECTS=obj/supertux.o obj/setup.o obj/intro.o obj/title.o obj/scene.o obj/collision.o obj/bitmask.o obj/type.o \
obj/timer.o obj/text.o obj/texture.o obj/badguy.o obj/special.o obj/world.o obj/player.o obj/level.o obj/gameloop.o \
- obj/screen.o obj/sound.o obj/high_scores.o obj/menu.o obj/leveleditor.o
+ obj/screen.o obj/sound.o obj/high_scores.o obj/menu.o obj/leveleditor.o obj/globals.o obj/button.o obj/physic.o
# Make commands:
# Main executable:
$(TARGET): $(OBJECTS)
- $(CC) $(CFLAGS) $(OBJECTS) -o $(TARGET) $(SDL_LIB) $(GL_LIB)
+ $(CC) $(CFLAGS) $(OBJECTS) -o $(TARGET) $(SDL_LIB) $(GL_LIB) $(DEBUG_LIB)
# Objects:
-obj/supertux.o: src/supertux.c src/supertux.h src/defines.h src/globals.h \
- obj/setup.o obj/intro.o obj/title.o obj/gameloop.o \
- obj/screen.o obj/sound.o obj/leveleditor.o
+obj/supertux.o: src/supertux.c
$(CC) $(CFLAGS) src/supertux.c -c -o obj/supertux.o
-obj/setup.o: src/setup.c src/setup.h obj/sound.o \
- src/defines.h src/globals.h obj/screen.o
+obj/setup.o: src/setup.c
$(CC) $(CFLAGS) src/setup.c -c -o obj/setup.o
-obj/intro.o: src/intro.c src/intro.h \
- src/defines.h src/globals.h src/screen.h
+obj/intro.o: src/intro.c
$(CC) $(CFLAGS) src/intro.c -c -o obj/intro.o
-obj/title.o: src/title.c src/title.h \
- src/defines.h src/globals.h src/screen.h
+obj/title.o: src/title.c
$(CC) $(CFLAGS) src/title.c -c -o obj/title.o
-obj/level.o: src/level.c src/defines.h src/globals.h \
- src/level.h src/gameloop.h src/screen.h src/badguy.h
+obj/level.o: src/level.c
$(CC) $(CFLAGS) src/level.c -c -o obj/level.o
-obj/scene.o: src/scene.c src/scene.h \
- src/defines.h src/globals.h src/screen.h src/scene.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/scene.o: src/scene.c
$(CC) $(CFLAGS) src/scene.c -c -o obj/scene.o
-obj/collision.o: src/collision.c src/collision.h \
- src/defines.h src/globals.h src/screen.h src/scene.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/collision.o: src/collision.c
$(CC) $(CFLAGS) src/collision.c -c -o obj/collision.o
-obj/bitmask.o: src/bitmask.c src/bitmask.h \
- src/defines.h src/globals.h src/screen.h src/scene.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/bitmask.o: src/bitmask.c
$(CC) $(CFLAGS) src/bitmask.c -c -o obj/bitmask.o
-obj/type.o: src/type.c src/type.h \
- src/defines.h src/globals.h src/screen.h src/scene.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/type.o: src/type.c
$(CC) $(CFLAGS) src/type.c -c -o obj/type.o
-obj/timer.o: src/timer.c src/timer.h \
- src/defines.h src/globals.h src/screen.h src/scene.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/timer.o: src/timer.c
$(CC) $(CFLAGS) src/timer.c -c -o obj/timer.o
-obj/texture.o: src/texture.c src/texture.h \
- src/defines.h src/globals.h src/screen.h src/scene.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/texture.o: src/texture.c
$(CC) $(CFLAGS) src/texture.c -c -o obj/texture.o
-obj/text.o: src/text.c src/text.h \
- src/defines.h src/globals.h src/screen.h src/scene.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/text.o: src/text.c
$(CC) $(CFLAGS) src/text.c -c -o obj/text.o
-obj/badguy.o: src/badguy.c src/badguy.h \
- src/defines.h src/globals.h src/screen.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/badguy.o: src/badguy.c
$(CC) $(CFLAGS) src/badguy.c -c -o obj/badguy.o
-obj/special.o: src/special.c src/special.h \
- src/defines.h src/globals.h src/screen.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/special.o: src/special.c
$(CC) $(CFLAGS) src/special.c -c -o obj/special.o
-obj/world.o: src/world.c src/world.h \
- src/defines.h src/globals.h src/screen.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/world.o: src/world.c
$(CC) $(CFLAGS) src/world.c -c -o obj/world.o
-obj/player.o: src/player.c src/player.h \
- src/defines.h src/globals.h src/screen.h src/gameloop.h obj/sound.o \
- src/setup.h obj/level.o
+obj/player.o: src/player.c
$(CC) $(CFLAGS) src/player.c -c -o obj/player.o
-obj/gameloop.o: src/gameloop.c src/gameloop.h \
- src/defines.h src/globals.h src/screen.h obj/sound.o \
- src/setup.h obj/level.o obj/player.o
+obj/gameloop.o: src/gameloop.c
$(CC) $(CFLAGS) src/gameloop.c -c -o obj/gameloop.o
-obj/screen.o: src/screen.c src/defines.h src/globals.h src/screen.h
+obj/screen.o: src/screen.c
$(CC) $(CFLAGS) src/screen.c -c -o obj/screen.o
-obj/sound.o: src/sound.c src/defines.h src/globals.h src/sound.h
+obj/sound.o: src/sound.c
$(CC) $(CFLAGS) src/sound.c -c -o obj/sound.o
-obj/high_scores.o: src/high_scores.c src/defines.h src/globals.h \
- obj/sound.o
+obj/high_scores.o: src/high_scores.c
$(CC) $(CFLAGS) src/high_scores.c -c -o obj/high_scores.o
-obj/menu.o: src/menu.c src/defines.h src/globals.h \
- obj/sound.o src/menu.h src/leveleditor.h
+obj/menu.o: src/menu.c
$(CC) $(CFLAGS) src/menu.c -c -o obj/menu.o
-obj/leveleditor.o: src/leveleditor.c src/defines.h src/globals.h \
- src/leveleditor.h src/gameloop.h src/screen.h src/badguy.h
- $(CC) $(CFLAGS) src/leveleditor.c -c -o obj/leveleditor.o
\ No newline at end of file
+obj/leveleditor.o: src/leveleditor.c
+ $(CC) $(CFLAGS) src/leveleditor.c -c -o obj/leveleditor.o
+
+obj/globals.o: src/globals.c
+ $(CC) $(CFLAGS) src/globals.c -c -o obj/globals.o
+
+obj/button.o: src/button.c
+ $(CC) $(CFLAGS) src/button.c -c -o obj/button.o
+
+obj/physic.o: src/physic.c
+ $(CC) $(CFLAGS) src/physic.c -c -o obj/physic.o
\ No newline at end of file