diff --git a/stepmania/Themes/default/Scripts/Enum.lua b/stepmania/Themes/default/Scripts/Enum.lua new file mode 100644 index 0000000000..41cc74a6c0 --- /dev/null +++ b/stepmania/Themes/default/Scripts/Enum.lua @@ -0,0 +1,38 @@ +function Enum:Compare( e1, e2 ) + local Reverse = self:Reverse(); + local Value1 = Reverse[e1]; + local Value2 = Reverse[e2]; + + assert( Value1, tostring(e1) .. " is not an enum of type " .. self:GetName() ); + assert( Value2, tostring(e2) .. " is not an enum of type " .. self:GetName() ); + + -- Nil enums correspond to "invalid". These compare greater + -- than any valid enum value, to line up with the equivalent + -- C++ code. + if not e1 then Value1 = 99999999 end; + if not e2 then Value2 = 99999999 end; + return Value1 - Value2; +end + +-- (c) 2006 Glenn Maynard +-- All rights reserved. +-- +-- 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, and/or sell copies of the Software, and to permit persons to +-- whom the Software is furnished to do so, provided that the above +-- copyright notice(s) and this permission notice appear in all copies of +-- the Software and that both the above copyright notice(s) and this +-- permission notice appear in supporting documentation. +-- +-- 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 OF +-- THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS +-- INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT +-- OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +-- OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +-- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +-- PERFORMANCE OF THIS SOFTWARE.