Skip to content

Commit b4c34c0

Browse files
committed
Added doublesided button, better preview centering and zooming
1 parent 443fddd commit b4c34c0

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

[editor]/editor_gui/client/browser/browser.lua

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@ function createBrowser()
2020
browserGUI.window = guiCreateWindow ( 0, 0, 0.25, 1, "Browse...", true )
2121
guiSetVisible ( browserGUI.window, false )
2222
browserGUI.dropdown = editingControl.dropdown:create{["x"]=12,["y"]=25,["width"]=screenX*0.25,["height"]=20,["dropWidth"]=screenX*0.25,["dropHeight"]=200,["relative"]=false,["parent"]=browserGUI.window,["rows"]={"All categories", "Favourites"}}
23-
browserGUI.list = browserList:create( 12, 85, screenX*0.25, screenY*1-112, { {["Element"]=0.95-(60/(screenX*0.25))},{["[ID]"]=40/(screenX*0.25)}},false, browserGUI.window )
23+
browserGUI.list = browserList:create( 12, 85, screenX*0.25, screenY*1-140, { {["Element"]=0.95-(60/(screenX*0.25))},{["[ID]"]=40/(screenX*0.25)}},false, browserGUI.window )
2424
browserGUI.search = guiCreateEdit ( 12, 50, screenX*0.25, 30, "Search...", false, browserGUI.window )
2525
browserGUI.ok = guiCreateButton ( 12, screenY-24, screenX*0.125 - 2, 40, "OK", false, browserGUI.window )
2626
browserGUI.cancel = guiCreateButton ( screenX*0.125 + 12 + 2, screenY-24, screenX*0.125 - 2, 40, "Cancel", false, browserGUI.window )
2727
browserGUI.searchProgress = guiCreateLabel ( 0, 0, 1, 0.1, "", true )
2828
browserGUI.searchModel = guiCreateLabel ( 0, 0, 1, 0.1, "", true )
29+
browserGUI.doubleside = guiCreateCheckBox ( 12, screenY-50, 110, 20, "Set doublesided", false, false, browserGUI.window )
2930
guiSetVisible ( browserGUI.searchProgress, false )
3031
guiSetVisible ( browserGUI.searchModel, false )
3132
guiLabelSetColor ( browserGUI.searchProgress,0,0,0 )
@@ -37,6 +38,7 @@ function createBrowser()
3738

3839
addEventHandler ("onClientGUIClick",browserGUI.ok,browser.browserSelected,false)
3940
addEventHandler ("onClientGUIClick",browserGUI.cancel,browser.browserCancelled,false)
41+
addEventHandler ("onClientGUIClick",browserGUI.doubleside,browser.setDoublesided,false)
4042
end
4143

4244
function browser.initiate ( theType, initialCat, initialModel )
@@ -334,6 +336,11 @@ function browser.browserCancelled(button)
334336
browser.close()
335337
end
336338

339+
function browser.setDoublesided(button)
340+
if button ~= "left" then return end
341+
setElementDoubleSided(browser.mainElement, guiCheckBoxGetSelected(browserGUI.doubleside))
342+
end
343+
337344
function setProgressText ( text )
338345
guiSetText ( browserGUI.searchProgress, text )
339346
local length = guiLabelGetTextExtent ( browserGUI.searchProgress )

[editor]/editor_gui/client/browser/previewelement.lua

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ function browserSetElementModel ( elemID, model )
2323
setModel[elemID](model)
2424
end
2525
end
26+
2627
function setModel.vehicleID ( model )
2728
local randomOffset = ((getTickCount() % 20) / 100) + 0.001
2829

@@ -60,12 +61,13 @@ function setModel.vehicleID ( model )
6061
setCameraMatrix ( tx - realDistance, ty, tz + elevation + randomOffset,
6162
tx, ty + moveLeft, tz + randomOffset)
6263
end
64+
6365
function setModel.objectID ( model )
6466
local randomOffset = ((getTickCount() % 20) / 100) + 0.001
6567

6668
if not browser.mainElement then
6769
browser.mainElement = createObject(model, tx, ty, tz, 0, 0, rz, true)
68-
setElementDoubleSided(browser.mainElement, true)
70+
setElementDoubleSided(browser.mainElement, guiCheckBoxGetSelected(browserGUI.doubleside))
6971
setElementDimension ( browser.mainElement, BROWSER_DIMENSION )
7072
setElementInterior(browser.mainElement, 14)
7173
else
@@ -75,11 +77,15 @@ function setModel.objectID ( model )
7577
setElementPosition(browser.mainElement, tx, ty, tz)
7678
setElementAlpha(browser.mainElement, 255)
7779

80+
local a,b,c,d,e,f = getElementBoundingBox(browser.mainElement)
7881
local radius = math.max(7, getElementRadius(browser.mainElement)*2.1)
82+
radius = math.max(radius, math.sqrt((c*c)+(f*f))*2)
7983
browserElementLookOptions.distance = radius
80-
setCameraMatrix ( tx - radius - 1, ty + 1, tz + radius/4,
81-
tx - 1, ty + 1, tz)
84+
local offset = radius * 0.2
85+
setCameraMatrix ( tx - radius - offset, ty + offset, tz + radius * 0.25,
86+
tx - offset, ty + offset, tz)
8287
end
88+
8389
function setModel.skinID ( model )
8490
local randomOffset = (getTickCount() % 20) / 100
8591

@@ -114,7 +120,6 @@ function rotateMesh ()
114120
end
115121
end
116122

117-
118123
function _previewRotate(object, rotation)
119124
-- https://github.com/multitheftauto/mtasa-resources/commit/117759a6df540c21515d2666794e05dcf9c76254
120125
local a,b,c,d,e,f = getElementBoundingBox(object)

0 commit comments

Comments
 (0)