Difference between revisions of "Deponia Based Sliding Interface (CMS)"

From The Official Visionaire Studio: Adventure Game Engine Wiki
m
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{| class="wikitable" style="width:100%"
+
{| class="ts" style="width:100%"
 
|-
 
|-
! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By
+
! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By {{lee_PP}}
 
|-
 
|-
 
| Deponia Based Sliding Interface || Definition || AFRLme
 
| Deponia Based Sliding Interface || Definition || AFRLme
Line 7: Line 7:
  
 
This script allows you to slide interfaces in - or out - from any direction, on hover or via the mouse wheel.
 
This script allows you to slide interfaces in - or out - from any direction, on hover or via the mouse wheel.
 
'''''* this page is a work in progress *'''''
 
  
 
== Instructions ==
 
== Instructions ==
Line 14: Line 12:
 
2. Replace ''inventory'' with whatever name you gave your interface; names are case sensitive.
 
2. Replace ''inventory'' with whatever name you gave your interface; names are case sensitive.
 
<syntaxhighlight>
 
<syntaxhighlight>
local getInterface = getObject("Interfaces[add interface name here]")
+
local getInterface = getObject("Interfaces[inventory]")
 
</syntaxhighlight>
 
</syntaxhighlight>
 
3a. Edit ''minOffset'' x & y values; these should reflect initial starting point of the interface.
 
3a. Edit ''minOffset'' x & y values; these should reflect initial starting point of the interface.
Line 43: Line 41:
 
local slideDirection = 4 -- from bottom
 
local slideDirection = 4 -- from bottom
 
</syntaxhighlight>
 
</syntaxhighlight>
6. Create a new ''definition'' script & add the [[#Event_Script|event script]] to it; see [[RegisterEventHandler_(CMS)|registerEventHandler()]] for more information, in regards to event handlers & listeners.
+
6. Create a new ''definition'' script & add the [[#Event_Script|event script]] to it; see [[RegisterEventHandler_(CMS)|registerEventHandler()]] for more information, in regards to event handlers & listeners.<br/>
 +
7. Create '''hover''', '''mwheel''', & '''mwtoggle''' conditions inside of the conditions tab of the interface you intend to slide & set all of them to false.<br/>
 +
8a. Create a button for your interface, move to bottom of list, set button as '''action area''', set object area around the part that will trigger interface slide out on hover.<br/>
 +
8b. Add a mouse enter action to the button containing these action parts...
 +
<syntaxhighlight>
 +
if condition 'mwheel' is false
 +
change condition 'hover' to true
 +
end if
 +
</syntaxhighlight>
 +
9. Inside of the ''properties'' tab for the interface, add this action part to the '''action on leaving''' action...
 +
<syntaxhighlight>
 +
change condition 'hover' to false
 +
</syntaxhighlight>
 +
10. To toggle mouse wheel mode, you need to create an object in your options menu or a key input command containing...
 +
<syntaxhighlight>
 +
if condition 'mwheel' is false
 +
change condition 'mwheel' to true
 +
pause for 10 milliseconds
 +
execute a script 'mwMode()'
 +
else
 +
change condition 'mwheel' to false
 +
pause for 10 milliseconds
 +
execute a script 'mwMode()'
 +
end if
 +
</syntaxhighlight>
 +
11. To toggle between interface open/close on mouse wheel up or down, you need to create an object in your options menu or a key input command containing...
 +
<syntaxhighlight>
 +
if condition 'mwtoggle' is false
 +
change condition 'mwtoggle' to true
 +
else
 +
change condition 'mwtoggle' to false
 +
end if
 +
</syntaxhighlight>
  
 
== Main Script ==
 
== Main Script ==
 
<syntaxhighlight>
 
<syntaxhighlight>
 
--[[
 
--[[
Deponia Based Sliding Interface [v3] (18/03/2013)
+
Deponia Based Sliding Interface [v4] (18/03/2013)
 
Written by AFRLme [Lee Clarke]
 
Written by AFRLme [Lee Clarke]
 
-- + --
 
-- + --
Line 71: Line 101:
 
local slideDirection = 1 -- set direction interface should slide from (1 = left, 2 = top, 3 = right, 4 = bottom)  
 
local slideDirection = 1 -- set direction interface should slide from (1 = left, 2 = top, 3 = right, 4 = bottom)  
  
local mwUp = 0 -- this controls if mouse wheel up or down has been executed; by default "0" = nil (!important: do not edit)
+
local hover = getObject("Conditions[hover]") -- store hover condition
 +
local mwheel = getObject("Conditions[mwheel]") -- store mouse mwheel condition
 +
 
 +
-- * global variables * --
 +
mwUp = 0 -- this controls if mouse wheel up or down has been executed; by default "0" = nil (!important: do not edit)
  
 
-- * function that moves the linked interface * --
 
-- * function that moves the linked interface * --
 
function intSlide()
 
function intSlide()
conds = {} -- create a blank table called "conds" ...
 
conds["_temporary_"] = "" -- sets table to temporary; in other words: no data is stored in VS save games!
 
conds[1] = getObject("Conditions[slide?]"):getBool(VConditionValue) -- check condition of "slide?"
 
conds[2] = getObject("Conditions[mwheel?]"):getBool(VConditionValue) -- check condition of "mwheel?"
 
 
  -- * let's create the on mouse over code * --
 
  -- * let's create the on mouse over code * --
  if conds[1] and not conds[2] then -- check if "slide?" = true & "mwheel?" = false
+
  if hover:getBool(VConditionValue) and not mwheel:getBool(VConditionValue) then -- check if "hover" = true & "mwheel" = false
 
   if mwUp ~= 0 then mwUp = 0 end -- check if mouse wheel is active; if it is, then set inactive
 
   if mwUp ~= 0 then mwUp = 0 end -- check if mouse wheel is active; if it is, then set inactive
 
   -- * let's slide the x position of the interface based on slideDirection (out) * --
 
   -- * let's slide the x position of the interface based on slideDirection (out) * --
Line 92: Line 122:
 
   if (slideDirection == 3 or slideDirection == 4) and checkOffset.y > maxOffset.y then checkOffset.y = checkOffset.y - outSpeed setIntPos()  end
 
   if (slideDirection == 3 or slideDirection == 4) and checkOffset.y > maxOffset.y then checkOffset.y = checkOffset.y - outSpeed setIntPos()  end
 
   if (slideDirection == 3 or slideDirection == 4) and checkOffset.y < maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
 
   if (slideDirection == 3 or slideDirection == 4) and checkOffset.y < maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
  elseif not conds[1] and not conds[2] then
+
  elseif not hover:getBool(VConditionValue) and not mwheel:getBool(VConditionValue) then
 
   if mwUp ~= 0 then mwUp = 0 end -- check if mouse wheel is active; if it is, then set inactive
 
   if mwUp ~= 0 then mwUp = 0 end -- check if mouse wheel is active; if it is, then set inactive
 
   -- * let's slide the x position of the interface based on slideDirection (in) * --
 
   -- * let's slide the x position of the interface based on slideDirection (in) * --
Line 106: Line 136:
 
  end
 
  end
 
  -- * let's create the mouse wheel code * --
 
  -- * let's create the mouse wheel code * --
  if not conds[1] and mwUp == 1 then -- check if mouse wheel up has been rotated
+
  if not hover:getBool(VConditionValue) and mwheel:getBool(VConditionValue) and mwUp == 1 then -- check if mouse wheel up has been rotated
 
   -- * let's slide the x position of the interface based on slideDirection (out) * --
 
   -- * let's slide the x position of the interface based on slideDirection (out) * --
 
   if (slideDirection == 1 or slideDirection == 2) and checkOffset.x < maxOffset.x then checkOffset.x = checkOffset.x + outSpeed setIntPos() end
 
   if (slideDirection == 1 or slideDirection == 2) and checkOffset.x < maxOffset.x then checkOffset.x = checkOffset.x + outSpeed setIntPos() end
Line 118: Line 148:
 
   if (slideDirection == 3 or slideDirection == 4) and checkOffset.y < maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
 
   if (slideDirection == 3 or slideDirection == 4) and checkOffset.y < maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
 
  end
 
  end
  if not conds[1] and mwUp == 2 then -- check if mouse wheel down has been rotated
+
  if not hover:getBool(VConditionValue) and mwheel:getBool(VConditionValue) and mwUp == 2 then -- check if mouse wheel down has been rotated
 
   -- * let's slide the x position of the interface based on slideDirection (in) * --
 
   -- * let's slide the x position of the interface based on slideDirection (in) * --
 
   if slideDirection == 1 and checkOffset.x > minOffset.x - mwOffset then checkOffset.x = checkOffset.x - inSpeed setIntPos() end
 
   if slideDirection == 1 and checkOffset.x > minOffset.x - mwOffset then checkOffset.x = checkOffset.x - inSpeed setIntPos() end
Line 138: Line 168:
 
   if slideDirection == 4 and checkOffset.y > minOffset.y + mwOffset then checkOffset.y = minOffset.y + mwOffset setIntPos() end
 
   if slideDirection == 4 and checkOffset.y > minOffset.y + mwOffset then checkOffset.y = minOffset.y + mwOffset setIntPos() end
 
  end
 
  end
end -- end intSlide()
+
end
  
 
  -- * updates the current position of the interface * --
 
  -- * updates the current position of the interface * --
Line 147: Line 177:
 
-- * let's check if mouse wheel mode = true; if true then hide the interface else overlap interface slightly * --
 
-- * let's check if mouse wheel mode = true; if true then hide the interface else overlap interface slightly * --
 
function mwMode()
 
function mwMode()
  if conds[2] then
+
  if mwheel:getBool(VConditionValue) then
 
   if slideDirection == 1 then checkOffset = {x = minOffset.x - mwOffset, y = minOffset.y} setIntPos() end
 
   if slideDirection == 1 then checkOffset = {x = minOffset.x - mwOffset, y = minOffset.y} setIntPos() end
 
   if slideDirection == 2 then checkOffset = {x = minOffset.x, y = minOffset.y - mwOffset} setIntPos() end
 
   if slideDirection == 2 then checkOffset = {x = minOffset.x, y = minOffset.y - mwOffset} setIntPos() end
Line 168: Line 198:
 
-- * this is the mouse event listener! (all mouse events & functions should be added or linked here) * --
 
-- * this is the mouse event listener! (all mouse events & functions should be added or linked here) * --
 
function onMouseEvent(eventType)
 
function onMouseEvent(eventType)
  if not getObject("Conditions[mwtoggle?]"):getBool(VConditionValue) then -- if toggle is false then set default
+
  if not getObject("Conditions[mwtoggle]"):getBool(VConditionValue) then -- if toggle is false then set default
 
   if eventType == eEvtMouseWheelUp then mwUp = 1 end
 
   if eventType == eEvtMouseWheelUp then mwUp = 1 end
 
   if eventType == eEvtMouseWheelDown then mwUp = 2 end
 
   if eventType == eEvtMouseWheelDown then mwUp = 2 end
  else -- inverse mouse wheel
+
  else -- invert mouse wheel
 
   if eventType == eEvtMouseWheelUp then mwUp = 2 end
 
   if eventType == eEvtMouseWheelUp then mwUp = 2 end
 
   if eventType == eEvtMouseWheelDown then mwUp = 1 end
 
   if eventType == eEvtMouseWheelDown then mwUp = 1 end
Line 181: Line 211:
 
-- * let's create the loop event handler! * --
 
-- * let's create the loop event handler! * --
 
registerEventHandler("mainLoop", "onMainLoop")
 
registerEventHandler("mainLoop", "onMainLoop")
</syntaxhighlight>
+
</syntaxhighlight>{{toc}}
{{i18n|Deponia_Based_Sliding_Interface_(CMS)}}
 

Latest revision as of 19:25, 6 January 2015

Name Type By

Deponia Based Sliding Interface Definition AFRLme

This script allows you to slide interfaces in - or out - from any direction, on hover or via the mouse wheel.

Instructions

1. Add the main script to the Visionaire Studio Script Editor & set the script as a definition script.
2. Replace inventory with whatever name you gave your interface; names are case sensitive.

local getInterface = getObject("Interfaces[inventory]")

3a. Edit minOffset x & y values; these should reflect initial starting point of the interface.

local minOffset = {x = 0, y = 0}

3b. Edit maxOffset x & y values; these should reflect the destination position for the interface.

local maxOffset = {x = 0, y = 0}

3c. Edit mwOffset value; this should reflect the overlap amount of the interface from screen edge - to hide interface on mouse wheel mode; set 0 to keep overlap.

local mwOffset = 0

4a. Edit inSpeed value; this controls the amount of pixels[squares] the interface should move by on close.

local inSpeed = 1

4b. Edit outSpeed value; this controls the amount of pixels[squares] the interface should move by on open.

local outSpeed = 2

5. Edit slideDirection value; this determines which direction the interface should slide from.

local slideDirection = 1 -- from left
local slideDirection = 2 -- from top
local slideDirection = 3 -- from right
local slideDirection = 4 -- from bottom

6. Create a new definition script & add the event script to it; see registerEventHandler() for more information, in regards to event handlers & listeners.
7. Create hover, mwheel, & mwtoggle conditions inside of the conditions tab of the interface you intend to slide & set all of them to false.
8a. Create a button for your interface, move to bottom of list, set button as action area, set object area around the part that will trigger interface slide out on hover.
8b. Add a mouse enter action to the button containing these action parts...

if condition 'mwheel' is false
 change condition 'hover' to true
end if

9. Inside of the properties tab for the interface, add this action part to the action on leaving action...

change condition 'hover' to false

10. To toggle mouse wheel mode, you need to create an object in your options menu or a key input command containing...

if condition 'mwheel' is false
 change condition 'mwheel' to true
 pause for 10 milliseconds
 execute a script 'mwMode()'
else
 change condition 'mwheel' to false
 pause for 10 milliseconds
 execute a script 'mwMode()'
end if

11. To toggle between interface open/close on mouse wheel up or down, you need to create an object in your options menu or a key input command containing...

if condition 'mwtoggle' is false
 change condition 'mwtoggle' to true
else
 change condition 'mwtoggle' to false
end if

Main Script

--[[
Deponia Based Sliding Interface [v4] (18/03/2013)
Written by AFRLme [Lee Clarke]
-- + --
alternatingfrequencies@hotmail.com | skype @ AFRLme
-- + --
This script is donation optional. In game credit is non-negotiable.
You are free to: ¹ use it in your game(s). ² modify the script.
Do not remove - or edit - this comment block.
--]]

-- * local variables * --
local getInterface = getObject("Interfaces[inventory]") -- stores interface into a variable (replace "inventory" with your interface name)

local minOffset = {x = 0, y = 0} -- replace min offset values with current x,y absolute position of your interface
local maxOffset = {x = 0, y = 0} -- replace max offset values with the x,y values that you want the interface to slide to
local mwOffset = 0 -- this should be same value or slightly larger than the overlap amount of minOffset
local checkOffset = getInterface:getPoint(VInterfaceOffset) -- stores current position of interface on start

local inSpeed = 1 -- replace "1" with x number of squares you want interface to move back to start position on each loop
local outSpeed = 2 -- replace "2" with x number of squares you want interface to move to max position on each loop

local slideDirection = 1 -- set direction interface should slide from (1 = left, 2 = top, 3 = right, 4 = bottom) 

local hover = getObject("Conditions[hover]") -- store hover condition
local mwheel = getObject("Conditions[mwheel]") -- store mouse mwheel condition

-- * global variables * --
mwUp = 0 -- this controls if mouse wheel up or down has been executed; by default "0" = nil (!important: do not edit)

-- * function that moves the linked interface * --
function intSlide()
 -- * let's create the on mouse over code * --
 if hover:getBool(VConditionValue) and not mwheel:getBool(VConditionValue) then -- check if "hover" = true & "mwheel" = false
  if mwUp ~= 0 then mwUp = 0 end -- check if mouse wheel is active; if it is, then set inactive
  -- * let's slide the x position of the interface based on slideDirection (out) * --
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.x < maxOffset.x then checkOffset.x = checkOffset.x + outSpeed setIntPos() end
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.x > maxOffset.x then checkOffset.x = maxOffset.x setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.x > maxOffset.x then checkOffset.x = checkOffset.x - outSpeed setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.x < maxOffset.x then checkOffset.x = maxOffset.x setIntPos() end
  -- * let's slide the y position of the interface based on SlideDirection (out) * --
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.y < maxOffset.y then checkOffset.y = checkOffset.y + outSpeed setIntPos() end
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.y > maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.y > maxOffset.y then checkOffset.y = checkOffset.y - outSpeed setIntPos()  end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.y < maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
 elseif not hover:getBool(VConditionValue) and not mwheel:getBool(VConditionValue) then
  if mwUp ~= 0 then mwUp = 0 end -- check if mouse wheel is active; if it is, then set inactive
  -- * let's slide the x position of the interface based on slideDirection (in) * --
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.x > minOffset.x then checkOffset.x = checkOffset.x - inSpeed setIntPos() end
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.x < minOffset.x then checkOffset.x = minOffset.x setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.x < minOffset.x then checkOffset.x = checkOffset.x + inSpeed setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.x > minOffset.x then checkOffset.x = minOffset.x setIntPos() end
  -- * let's slide the y position of the interface based on SlideDirection (in) * --
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.y > minOffset.y then checkOffset.y = checkOffset.y - inSpeed setIntPos() end
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.y < minOffset.y then checkOffset.y = minOffset.y setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.y < minOffset.y then checkOffset.y = checkOffset.y + inSpeed setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.y > minOffset.y then checkOffset.y = minOffset.y setIntPos() end
 end
 -- * let's create the mouse wheel code * --
 if not hover:getBool(VConditionValue) and mwheel:getBool(VConditionValue) and mwUp == 1 then -- check if mouse wheel up has been rotated
  -- * let's slide the x position of the interface based on slideDirection (out) * --
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.x < maxOffset.x then checkOffset.x = checkOffset.x + outSpeed setIntPos() end
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.x > maxOffset.x then checkOffset.x = maxOffset.x setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.x > maxOffset.x then checkOffset.x = checkOffset.x - outSpeed setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.x < maxOffset.x then checkOffset.x = maxOffset.x setIntPos() end
  -- * let's slide the y position of the interface based on SlideDirection (out) * --
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.y < maxOffset.y then checkOffset.y = checkOffset.y + outSpeed setIntPos() end
  if (slideDirection == 1 or slideDirection == 2) and checkOffset.y > maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.y > maxOffset.y then checkOffset.y = checkOffset.y - outSpeed setIntPos()  end
  if (slideDirection == 3 or slideDirection == 4) and checkOffset.y < maxOffset.y then checkOffset.y = maxOffset.y setIntPos() end
 end
 if not hover:getBool(VConditionValue) and mwheel:getBool(VConditionValue) and mwUp == 2 then -- check if mouse wheel down has been rotated
  -- * let's slide the x position of the interface based on slideDirection (in) * --
  if slideDirection == 1 and checkOffset.x > minOffset.x - mwOffset then checkOffset.x = checkOffset.x - inSpeed setIntPos() end
  if slideDirection == 1 and checkOffset.x < minOffset.x - mwOffset then checkOffset.x = minOffset.x - mwOffset setIntPos() end
  if slideDirection == 2 and checkOffset.x > minOffset.x then checkOffset.x = checkOffset.x - inSpeed setIntPos() end
  if slideDirection == 2 and checkOffset.x < minOffset.x then checkOffset.x = minOffset.x setIntPos() end
  if slideDirection == 3 and checkOffset.x < minOffset.x + mwOffset then checkOffset.x = checkOffset.x + inSpeed setIntPos() end
  if slideDirection == 3 and checkOffset.x > minOffset.x + mwOffset then checkOffset.x = minOffset.x + mwOffset setIntPos() end
  if slideDirection == 4 and checkOffset.x < minOffset.x then checkOffset.x = checkOffset.x + inSpeed setIntPos() end
  if slideDirection == 4 and checkOffset.x > minOffset.x then checkOffset.x = minOffset.x setIntPos() end
  -- * let's slide the y position of the interface based on SlideDirection (in) * --
  if slideDirection == 1 and checkOffset.y > minOffset.y then checkOffset.y = checkOffset.y - inSpeed setIntPos() end
  if slideDirection == 1 and checkOffset.y < minOffset.y then checkOffset.y = minOffset.y setIntPos() end
  if slideDirection == 2 and checkOffset.y > minOffset.y - mwOffset then checkOffset.y = checkOffset.y - inSpeed setIntPos() end
  if slideDirection == 2 and checkOffset.y < minOffset.y - mwOffset then checkOffset.y = minOffset.y - mwOffset setIntPos() end
  if slideDirection == 3 and checkOffset.y < minOffset.y then checkOffset.y = checkOffset.y + inSpeed setIntPos() end
  if slideDirection == 3 and checkOffset.y > minOffset.y then checkOffset.y = minOffset.y setIntPos() end
  if slideDirection == 4 and checkOffset.y < minOffset.y + mwOffset then checkOffset.y = checkOffset.y + inSpeed setIntPos() end
  if slideDirection == 4 and checkOffset.y > minOffset.y + mwOffset then checkOffset.y = minOffset.y + mwOffset setIntPos() end
 end
end

 -- * updates the current position of the interface * --
function setIntPos()
 getInterface:setValue(VInterfaceOffset, checkOffset)
end

-- * let's check if mouse wheel mode = true; if true then hide the interface else overlap interface slightly * --
function mwMode()
 if mwheel:getBool(VConditionValue) then
  if slideDirection == 1 then checkOffset = {x = minOffset.x - mwOffset, y = minOffset.y} setIntPos() end
  if slideDirection == 2 then checkOffset = {x = minOffset.x, y = minOffset.y - mwOffset} setIntPos() end
  if slideDirection == 3 then checkOffset = {x = minOffset.x + mwOffset, y = minOffset.y} setIntPos() end
  if slideDirection == 4 then checkOffset = {x = minOffset.x, y = minOffset.y + mwOffset} setIntPos() end
 else
  checkOffset = {x = minOffset.x, y = minOffset.y}
  setIntPos()
 end
end

Event Script

-- * this is the mainLoop event function (all loop events & functions for looping should be added or linked here) * --
function onMainLoop()
 intSlide() -- loop the function which checks if interface should be sliding in, out or at default position!
end
 
-- * this is the mouse event listener! (all mouse events & functions should be added or linked here) * --
function onMouseEvent(eventType)
 if not getObject("Conditions[mwtoggle]"):getBool(VConditionValue) then -- if toggle is false then set default
  if eventType == eEvtMouseWheelUp then mwUp = 1 end
  if eventType == eEvtMouseWheelDown then mwUp = 2 end
 else -- invert mouse wheel
  if eventType == eEvtMouseWheelUp then mwUp = 2 end
  if eventType == eEvtMouseWheelDown then mwUp = 1 end
 end
end

-- * let's create the mouse event listener! * --
registerEventHandler("mouseEvent", "onMouseEvent", {eEvtMouseWheelUp, eEvtMouseWheelDown})
-- * let's create the loop event handler! * --
registerEventHandler("mainLoop", "onMainLoop")