Home » MODDING HQ 1.13 » v1.13 Coding Talk » RII - Resolution Independent Interface [UPDATE :RII v4f]
RII Light v1[message #226365] Thu, 09 July 2009 03:40 Go to previous messageGo to previous message
BirdFlu is currently offline BirdFlu

 
Messages:438
Registered:September 2007
Location: Lampukistan
Here is a RII version with Lua support. But it doesn't contain the actual interface changes/updates. I call it RII Light, although i'm open for better name suggestions, as RII doesn't really fit the new direction of this mod anymore.

[ download ]

This exe is build on the current SVN version (r.3095) and it comes with a small script that demonstrates some features.
-- this function will be called from inside the game
function InitLuaUI()
	print( "Initializing Lua User Interface
" )

	-- get root node of 'MainMenu' screen
	root = gui.getScreen("MainMenu").root_node
	root.position = { 100, 100 }
	
	move_image = {
		[1] = { image = "BigItems/GUN11.sti", offset = {40, 100} },
		[2] = { image = "BigItems/GUN33.sti", offset = {40, 200} },
	}
	
	for i in ipairs(move_image) do
		local im = gui.createImage{ parent = root, image = move_image[i].image }
		im.offset = move_image[i].offset

		local t = gui.createTextNode{
			parent = im,
			text = move_image[i].image,
			font = "BLOCKFONT2", foreground = 240, background = 0
		}
		--t.offset = { -1 * im.size[1]/2, -10 }
		t.offset = { 0, -10 }
		
		local re = gui.createRegion{ parent = im }
		re.size = im.size
		
		local move,button = GetMouseCallbacks(im)
		re:define( button, move )
	end
	
	local text = gui.createTextNode{ parent = root }
	text.font = "FONT16ARIAL"
	text.foreground = 134
	text.background = 1
	text.text = "Hello World!"
	text.position = { 640/2 - 40, 20 }

	return 1
end

-- this function creates mouse callbacks (closures)
function GetMouseCallbacks(node)
	local _node = node
	local _lbutton = false
	local _position = {}
	
	local moveCallBack = function(tab)
		if(tab.reason == 64) then
			_lbutton = false
			-- print("lost mouse")
		elseif(tab.reason == 128) then
			-- print("gain mouse")
		end 
		if( _lbutton == true) then
			-- compute relative displacement
			local rd = { 
				tab.mouse_x - _position[1],
				tab.mouse_y - _position[2]
			}
			-- apply displacement to node
			local xy = _node.position
			for i=1,2 do xy[i] = xy[i] + rd[i] end
			_node.position = xy
			
			-- save current mose position
			_position = { tab.mouse_x, tab.mouse_y }
		end
	end
	
	local buttonCallBack = function(tab)
		if(tab.reason == 4) then
			_lbutton = true
			_position = { tab.mouse_x, tab.mouse_y }
		elseif tab.reason == 8 then
			_lbutton = false
		elseif tab.reason == 16 then
			local p = _node.position
			local o = _node.offset
			local t = _node.type;
			print( t )
			print( "  position : " .. p[1] .. ", " .. p[2])
			print( "  offset   : " .. o[1] .. ", " .. o[2])
		end
	end

	return moveCallBack, buttonCallBack
end


It doesn't do very much, but it gives you something to play with.

Btw. you should start this version in windowed mode. It probably wont work in fullscreen mode, i haven't tested it yet.

[Updated on: Thu, 09 July 2009 10:57] by Moderator

Report message to a moderator

Master Sergeant
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Learning how the tactical AI works
Next Topic: Folding Stock Revamp
Goto Forum:
  


Current Time: Tue Feb 11 17:22:50 GMT+2 2025

Total time taken to generate the page: 0.05845 seconds