Browse Source

Eruta Blessed Savior. New repository with less cruft, hopefully, but stil a lot of image files...

Beoran 7 years ago
commit
90041eb46c
100 changed files with 1300 additions and 0 deletions
  1. 30 0
      .gitignore
  2. 83 0
      CMakeLists.txt
  3. 39 0
      LICENSE
  4. 277 0
      README
  5. 82 0
      cmake/ErutaFiles.cmake
  6. 64 0
      cmake/FindAllegro5.cmake
  7. 61 0
      cmake/FindAllegro50.cmake
  8. 61 0
      cmake/FindAllegro51.cmake
  9. 72 0
      cmake/FindChipmunk.cmake
  10. 75 0
      cmake/FindLua52.cmake
  11. 76 0
      cmake/FindMruby.cmake
  12. 260 0
      cmake/FindPackageHandleStandardArgs.cmake
  13. 99 0
      cmake/LibFindMacros.cmake
  14. 18 0
      cmake/mingw32.cmake
  15. 3 0
      data/eruta.conf
  16. BIN
      data/font/GranaPadano.ttf
  17. BIN
      data/font/unifont.ttf
  18. BIN
      data/image/background/bluesky2.jpg
  19. BIN
      data/image/background/eruta_logo_640x120.png
  20. BIN
      data/image/background/eruta_mainmenu.png
  21. BIN
      data/image/background/eruta_mainmenu.xcf
  22. BIN
      data/image/gin/ace.png
  23. BIN
      data/image/gin/ace_32.png
  24. BIN
      data/image/gin/ace_64.png
  25. BIN
      data/image/gin/acid-blob.png
  26. BIN
      data/image/gin/acid-blob_32.png
  27. BIN
      data/image/gin/acid-blob_64.png
  28. BIN
      data/image/gin/acorn.png
  29. BIN
      data/image/gin/acorn_32.png
  30. BIN
      data/image/gin/acorn_64.png
  31. BIN
      data/image/gin/aerial-signal.png
  32. BIN
      data/image/gin/aerial-signal_32.png
  33. BIN
      data/image/gin/aerial-signal_64.png
  34. BIN
      data/image/gin/aerosol.png
  35. BIN
      data/image/gin/aerosol_32.png
  36. BIN
      data/image/gin/aerosol_64.png
  37. BIN
      data/image/gin/afterburn.png
  38. BIN
      data/image/gin/afterburn_32.png
  39. BIN
      data/image/gin/afterburn_64.png
  40. BIN
      data/image/gin/alien-skull.png
  41. BIN
      data/image/gin/alien-skull_32.png
  42. BIN
      data/image/gin/alien-skull_64.png
  43. BIN
      data/image/gin/all-for-one.png
  44. BIN
      data/image/gin/all-for-one_32.png
  45. BIN
      data/image/gin/all-for-one_64.png
  46. BIN
      data/image/gin/alligator-clip.png
  47. BIN
      data/image/gin/alligator-clip_32.png
  48. BIN
      data/image/gin/alligator-clip_64.png
  49. BIN
      data/image/gin/ammonite-fossil.png
  50. BIN
      data/image/gin/ammonite-fossil_32.png
  51. BIN
      data/image/gin/ammonite-fossil_64.png
  52. BIN
      data/image/gin/ammonite.png
  53. BIN
      data/image/gin/ammonite_32.png
  54. BIN
      data/image/gin/ammonite_64.png
  55. BIN
      data/image/gin/anatomy.png
  56. BIN
      data/image/gin/anatomy_32.png
  57. BIN
      data/image/gin/anatomy_64.png
  58. BIN
      data/image/gin/anchor.png
  59. BIN
      data/image/gin/anchor_32.png
  60. BIN
      data/image/gin/anchor_64.png
  61. BIN
      data/image/gin/andromeda-chain.png
  62. BIN
      data/image/gin/andromeda-chain_32.png
  63. BIN
      data/image/gin/andromeda-chain_64.png
  64. BIN
      data/image/gin/angel-outfit.png
  65. BIN
      data/image/gin/angel-outfit_32.png
  66. BIN
      data/image/gin/angel-outfit_64.png
  67. BIN
      data/image/gin/angel-wings.png
  68. BIN
      data/image/gin/angel-wings_32.png
  69. BIN
      data/image/gin/angel-wings_64.png
  70. BIN
      data/image/gin/angler-fish.png
  71. BIN
      data/image/gin/angler-fish_32.png
  72. BIN
      data/image/gin/angler-fish_64.png
  73. BIN
      data/image/gin/angular-spider.png
  74. BIN
      data/image/gin/angular-spider_32.png
  75. BIN
      data/image/gin/angular-spider_64.png
  76. BIN
      data/image/gin/animal-skull.png
  77. BIN
      data/image/gin/animal-skull_32.png
  78. BIN
      data/image/gin/animal-skull_64.png
  79. BIN
      data/image/gin/ankh.png
  80. BIN
      data/image/gin/ankh_32.png
  81. BIN
      data/image/gin/ankh_64.png
  82. BIN
      data/image/gin/anthem.png
  83. BIN
      data/image/gin/anthem_32.png
  84. BIN
      data/image/gin/anthem_64.png
  85. BIN
      data/image/gin/anvil-impact.png
  86. BIN
      data/image/gin/anvil-impact_32.png
  87. BIN
      data/image/gin/anvil-impact_64.png
  88. BIN
      data/image/gin/anvil.png
  89. BIN
      data/image/gin/anvil_32.png
  90. BIN
      data/image/gin/anvil_64.png
  91. BIN
      data/image/gin/apple-maggot.png
  92. BIN
      data/image/gin/apple-maggot_32.png
  93. BIN
      data/image/gin/apple-maggot_64.png
  94. BIN
      data/image/gin/apple-seeds.png
  95. BIN
      data/image/gin/apple-seeds_32.png
  96. BIN
      data/image/gin/apple-seeds_64.png
  97. BIN
      data/image/gin/aquarius.png
  98. BIN
      data/image/gin/aquarius_32.png
  99. BIN
      data/image/gin/aquarius_64.png
  100. BIN
      data/image/gin/archery-target.png

+ 30 - 0
.gitignore

@@ -0,0 +1,30 @@
+# Compiled source #
+###################
+*.com
+*.class
+*.dll
+*.exe
+*.o
+*.so
+
+
+# backups
+*~
+# Cmake generated
+CMakeFiles
+Testing
+CMakeCache.txt
+CTestTestfile.cmake
+Makefile
+*.ninja
+.ninja_log
+# Testing
+test_graph.png
+# binaries
+bin
+# build dir CONTENTS
+build
+# autogenerated docs
+doc/nd
+doc/nd_project
+

+ 83 - 0
CMakeLists.txt

