------------------------------------------------------------------------ -- Copyright (C) 2002,2003 Daniel Heck -- -- This program is free software; you can redistribute it and/or -- modify it under the terms of the GNU General Public License -- as published by the Free Software Foundation; either version 2 -- of the License, or (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License along -- with this program; if not, write to the Free Software Foundation, Inc., -- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -- -- $Id: startup.lua,v 1.1 2003/06/15 10:16:59 dheck Exp $ ------------------------------------------------------------------------ function Require(filename) dofile(enigma.FindDataFile(filename)) end ------------------------------ -- Extensions to C packages -- ------------------------------ function options.LevelStat (key, stat) local status = LevelStatus:new(stat[1], stat[2], stat[3], stat[4] or 0) gsub(key, "([^#]*)#(.+)", function (pack,lev) options.SetLevelStatus(pack,lev, %status) end) status:delete() end ---------------------------------- -- Define some new object types -- ---------------------------------- function def_stone(name, sound) world.DefineSimpleStone(name,sound or "st-stone") end function def_stone_hollow(name) world.DefineSimpleStoneHollow(name) end function def_stone_glass(name, sound) world.DefineSimpleStoneGlass(name,sound or "st-stone") end function def_stone_movable(name, sound) world.DefineSimpleStoneMovable(name,sound or "st-stone") end function def_floor(name, frict, mfactor) world.DefineSimpleFloor(name, frict, mfactor) end def_stone_movable("st-brownie", "st-thud") def_stone("st-invisible") def_stone("st-marble") def_stone_movable("st-marble_move") def_stone_hollow("st-marble_hole") def_stone("st-rock1") def_stone_movable("st-rock1_move") def_stone_hollow("st-rock1_hole") def_stone("st-rock2") def_stone_hollow("st-rock2_hole") def_stone("st-rock3") def_stone_movable("st-rock3_move") def_stone_hollow("st-rock3_hole") def_stone("st-rock4") def_stone("st-rock5") def_stone("st-rock6") def_stone("st-rock7") def_stone("st-greenbrown") def_stone_movable("st-greenbrown_move") def_stone_hollow("st-greenbrown_hole") def_stone("st-brick") def_stone("st-woven") def_stone("st-wood_001") def_stone("st-bluegray") def_stone_hollow("st-bluegray_hole") def_stone("st-stone1") def_stone("st-stone2") def_stone("st-beads") def_stone_glass("st-glass") def_stone_glass("st-glass1") def_stone_hollow("st-glass1_hole") def_stone_glass("st-glass2") def_stone_hollow("st-glass2_hole") def_stone_glass("st-glass3") def_stone_hollow("st-grate1") def_stone_hollow("st-grate2") -- Floor(kind, friction, mousefactor) def_floor("fl-bluegray", 4.5, 1.5) def_floor("fl-bluegreen", 6.0, 2.0) def_floor("fl-bluegreenx", 0.4, 1.0) def_floor("fl-brick", 4.0, 2.0) def_floor("fl-concrete", 4.5, 1.3) def_floor("fl-dummy", 4.0, 2.5) def_floor("fl-dunes", 1.3, 1.0) def_floor("fl-floor_001", 1.5, 2.5) def_floor("fl-gravel", 3.2, 1.5) def_floor("fl-gray", 5.0, 3.0) def_floor("fl-hay", 5.0, 1.5) def_floor("fl-himalaya", 5.0, 2.0) def_floor("fl-ice_001", 0.1, 0.1) def_floor("fl-inverse", 3.0, -2.0) def_floor("fl-leaves", 4.0, 1.5) def_floor("fl-marble", 6.4, 2.0) def_floor("fl-metal", 3.0, 2.0) def_floor("fl-normal", 4.0, 2.0) def_floor("fl-normal_x", 3.0, 2.0) def_floor("fl-plank", 5.5, 2.0) def_floor("fl-red", 0.9, 1.0) def_floor("fl-rock", 3.0, 1.5) def_floor("fl-rough", 7.0, 2.0) def_floor("fl-rough-blue", 7.0, 2.0) def_floor("fl-rough-red", 7.0, 2.0) def_floor("fl-sahara", 6.4, 2.0) def_floor("fl-samba", 6.0, 2.0) def_floor("fl-sand", 6.0, 2.0) def_floor("fl-space", 0.0, 0.0) def_floor("fl-springboard", 4.0, 2.0) def_floor("fl-stone", 1.4, 1.0) --def_floor("fl-swamp", 12.0, 0.7) def_floor("fl-tigris", 6.0, 2.0) def_floor("fl-wood", 6.4, 2.0) def_floor("fl-woven", 6.5, 3.0)