@@ -0,0 +1,83 @@
+cmake_minimum_required(VERSION 2.8)
+# Set policy: link_directories is relative to source dir
+cmake_policy(SET CMP0015 NEW)
+
+
+# Set the project name.
+project(ERUTA C)
+
+# Play with PCC
+# SET(CMAKE_C_COMPILER   /usr/local/bin/pcc)
+# Play with UCC
+# SET(CMAKE_C_COMPILER   /usr/local/lib/ucc/ucc)
+
+# tell CMake to search first in the cmake subdirectory for FIND_PACKAGE() or INCLUDE()
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/)
+
+include(CheckCSourceCompiles)
+include(CheckCXXSourceCompiles)
+
+
+if(CMAKE_COMPILER_IS_GNUCC)
+set(COMPILER_GCC 1)
+set(CMAKE_C_FLAGS "-W -Wall -wunused -Wno-unused -Wno-unknown-pragmas -g -std=c99 -ffast-math -fsanitize=address -fstrict-aliasing -Wstrict-aliasing=2")
+# set(CMAKE_LD_FLAGS "-pg")
+# always use gnu99, debugging, all warnings except unused and unknown pragmas.
+# when compiling with gnu compiler.  
+# Warn about alisasing because otherwise aliasing problems it may not be detected.
+endif(CMAKE_COMPILER_IS_GNUCC)
+
+# or for PCC
+# set(CMAKE_C_FLAGS "-fpic -fPIC")  
+
+set(CMAKE_C_FLAGS "-W -Wall -Wno-unused -Wno-unknown-pragmas -g -std=c99 -ffast-math -fstrict-aliasing -Wstrict-aliasing=2")
+
+find_package(Mruby REQUIRED)
+
+# Finds Allegro using pkgconfig, so it must be configured correctly 
+find_package(Allegro5 REQUIRED)
+
+find_package(PNG REQUIRED)
+find_package(JPEG REQUIRED)
+
+# Set include and lib dirs. 
+include_directories(${ALLEGRO_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${JPEG_INCLUDE_DIR} ${MRUBY_INCLUDE_DIR}) 
+
+
+set(ERUTA_LIBS ${LIBS} ${OBJC_LIBRARIES} ${ALLEGRO_LIBRARIES} ${PNG_LIBRARY} ${JPEG_LIBRARY} ${MRUBY_LIBRARIES})
+
+include_directories("include")
+# add_subdirectory("src")
+include(ErutaFiles)
+set_source_files_properties(${ERUTA_SRC_FILES} PROPERTIES LANGUAGE C)
+
+# set_source_files_properties(${ERUTA_OBJC_SRC_FILES} PROPERTIES LANGUAGE C)
+# src/BNObject.m 
+# set_source_files_properties(BNObject.m PROPERTIES LANGUAGE C)
+
+
+
+
+# eruta exe in the bin subdir (first one should work, but doesnt, hmmm...)
+set(RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
+add_library(ERUTA_OBJECTS OBJECT ${ERUTA_SRC_FILES})
+add_executable(eruta $<TARGET_OBJECTS:ERUTA_OBJECTS> src/main.c)
+target_link_libraries(eruta ${ERUTA_LIBS})
+
+enable_testing()
+# Let ctest run valgrind
+# test exe in the test subdir (first one should work, but doesnt, hmmm...)
+set(CMAKE_CTEST_OPTIONS --output-on-failure)
+set(CTEST_OUTPUT_ON_FAILURE TRUE)
+set(CTEST_MEMORYCHECK_COMMAND:FILEPATH "/usr/bin/valgrind")
+add_subdirectory("test")
+
+
+
+
+
+
+
+
+

+ 39 - 0
LICENSE

@@ -0,0 +1,39 @@
+The Sleepycat License
+
+Eruta is copyright (c) 
+2007-2016 Beoran     (beoran@rubyforge.org), 
+2012      Alexbond45 ,
+2012      LunarKnite .
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, 
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, 
+   this list of conditions and the following disclaimer.
+   
+2. Redistributions in binary form must reproduce the above copyright notice, 
+   this list of conditions and the following disclaimer in the documentation 
+   and/or other materials provided with the distribution.
+   
+3. Redistributions in any form must be accompanied by information on how to 
+   obtain complete source code for the Eruta software and any accompanying 
+   software that uses the Eruta software. The source code must either be 
+   included in the distribution or be available for no more than the cost of 
+   distribution plus a nominal fee, and must be freely redistributable under 
+   reasonable conditions. For an executable file, complete source code means 
+   the source code for all modules it contains. It does not include source code 
+   for modules or files that typically accompany the major components of the 
+   operating system on which the executable file runs.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE 
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 277 - 0
README

@@ -0,0 +1,277 @@
+                     _____           _
+                    |  ___|         | |
+                    | |__ _ __ _   _| |_ __ _
+                    |  __| '__| | | | __/ _` |
+                    | |__| |  | |_| | || (_| |
+                    \____/_|   \__,_|\__\__,_|
+
+
+
+Eruta is a futuristic Japanese style RPG under development.
+
+Requirements:
+* OS: Linux for now. Windows port is under development. OSX may work too.
+* Allegro 5.1.9 or later.
+  Earlier versions won't be found by the build script.
+* libxml2 (www.xmlsoft.org)
+* mruby (latest gitub version). To install globally in /usr/local
+  use
+  `cd <directory_where_mruby_is> ; make ; sudo bin/install_mruby`
+  to compile and install mruby into /usr/local
+* For compilation: cmake 2.8.10.2 or later (see vendor directory), make or ninja.
+* For testing and debugging: gdb, ddd, valgrind.
+* For map editing: tiled (www.mapeditor.org)
+* For some of the tools and continuous testing: Ruby, watchr.
+
+Installation:
+
+You have to make sure that you have all the requirements.  On Linux
+distributitions like Ubuntu, make sure that the development packages for all
+requirements are installed. Then do on the command line:
+
+cmake . ; make
+
+Or if you want to build with Ninja, use the latest version of cmake and go
+cmake -G Ninja . ; ninja
+Please note that cmake and the word "Ninja" is case-sensitive!
+
+How to try it:
+
+Run bin/eruta from the project's main directory.
+Expect to be underwhelmed for now. :-)
+
+How to develop using the contious testing script:
+
+Use the supplied watchr script like this:
+watchr tool/watchr/eruta_watchr.rb
+
+Every time you change a c file or header, the matching
+test will be compiled though cmake and make, and
+will be run. This does compile all C files of eruta,
+so it may be a bit slow at times.
+
+How to generate developer's documentation:
+Use naturaldocs.
+
+
+License:
+
+Eruta is copyright (C)
+2007-2015 Beoran beoran@rubyforge.org.
+2012 com64 (music files in data/music/*_com64.ogg)
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+3. Redistributions in any form must be accompanied by information on how to
+   obtain complete source code for the Eruta software and any accompanying
+   software that uses the Eruta software. The source code must either be
+   included in the distribution or be available for no more than the cost of
+   distribution plus a nominal fee, and must be freely redistributable under
+   reasonable conditions. For an executable file, complete source code means
+   the source code for all modules it contains. It does not include source code
+   for modules or files that typically accompany the major components of the
+   operating system on which the executable file runs.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+As you can see, above, Eruta is licenced under a "Sleepycat license", which is
+GPL compatible, but much shorter and easier to read. Basically you're allowed
+to use the Eruta as you like. However, if you make your own game with Eruta's
+sources, you'll have to make the sources of your program freely available and
+redistributable as well. If you don't like these terms, contact me for making
+different arrangments. :)
+
+Credits and third party licenses:
+
+json-parser (src/json.c and include/json.h):
+
+  Copyright (C) 2012 James McLaughlin, Alex Gartrell, Peter Scott,
+  Mathias Kaerlev, Emiel Mols, Czarek Tomczak, Nicholas Braden,
+  Ivan Kozub, Árpád Goretity.  All rights reserved.
+  https://github.com/udp/json-parser
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+
+
+
+ext/gari/test/test_music.ogg, data/music/musictest.ogg
+  Original title: : Town in ruins loop
+  Artist: Brandon Morris
+  License: CC-BY 3.0
+
+data/font/Tuffy.ttf
+  - Thatcher Ulrich <tu@tulrich.com> http://tulrich.com
+  Tuffy fonts License:
+  I have placed these fonts in the Public Domain. This is all 100% my
+  own work. Usage is totally unrestricted. If you want to make
+  derivative works for any purpose, please go ahead.
+
+data/font/GranaPadano.ttf
+  Daniel Johnson (font maintainer)
+  il.basso.buffo at gmail dot com
+  http://io.debian.net/~danielj/
+  Licensed under the Open Font License (OFL).
+
+data/image/ulpcss/*
+  See README and AUTHORS in that directory.
+  These images are temporary open source placeholders for the game sprites.
+
+data/image/ui/icon/gin/*
+  Icons made by Lorc, Delapoite and John Colbutn.
+  Icons provided under the Creative Commons 3.0 BY license.
+  See licence.txt in that directory for more details.
+
+data/music/nethis-the_writer.ogg
+  License: CC-BY 3.0
+  Artists: Nethis, based on vocals by myvanillaworld.
+  http://ccmixter.org/files/Nethis/38405
+
+data/music/ramblinglibrarian_how_do_i_make_you_see.ogg
+  License: CC-BY 3.0
+  Artists: ramblinglibrarian, based on vocals by myvanillaworld.
+  http://ccmixter.org/files/ramblinglibrarian/25641
+
+data/music/admiralbob77_in_peace_now.ogg
+  License: CC-BY 3.0
+  Artists: Admiralbob77, based on vocals by SackJo22
+  http://ccmixter.org/files/admiralbob77/40555
+
+http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100875
+
+data/music/*_com64.ogg
+  By Com64 under CC-BY 3.0 license.
+
+data/music/*_joclemons.ogg
+  By Jo Clemons under CC-BY 3.0 license.
+
+
+
+
+Thanks to the following people for their suggestions:
+
+Alexbond45, LunarKnite, Mikka, Sagephoenix.
+
+Remarks for developers:
+
+bin/mkproto is an automatic function prototype extraction tool that is
+no longer used due to it being more hassle than help.
+
+When a new .c file is needed, use the bin/newmodule tool like this
+bin/newmodule bar
+and automatically, empty src/bar.c and include/bar.h will be generated.
+
+As for why I use plain C and not, say C++: it's to keep the code simple, tight
+and focused, and easy to interface with the Ruby scripts. C is a very simple
+language, but it can do anything and it does it fast. And to save time, quite
+a bit of the programming will happen on the mruby side.
+
+An overview of the C files andwhat they are about:
+
+src/area.c        : In-game areas or levels.
+src/bad.c         : Beoran's Algorithms and datastructures.
+src/base64.c      : Base64 implementation, currently unused.
+src/brex.c        : Reular expressions ,currently unused.
+src/bxml.c        : My own XML parser, currently not in use.
+src/bxmlparser.c  : My own XML parser, currently not in use.
+src/camera.c      : Camera models a view port over an in-game level.
+src/castor.c      : Cache and in memory storage for resources. Needs work.
+src/ch.c          : Chipmunk Helper functions.
+src/cocell.c      : Cons cell, currenly not used.
+src/draw.c        : Additional drawing functions.
+src/dynar.c       : Dynamic arrays in C. Used everywhere.
+src/effect.c      : Effects and particle engine. Needs a lot of work.
+src/event.c       : Additional event functions.
+src/every.c       : Iterators and iteration in C.
+src/ezxml.c       : XML parser based on Aaron Voisine's work.
+src/fifi.c        : Find Files. Helps find game data and eases resource loading.
+src/flags.c       : Simple integer bitflag setting and getting helpers.
+src/glh.c         : OpenGL helper functions. Currently not in use.
+src/hatab.c       : Hash table. Needs work, so not in use yet.
+src/ifa.c         : Generic interfaces for C. Currently not used.
+src/inli.c        : Intrusive linked ist, currently not used.
+src/json.c        : JSON support.
+src/main.c        : Main function and many helpers and tests.
+src/mem.c         : Memory handling helpers.
+src/miniz.c       : Minimalistic zip library for later use.
+src/mobile.c      : Autonomously moving game entities.
+src/mode.c        : Game mode switching functions.
+src/obj.c         : OOP in C playground. Currently not in use.
+src/pachi.c       : Parent child tree. Currently not in use.
+src/pointergrid.c : Two dimensional grid, used for the tile map.
+src/react.c       : Input handling system. Needs to be merged with UI and mode.
+src/rebl.c        : Red black tree, under construction, unused.
+src/rebox.c       : Rectangular boxes. Used in UI, camera etc.
+src/rh.c          : MRuby helper functions.
+src/scegra.c      : Scene graph idea, may be discared, currently unused.
+src/silut.c       : Simple string lookup table.
+src/sound.c       : Sound and music helper functions.
+src/sprite.c      : Sprite functions, in use but needs work.
+src/spritelayout.c: Sprite Layouts used for loading sprite sheets.
+src/spritelist.c  : List of sprite functions, split off from sprite.c
+src/spritestate.c : Sprite state functions, split off from sprite.c
+src/state.c       : Manages all state data of the engine.
+src/str.c         : USTR and String helper functions.
+src/tarray.c      : XMacro template matrix. Currently unused.
+src/tile.c        : Tile map tile functionality.
+src/tileio.c      : Tile map reading and later perhaps writing for ingame edit.
+src/tilemap.c     : Tile map functonality.
+src/tilepane.c    : Tile pane, a layer in a tile map.
+src/tinfl.c       : Tiny inflater, uncompression, currently unused.
+src/tlilis.c      : Templated linked list, currently unused.
+src/tmatrix.c     : Templated matrix currently unused.
+src/toruby.c      : Functions that are exposed to the mruby scripting.
+src/tr_audio.c    : MRuby script bindings for audio functionality.
+src/tr_path.c     : MRuby script bindings for path functionality.
+src/tr_store.c    : MRuby script bindings for data storage functionality.
+src/tr_graph.c    : MRuby script bindings for 2D scene graph functionality.
+src/tr_sprite.c   : MRuby script bindings for sprite functionality.
+src/tr_thing.c    : MRuby script bindings for physical thing functionality.
+src/ui.c          : User interface functionality.
+src/widget.c      : UI widgets, currently only script console.
+src/xml.c         : Libxml helper functions.
+src/zori.c        : UI functions, currently empty.
+
+Since I try out a lot of things, ther are quite a few unused C fils in
+the project. Perhaps I will clean them out some day.. :)
+
+
+
+

+ 82 - 0
cmake/ErutaFiles.cmake

@@ -0,0 +1,82 @@
+# All source files except main.c to enable testing
+# by using cmake's fake library feature. Don't forget to add new source 
+# files here manually.
+set(BF_SRC_FILES
+  src/bf/BFObject.c
+  src/bf/BFClass.c
+  src/bf/BFArray.c
+  src/bf/BFMap.c
+  src/bf/BFInteger.c
+  src/bf/BFDouble.c
+  src/bf/BFString.c
+  src/bf/BFValue.c
+)
+
+set(ERUTA_SRC_FILES
+  src/alps.c
+  src/area.c
+  src/bad.c
+  src/bevec.c
+  src/brex.c
+  src/bump.c
+  src/bumpshape.c  
+  src/bxml.c
+  src/bxmlparser.c
+  src/camera.c
+  src/callrb.c
+  src/draw.c
+  src/dynar.c
+  src/effect.c
+  src/event.c
+  src/every.c
+  src/flags.c
+  src/fifi.c
+  src/glh.c
+  src/hatab.c
+  src/ifa.c
+  src/inli.c
+  src/intgrid.c
+  src/laytext.c
+  src/mem.c
+  src/mobile.c
+  src/mode.c
+  src/monolog.c
+  src/obj.c
+  src/pique.c
+  src/pointergrid.c
+  src/react.c
+  src/rebl.c
+  src/rebox.c
+  src/resor.c
+  src/rh.c    
+  src/scegra.c
+  src/ses.c
+  src/silut.c
+  src/sound.c
+  src/sprite.c
+  src/spritelist.c
+  src/spritestate.c
+  src/spritelayout.c
+  src/state.c
+  src/store.c
+  src/str.c
+  src/thing.c
+  src/tile.c
+  src/tileio.c
+  src/tilemap.c
+  src/tilepane.c
+  src/tarray.c
+  src/tmatrix.c
+  src/toruby.c
+  src/tr_audio.c
+  src/tr_path.c
+  src/tr_store.c
+  src/tr_graph.c
+  src/tr_sprite.c
+  src/tr_thing.c
+  src/ui.c
+  src/utf8.c
+  src/widget.c
+  src/xresor.c
+  src/zori.c
+)

+ 64 - 0
cmake/FindAllegro5.cmake

@@ -0,0 +1,64 @@
+find_package(PkgConfig)
+
+# Find main allegro and assume the rest is there too
+pkg_check_modules(Allegro5_PKGCONF allegro-5)
+
+# Perhaps use this later? 
+# pkg_search_module(ALLEGRO5 REQUIRED allegro-5 allegro-5.0)
+
+# MESSAGE("lib: ${Allegro5_PKGCONF_LIBRARY_DIRS}")
+# MESSAGE("include: ${Allegro5_PKGCONF_INCLUDE_DIRS}")
+
+# Include dir
+find_path(Allegro5_INCLUDE_DIR
+  NAMES allegro5/allegro5.h
+  PATHS ${Allegro5_PKGCONF_INCLUDE_DIRS}
+)
+
+# message("include dir: ${Allegro5_INCLUDE_DIR}")
+
+# Names of all libraries in Allegro, without versions
+set(ALLEGRO5_ALL_LIBRARIES
+  allegro allegro_image allegro_font
+  allegro_primitives allegro_ttf allegro_audio
+  allegro_dialog allegro_memfile allegro_acodec
+  allegro_color allegro_main allegro_physfs
+)
+
+# set(ALLEGRO5_LIBRARIES "")
+
+# Find all libraries to link 
+foreach(ALLEGRO5_ONE_LIBRARY ${ALLEGRO5_ALL_LIBRARIES})
+  # message("${ALLEGRO5_ONE_LIBRARY}")
+  find_library("${ALLEGRO5_ONE_LIBRARY}_AID" "${ALLEGRO5_ONE_LIBRARY}"
+  ${Allegro5_PKGCONF_LIBRARY_DIRS}
+  )  
+  set(Allegro5_LIBRARIES
+   "${Allegro5_LIBRARIES}" "${${ALLEGRO5_ONE_LIBRARY}_AID}")
+  # MESSAGE("${Allegro5_LIBRARIES}")
+endforeach(ALLEGRO5_ONE_LIBRARY)
+# Remove first empty erroneous "library"
+list(REMOVE_AT Allegro5_LIBRARIES 0)
+# MESSAGE("${Allegro5_LIBRARIES}")
+# message("${ALLEGRO5_LIBRARIES}")
+# allegro_image allegro_font allegro_primitives
+#   allegro_ttf allegro_audio allegro_dialog allegro_acodec
+#   allegro_color allegro_main allegro_physfs
+
+
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+set(ALLEGRO_INCLUDE_DIR "${Allegro5_INCLUDE_DIR}")
+set(ALLEGRO_LIBRARIES "${Allegro5_LIBRARIES}")
+# libfind_process(Allegro5)
+
+# MESSAGE("all libs: ${ALLEGRO_LIBRARIES}")
+# MESSAGE("all include: ${ALLEGRO_INCLUDE_DIR}")
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Allegro5 DEFAULT_MSG ALLEGRO_LIBRARIES ALLEGRO_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(ALLEGRO_INCLUDE_DIR ALLEGRO_LIBRARIES)
+
+
+
+# MESSAGE("${ALLEGRO_LIBRARIES}")

+ 61 - 0
cmake/FindAllegro50.cmake

@@ -0,0 +1,61 @@
+find_package(PkgConfig)
+
+# Find main allegro and assume the rest is there too
+pkg_check_modules(Allegro50_PKGCONF allegro-5.0)
+
+# MESSAGE("lib: ${Allegro50_PKGCONF_LIBRARY_DIRS}")
+# MESSAGE("include: ${Allegro50_PKGCONF_INCLUDE_DIRS}")
+
+# Include dir
+find_path(Allegro50_INCLUDE_DIR
+  NAMES allegro5/allegro5.h
+  PATHS ${Allegro50_PKGCONF_INCLUDE_DIRS}
+)
+
+# message("include dir: ${Allegro50_INCLUDE_DIR}")
+
+# Names of all libraries in Allegro, without versions
+set(ALLEGRO50_ALL_LIBRARIES
+  allegro allegro_image allegro_font
+  allegro_primitives allegro_ttf allegro_audio
+  allegro_dialog allegro_memfile allegro_acodec
+  allegro_color allegro_main allegro_physfs
+)
+
+# set(ALLEGRO50_LIBRARIES "")
+
+# Find all libraries to link 
+foreach(ALLEGRO50_ONE_LIBRARY ${ALLEGRO50_ALL_LIBRARIES})
+  # message("${ALLEGRO50_ONE_LIBRARY}")
+  find_library("${ALLEGRO50_ONE_LIBRARY}_AID" "${ALLEGRO50_ONE_LIBRARY}"
+  ${Allegro50_PKGCONF_LIBRARY_DIRS}
+  )  
+  set(Allegro50_LIBRARIES
+   "${Allegro50_LIBRARIES}" "${${ALLEGRO50_ONE_LIBRARY}_AID}")
+  # MESSAGE("${Allegro50_LIBRARIES}")
+endforeach(ALLEGRO50_ONE_LIBRARY)
+# Remove first empty erroneous "library"
+list(REMOVE_AT Allegro50_LIBRARIES 0)
+# MESSAGE("${Allegro50_LIBRARIES}")
+# message("${ALLEGRO50_LIBRARIES}")
+# allegro_image allegro_font allegro_primitives
+#   allegro_ttf allegro_audio allegro_dialog allegro_acodec
+#   allegro_color allegro_main allegro_physfs
+
+
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+set(ALLEGRO_INCLUDE_DIR "${Allegro50_INCLUDE_DIR}")
+set(ALLEGRO_LIBRARIES "${Allegro50_LIBRARIES}")
+# libfind_process(Allegro50)
+
+# MESSAGE("all libs: ${ALLEGRO_LIBRARIES}")
+# MESSAGE("all include: ${ALLEGRO_INCLUDE_DIR}")
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Allegro50 DEFAULT_MSG ALLEGRO_LIBRARIES ALLEGRO_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(ALLEGRO_INCLUDE_DIR ALLEGRO_LIBRARIES)
+
+
+
+# MESSAGE("${ALLEGRO_LIBRARIES}")

+ 61 - 0
cmake/FindAllegro51.cmake

@@ -0,0 +1,61 @@
+find_package(PkgConfig)
+
+# Find main allegro and assume the rest is there too
+pkg_check_modules(Allegro51_PKGCONF allegro-5.1)
+
+# MESSAGE("lib: ${Allegro51_PKGCONF_LIBRARY_DIRS}")
+# MESSAGE("include: ${Allegro51_PKGCONF_INCLUDE_DIRS}")
+
+# Include dir
+find_path(Allegro51_INCLUDE_DIR
+  NAMES allegro5/allegro5.h
+  PATHS ${Allegro51_PKGCONF_INCLUDE_DIRS}
+)
+
+# message("include dir: ${Allegro51_INCLUDE_DIR}")
+
+# Names of all libraries in Allegro, without versions
+set(ALLEGRO51_ALL_LIBRARIES
+  allegro allegro_image allegro_font
+  allegro_primitives allegro_ttf allegro_audio
+  allegro_dialog allegro_memfile allegro_acodec
+  allegro_color allegro_main allegro_physfs
+)
+
+# set(ALLEGRO51_LIBRARIES "")
+
+# Find all libraries to link 
+foreach(ALLEGRO51_ONE_LIBRARY ${ALLEGRO51_ALL_LIBRARIES})
+  # message("${ALLEGRO51_ONE_LIBRARY}")
+  find_library("${ALLEGRO51_ONE_LIBRARY}_AID" "${ALLEGRO51_ONE_LIBRARY}"
+  ${Allegro51_PKGCONF_LIBRARY_DIRS}
+  )  
+  set(Allegro51_LIBRARIES
+   "${Allegro51_LIBRARIES}" "${${ALLEGRO51_ONE_LIBRARY}_AID}")
+  # MESSAGE("${Allegro51_LIBRARIES}")
+endforeach(ALLEGRO51_ONE_LIBRARY)
+# Remove first empty erroneous "library"
+list(REMOVE_AT Allegro51_LIBRARIES 0)
+# MESSAGE("${Allegro51_LIBRARIES}")
+# message("${ALLEGRO51_LIBRARIES}")
+# allegro_image allegro_font allegro_primitives
+#   allegro_ttf allegro_audio allegro_dialog allegro_acodec
+#   allegro_color allegro_main allegro_physfs
+
+
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+set(ALLEGRO_INCLUDE_DIR "${Allegro51_INCLUDE_DIR}")
+set(ALLEGRO_LIBRARIES "${Allegro51_LIBRARIES}")
+# libfind_process(Allegro51)
+
+# MESSAGE("all libs: ${ALLEGRO_LIBRARIES}")
+# MESSAGE("all include: ${ALLEGRO_INCLUDE_DIR}")
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Allegro51 DEFAULT_MSG ALLEGRO_LIBRARIES ALLEGRO_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(ALLEGRO_INCLUDE_DIR ALLEGRO_LIBRARIES)
+
+
+
+# MESSAGE("${ALLEGRO_LIBRARIES}")

+ 72 - 0
cmake/FindChipmunk.cmake

@@ -0,0 +1,72 @@
+# Locate Chipmunk physics library
+# This module defines
+# CHIPMUNK_FOUND, if false, do not try to link to Lua 
+# CHIPMUNK_LIBRARIES
+# CHIPMNK_INCLUDE_DIR, where to find chipmunk.h 
+#
+# Note that the expected include convention is
+#  #include <chipmunk.h>
+# and not
+#  #include <chipmunk/chipmunk.h>
+# This is because, the chipmunk location is not standardized and may exist
+# in locations other than chipmunk/
+
+#=============================================================================
+# Copyright 2012, Beoran beoran@rubyforge.org.
+#
+# License: you just do whatever you want with this file. 
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+#=============================================================================
+
+FIND_PATH(CHIPMUNK_INCLUDE_DIR chipmunk.h
+  HINTS
+  $ENV{CHIPMUNK_DIR}
+  PATH_SUFFIXES include/chipmunk include
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /usr/local
+  /usr
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+  /opt
+)
+
+FIND_LIBRARY(CHIPMUNK_LIBRARY 
+  NAMES chipmunk
+  HINTS
+  $ENV{CHIPMUNK_DIR}
+  PATH_SUFFIXES lib64 lib
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /usr/local
+  /usr
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+
+IF(CHIPMUNK_LIBRARY)
+  # include the math library for Unix
+  IF(UNIX AND NOT APPLE)
+    FIND_LIBRARY(CHIPMUNK_MATH_LIBRARY m)
+    SET(CHIPMUNK_LIBRARIES "${CHIPMUNK_LIBRARY};${CHIPMUNK_MATH_LIBRARY}" CACHE STRING "Chipmunk Libraries")
+  # For Windows and Mac, don't need to explicitly include the math library
+  ELSE(UNIX AND NOT APPLE)
+    SET( CHIPMUNK_LIBRARIES "${CHIPMUNK_LIBRARY}" CACHE STRING "Chipmunk Libraries")
+  ENDIF(UNIX AND NOT APPLE)
+ENDIF(CHIPMUNK_LIBRARY)
+
+INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# handle the QUIETLY and REQUIRED arguments and set CHIPMUNK_FOUND to TRUE if 
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Chipmunk DEFAULT_MSG CHIPMUNK_LIBRARIES CHIPMUNK_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(CHIPMUNK_INCLUDE_DIR CHIPMUNK_LIBRARIES CHIPMUNK_LIBRARY CHIPMUNK_MATH_LIBRARY)
+

+ 75 - 0
cmake/FindLua52.cmake

@@ -0,0 +1,75 @@
+# Locate Lua library
+# This module defines
+#  LUA52_FOUND, if false, do not try to link to Lua 
+#  LUA_LIBRARIES
+#  LUA_INCLUDE_DIR, where to find lua.h 
+#
+# Note that the expected include convention is
+#  #include "lua.h"
+# and not
+#  #include <lua/lua.h>
+# This is because, the lua location is not standardized and may exist
+# in locations other than lua/
+
+#=============================================================================
+# Copyright 2007-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+FIND_PATH(LUA_INCLUDE_DIR lua.h
+  HINTS
+  $ENV{LUA_DIR}
+  PATH_SUFFIXES include/lua52 include/lua5.2 include/lua include
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /usr/local
+  /usr
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+  /opt
+)
+
+FIND_LIBRARY(LUA_LIBRARY 
+  NAMES lua52 lua5.2 lua-5.2 lua
+  HINTS
+  $ENV{LUA_DIR}
+  PATH_SUFFIXES lib64 lib
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /usr/local
+  /usr
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+
+IF(LUA_LIBRARY)
+  # include the math library for Unix
+  IF(UNIX AND NOT APPLE)
+    FIND_LIBRARY(LUA_MATH_LIBRARY m)
+    SET( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
+  # For Windows and Mac, don't need to explicitly include the math library
+  ELSE(UNIX AND NOT APPLE)
+    SET( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
+  ENDIF(UNIX AND NOT APPLE)
+ENDIF(LUA_LIBRARY)
+
+INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if 
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua52  DEFAULT_MSG  LUA_LIBRARIES LUA_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
+

+ 76 - 0
cmake/FindMruby.cmake

@@ -0,0 +1,76 @@
+# Locate Lua library
+# This module defines
+#  MRUBY_FOUND, if false, do not try to link to mruby
+#  MRUBY_LIBRARIES
+#  MRUBY_INCLUDE_DIR, where to find mruby.h 
+#
+# Copyright (c) beoran@rubyforge.org 2012
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+FIND_PATH(MRUBY_INCLUDE_DIR mruby.h
+  HINTS
+  $ENV{MRUBY_DIR}
+  PATH_SUFFIXES include/mruby include
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /usr/local
+  /usr
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+  /opt
+)
+
+FIND_LIBRARY(MRUBY_LIBRARY 
+  NAMES libmruby.a mruby.lib
+  HINTS
+  $ENV{MRUBY_DIR}
+  PATH_SUFFIXES lib64 lib
+  PATHS
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /usr/local
+  /usr
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+)
+
+IF(MRUBY_LIBRARY)
+  # include the math library for Unix
+  IF(UNIX AND NOT APPLE)
+    FIND_LIBRARY(MRUBY_MATH_LIBRARY m)
+    SET(MRUBY_LIBRARIES "${MRUBY_LIBRARY};${MRUBY_MATH_LIBRARY}" CACHE STRING "MRuby Libraries")
+  # For Windows and Mac, don't need to explicitly include the math library
+  ELSE(UNIX AND NOT APPLE)
+    SET(MRUBY_LIBRARIES "${MRUBY_LIBRARY}" CACHE STRING "MRuby Libraries")
+  ENDIF(UNIX AND NOT APPLE)
+ENDIF(MRUBY_LIBRARY)
+
+INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# handle the QUIETLY and REQUIRED arguments and set MRUBY_FOUND to TRUE if 
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Mruby  DEFAULT_MSG MRUBY_LIBRARIES MRUBY_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(MRUBY_INCLUDE_DIR MRUBY_LIBRARIES MRUBY_LIBRARY MRUBY_MATH_LIBRARY)
+

+ 260 - 0
cmake/FindPackageHandleStandardArgs.cmake

@@ -0,0 +1,260 @@
+# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> ... )
+#
+# This function is intended to be used in FindXXX.cmake modules files.
+# It handles the REQUIRED, QUIET and version-related arguments to FIND_PACKAGE().
+# It also sets the <UPPERCASED_NAME>_FOUND variable.
+# The package is considered found if all variables <var1>... listed contain
+# valid results, e.g. valid filepaths.
+#
+# There are two modes of this function. The first argument in both modes is
+# the name of the Find-module where it is called (in original casing).
+#
+# The first simple mode looks like this:
+#    FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> (DEFAULT_MSG|"Custom failure message") <var1>...<varN> )
+# If the variables <var1> to <varN> are all valid, then <UPPERCASED_NAME>_FOUND
+# will be set to TRUE.
+# If DEFAULT_MSG is given as second argument, then the function will generate
+# itself useful success and error messages. You can also supply a custom error message
+# for the failure case. This is not recommended.
+#
+# The second mode is more powerful and also supports version checking:
+#    FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS <var1>...<varN>]
+#                                           [VERSION_VAR   <versionvar>
+#                                           [CONFIG_MODE]
+#                                           [FAIL_MESSAGE "Custom failure message"] )
+#
+# As above, if <var1> through <varN> are all valid, <UPPERCASED_NAME>_FOUND
+# will be set to TRUE.
+# After REQUIRED_VARS the variables which are required for this package are listed.
+# Following VERSION_VAR the name of the variable can be specified which holds
+# the version of the package which has been found. If this is done, this version
+# will be checked against the (potentially) specified required version used
+# in the find_package() call. The EXACT keyword is also handled. The default
+# messages include information about the required version and the version
+# which has been actually found, both if the version is ok or not.
+# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for
+# a find_package(... NO_MODULE) call, in this case all the information
+# provided by the config-mode of find_package() will be evaluated
+# automatically.
+# Via FAIL_MESSAGE a custom failure message can be specified, if this is not
+# used, the default message will be displayed.
+#
+# Example for mode 1:
+#
+#    FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2  DEFAULT_MSG  LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
+#
+# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and
+# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
+# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
+# independent whether QUIET was used or not.
+# If it is found, success will be reported, including the content of <var1>.
+# On repeated Cmake runs, the same message won't be printed again.
+#
+# Example for mode 2:
+#
+#    FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON  REQUIRED_VARS BISON_EXECUTABLE
+#                                             VERSION_VAR BISON_VERSION)
+# In this case, BISON is considered to be found if the variable(s) listed
+# after REQUIRED_VAR are all valid, i.e. BISON_EXECUTABLE in this case.
+# Also the version of BISON will be checked by using the version contained
+# in BISON_VERSION.
+# Since no FAIL_MESSAGE is given, the default messages will be printed.
+#
+# Another example for mode 2:
+#
+#    FIND_PACKAGE(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
+#    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Automoc4  CONFIG_MODE)
+# In this case, FindAutmoc4.cmake wraps a call to FIND_PACKAGE(Automoc4 NO_MODULE)
+# and adds an additional search directory for automoc4.
+# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
+# success/error message.
+
+#=============================================================================
+# Copyright 2007-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+INCLUDE(FindPackageMessage)
+INCLUDE(CMakeParseArguments)
+
+# internal helper macro
+MACRO(_FPHSA_FAILURE_MESSAGE _msg)
+  IF (${_NAME}_FIND_REQUIRED)
+    MESSAGE(FATAL_ERROR "${_msg}")
+  ELSE (${_NAME}_FIND_REQUIRED)
+    IF (NOT ${_NAME}_FIND_QUIETLY)
+      MESSAGE(STATUS "${_msg}")
+    ENDIF (NOT ${_NAME}_FIND_QUIETLY)
+  ENDIF (${_NAME}_FIND_REQUIRED)
+ENDMACRO(_FPHSA_FAILURE_MESSAGE _msg)
+
+
+# internal helper macro to generate the failure message when used in CONFIG_MODE:
+MACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+  # <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
+  IF(${_NAME}_CONFIG)
+    _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
+  ELSE(${_NAME}_CONFIG)
+    # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
+    # List them all in the error message:
+    IF(${_NAME}_CONSIDERED_CONFIGS)
+      SET(configsText "")
+      LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
+      MATH(EXPR configsCount "${configsCount} - 1")
+      FOREACH(currentConfigIndex RANGE ${configsCount})
+        LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
+        LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
+        SET(configsText "${configsText}    ${filename} (version ${version})\n")
+      ENDFOREACH(currentConfigIndex)
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
+
+    ELSE(${_NAME}_CONSIDERED_CONFIGS)
+      # Simple case: No Config-file was found at all:
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
+    ENDIF(${_NAME}_CONSIDERED_CONFIGS)
+  ENDIF(${_NAME}_CONFIG)
+ENDMACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+
+
+FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
+
+# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
+# new extended or in the "old" mode:
+  SET(options CONFIG_MODE)
+  SET(oneValueArgs FAIL_MESSAGE VERSION_VAR)
+  SET(multiValueArgs REQUIRED_VARS)
+  SET(_KEYWORDS_FOR_EXTENDED_MODE  ${options} ${oneValueArgs} ${multiValueArgs} )
+  LIST(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
+
+  IF(${INDEX} EQUAL -1)
+    SET(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
+    SET(FPHSA_REQUIRED_VARS ${ARGN})
+    SET(FPHSA_VERSION_VAR)
+  ELSE(${INDEX} EQUAL -1)
+
+    CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${_FIRST_ARG} ${ARGN})
+
+    IF(FPHSA_UNPARSED_ARGUMENTS)
+      MESSAGE(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
+    ENDIF(FPHSA_UNPARSED_ARGUMENTS)
+
+    IF(NOT FPHSA_FAIL_MESSAGE)
+      SET(FPHSA_FAIL_MESSAGE  "DEFAULT_MSG")
+    ENDIF(NOT FPHSA_FAIL_MESSAGE)
+  ENDIF(${INDEX} EQUAL -1)
+
+# now that we collected all arguments, process them
+
+  IF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
+    SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
+  ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
+
+  # In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
+  # when it successfully found the config-file, including version checking:
+  IF(FPHSA_CONFIG_MODE)
+    LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
+    LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
+    SET(FPHSA_VERSION_VAR ${_NAME}_VERSION)
+  ENDIF(FPHSA_CONFIG_MODE)
+
+  IF(NOT FPHSA_REQUIRED_VARS)
+    MESSAGE(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
+  ENDIF(NOT FPHSA_REQUIRED_VARS)
+
+  LIST(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
+
+  STRING(TOUPPER ${_NAME} _NAME_UPPER)
+  STRING(TOLOWER ${_NAME} _NAME_LOWER)
+
+  # collect all variables which were not found, so they can be printed, so the
+  # user knows better what went wrong (#6375)
+  SET(MISSING_VARS "")
+  SET(DETAILS "")
+  SET(${_NAME_UPPER}_FOUND TRUE)
+  # check if all passed variables are valid
+  FOREACH(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
+    IF(NOT ${_CURRENT_VAR})
+      SET(${_NAME_UPPER}_FOUND FALSE)
+      SET(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
+    ELSE(NOT ${_CURRENT_VAR})
+      SET(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
+    ENDIF(NOT ${_CURRENT_VAR})
+  ENDFOREACH(_CURRENT_VAR)
+
+
+  # version handling:
+  SET(VERSION_MSG "")
+  SET(VERSION_OK TRUE)
+  SET(VERSION ${${FPHSA_VERSION_VAR}} )
+  IF (${_NAME}_FIND_VERSION)
+
+    IF(VERSION)
+
+      IF(${_NAME}_FIND_VERSION_EXACT)       # exact version required
+        IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
+          SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
+          SET(VERSION_OK FALSE)
+        ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
+          SET(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
+        ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
+
+      ELSE(${_NAME}_FIND_VERSION_EXACT)     # minimum version specified:
+        IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
+          SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
+          SET(VERSION_OK FALSE)
+        ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
+          SET(VERSION_MSG "(found suitable version \"${VERSION}\", required is \"${${_NAME}_FIND_VERSION}\")")
+        ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
+      ENDIF(${_NAME}_FIND_VERSION_EXACT)
+
+    ELSE(VERSION)
+
+      # if the package was not found, but a version was given, add that to the output:
+      IF(${_NAME}_FIND_VERSION_EXACT)
+         SET(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
+      ELSE(${_NAME}_FIND_VERSION_EXACT)
+         SET(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
+      ENDIF(${_NAME}_FIND_VERSION_EXACT)
+
+    ENDIF(VERSION)
+  ELSE (${_NAME}_FIND_VERSION)
+    IF(VERSION)
+      SET(VERSION_MSG "(found version \"${VERSION}\")")
+    ENDIF(VERSION)
+  ENDIF (${_NAME}_FIND_VERSION)
+
+  IF(VERSION_OK)
+    SET(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
+  ELSE(VERSION_OK)
+    SET(${_NAME_UPPER}_FOUND FALSE)
+  ENDIF(VERSION_OK)
+
+
+  # print the result:
+  IF (${_NAME_UPPER}_FOUND)
+    FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG}" "${DETAILS}")
+  ELSE (${_NAME_UPPER}_FOUND)
+
+    IF(FPHSA_CONFIG_MODE)
+      _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
+    ELSE(FPHSA_CONFIG_MODE)
+      IF(NOT VERSION_OK)
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
+      ELSE(NOT VERSION_OK)
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}")
+      ENDIF(NOT VERSION_OK)
+    ENDIF(FPHSA_CONFIG_MODE)
+
+  ENDIF (${_NAME_UPPER}_FOUND)
+
+  SET(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE)
+
+ENDFUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _FIRST_ARG)

+ 99 - 0
cmake/LibFindMacros.cmake

@@ -0,0 +1,99 @@
+# Works the same as find_package, but forwards the "REQUIRED" and "QUIET" arguments
+# used for the current package. For this to work, the first parameter must be the
+# prefix of the current package, then the prefix of the new package etc, which are
+# passed to find_package.
+macro (libfind_package PREFIX)
+  set (LIBFIND_PACKAGE_ARGS ${ARGN})
+  if (${PREFIX}_FIND_QUIETLY)
+    set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} QUIET)
+  endif (${PREFIX}_FIND_QUIETLY)
+  if (${PREFIX}_FIND_REQUIRED)
+    set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} REQUIRED)
+  endif (${PREFIX}_FIND_REQUIRED)
+  find_package(${LIBFIND_PACKAGE_ARGS})
+endmacro (libfind_package)
+
+# CMake developers made the UsePkgConfig system deprecated in the same release (2.6)
+# where they added pkg_check_modules. Consequently I need to support both in my scripts
+# to avoid those deprecated warnings. Here's a helper that does just that.
+# Works identically to pkg_check_modules, except that no checks are needed prior to use.
+macro (libfind_pkg_check_modules PREFIX PKGNAME)
+  if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+    include(UsePkgConfig)
+    pkgconfig(${PKGNAME} ${PREFIX}_INCLUDE_DIRS ${PREFIX}_LIBRARY_DIRS ${PREFIX}_LDFLAGS ${PREFIX}_CFLAGS)
+  else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+    find_package(PkgConfig)
+    if (PKG_CONFIG_FOUND)
+      pkg_check_modules(${PREFIX} ${PKGNAME})
+    endif (PKG_CONFIG_FOUND)
+  endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+endmacro (libfind_pkg_check_modules)
+
+# Do the final processing once the paths have been detected.
+# If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain
+# all the variables, each of which contain one include directory.
+# Ditto for ${PREFIX}_PROCESS_LIBS and library files.
+# Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES.
+# Also handles errors in case library detection was required, etc.
+macro (libfind_process PREFIX)
+  # Skip processing if already processed during this run
+  if (NOT ${PREFIX}_FOUND)
+    # Start with the assumption that the library was found
+    set (${PREFIX}_FOUND TRUE)
+
+    # Process all includes and set _FOUND to false if any are missing
+    foreach (i ${${PREFIX}_PROCESS_INCLUDES})
+      if (${i})
+        set (${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIRS} ${${i}})
+        mark_as_advanced(${i})
+      else (${i})
+        set (${PREFIX}_FOUND FALSE)
+      endif (${i})
+    endforeach (i)
+
+    # Process all libraries and set _FOUND to false if any are missing
+    foreach (i ${${PREFIX}_PROCESS_LIBS})
+      if (${i})
+        set (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARIES} ${${i}})
+        mark_as_advanced(${i})
+      else (${i})
+        set (${PREFIX}_FOUND FALSE)
+      endif (${i})
+    endforeach (i)
+
+    # Print message and/or exit on fatal error
+    if (${PREFIX}_FOUND)
+      if (NOT ${PREFIX}_FIND_QUIETLY)
+        message (STATUS "Found ${PREFIX} ${${PREFIX}_VERSION}")
+      endif (NOT ${PREFIX}_FIND_QUIETLY)
+    else (${PREFIX}_FOUND)
+      if (${PREFIX}_FIND_REQUIRED)
+        foreach (i ${${PREFIX}_PROCESS_INCLUDES} ${${PREFIX}_PROCESS_LIBS})
+          message("${i}=${${i}}")
+        endforeach (i)
+        message (FATAL_ERROR "Required library ${PREFIX} NOT FOUND.\nInstall the library (dev version) and try again. If the library is already installed, use ccmake to set the missing variables manually.")
+      endif (${PREFIX}_FIND_REQUIRED)
+    endif (${PREFIX}_FOUND)
+  endif (NOT ${PREFIX}_FOUND)
+endmacro (libfind_process)
+
+macro(libfind_library PREFIX basename)
+  set(TMP "")
+  if(MSVC80)
+    set(TMP -vc80)
+  endif(MSVC80)
+  if(MSVC90)
+    set(TMP -vc90)
+  endif(MSVC90)
+  set(${PREFIX}_LIBNAMES ${basename}${TMP})
+  if(${ARGC} GREATER 2)
+    set(${PREFIX}_LIBNAMES ${basename}${TMP}-${ARGV2})
+    string(REGEX REPLACE "\\." "_" TMP ${${PREFIX}_LIBNAMES})
+    set(${PREFIX}_LIBNAMES ${${PREFIX}_LIBNAMES} ${TMP})
+  endif(${ARGC} GREATER 2)
+  find_library(${PREFIX}_LIBRARY
+    NAMES ${${PREFIX}_LIBNAMES}
+    PATHS ${${PREFIX}_PKGCONF_LIBRARY_DIRS}
+  )
+endmacro(libfind_library)
+

+ 18 - 0
cmake/mingw32.cmake

@@ -0,0 +1,18 @@
+# Mingw toolchain file for CMake and Ubuntu
+# The name of the target operating system
+SET(CMAKE_SYSTEM_NAME Windows)
+
+# which compilers to use for C and C++
+SET(CMAKE_C_COMPILER /usr/bin/i586-mingw32msvc-gcc)
+SET(CMAKE_CXX_COMPILER /usr/bin/i586-mingw32msvc-g++)
+SET(CMAKE_RC_COMPILER /usr/bin/i586-mingw32msvc-windres)
+
+# here is the target environment located
+SET(CMAKE_FIND_ROOT_PATH  /usr/i586-mingw32msvc /usr/local/i586-mingw32msvc)
+
+# adjust the default behaviour of the FIND_XXX() commands:
+# search headers and libraries in the target environment, search 
+# programs in the host environment
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

+ 3 - 0
data/eruta.conf

@@ -0,0 +1,3 @@
+[Eruta]
+# This is the configuration file of Eruta and Eruma.
+# Currently it is empty, but it allows Eruta to find back it's other files.

BIN
data/font/GranaPadano.ttf


BIN
data/font/unifont.ttf


BIN
data/image/background/bluesky2.jpg


BIN
data/image/background/eruta_logo_640x120.png


BIN
data/image/background/eruta_mainmenu.png


BIN
data/image/background/eruta_mainmenu.xcf


BIN
data/image/gin/ace.png


BIN
data/image/gin/ace_32.png


BIN
data/image/gin/ace_64.png


BIN
data/image/gin/acid-blob.png


BIN
data/image/gin/acid-blob_32.png


BIN
data/image/gin/acid-blob_64.png


BIN
data/image/gin/acorn.png


BIN
data/image/gin/acorn_32.png


BIN
data/image/gin/acorn_64.png


BIN
data/image/gin/aerial-signal.png


BIN
data/image/gin/aerial-signal_32.png


BIN
data/image/gin/aerial-signal_64.png


BIN
data/image/gin/aerosol.png


BIN
data/image/gin/aerosol_32.png


BIN
data/image/gin/aerosol_64.png


BIN
data/image/gin/afterburn.png


BIN
data/image/gin/afterburn_32.png


BIN
data/image/gin/afterburn_64.png


BIN
data/image/gin/alien-skull.png


BIN
data/image/gin/alien-skull_32.png


BIN
data/image/gin/alien-skull_64.png


BIN
data/image/gin/all-for-one.png


BIN
data/image/gin/all-for-one_32.png


BIN
data/image/gin/all-for-one_64.png


BIN
data/image/gin/alligator-clip.png


BIN
data/image/gin/alligator-clip_32.png


BIN
data/image/gin/alligator-clip_64.png


BIN
data/image/gin/ammonite-fossil.png


BIN
data/image/gin/ammonite-fossil_32.png


BIN
data/image/gin/ammonite-fossil_64.png


BIN
data/image/gin/ammonite.png


BIN
data/image/gin/ammonite_32.png


BIN
data/image/gin/ammonite_64.png


BIN
data/image/gin/anatomy.png


BIN
data/image/gin/anatomy_32.png


BIN
data/image/gin/anatomy_64.png


BIN
data/image/gin/anchor.png


BIN
data/image/gin/anchor_32.png


BIN
data/image/gin/anchor_64.png


BIN
data/image/gin/andromeda-chain.png


BIN
data/image/gin/andromeda-chain_32.png


BIN
data/image/gin/andromeda-chain_64.png


BIN
data/image/gin/angel-outfit.png


BIN
data/image/gin/angel-outfit_32.png


BIN
data/image/gin/angel-outfit_64.png


BIN
data/image/gin/angel-wings.png


BIN
data/image/gin/angel-wings_32.png


BIN
data/image/gin/angel-wings_64.png


BIN
data/image/gin/angler-fish.png


BIN
data/image/gin/angler-fish_32.png


BIN
data/image/gin/angler-fish_64.png


BIN
data/image/gin/angular-spider.png


BIN
data/image/gin/angular-spider_32.png


BIN
data/image/gin/angular-spider_64.png


BIN
data/image/gin/animal-skull.png


BIN
data/image/gin/animal-skull_32.png


BIN
data/image/gin/animal-skull_64.png


BIN
data/image/gin/ankh.png


BIN
data/image/gin/ankh_32.png


BIN
data/image/gin/ankh_64.png


BIN
data/image/gin/anthem.png


BIN
data/image/gin/anthem_32.png


BIN
data/image/gin/anthem_64.png


BIN
data/image/gin/anvil-impact.png


BIN
data/image/gin/anvil-impact_32.png


BIN
data/image/gin/anvil-impact_64.png


BIN
data/image/gin/anvil.png


BIN
data/image/gin/anvil_32.png


BIN
data/image/gin/anvil_64.png


BIN
data/image/gin/apple-maggot.png


BIN
data/image/gin/apple-maggot_32.png


BIN
data/image/gin/apple-maggot_64.png


BIN
data/image/gin/apple-seeds.png


BIN
data/image/gin/apple-seeds_32.png


BIN
data/image/gin/apple-seeds_64.png


BIN
data/image/gin/aquarius.png


BIN
data/image/gin/aquarius_32.png


BIN
data/image/gin/aquarius_64.png


BIN
data/image/gin/archery-target.png


Some files were not shown because too many files changed in this diff