Sure, here ya' go:
REM The Adventures of Martin the Marble Level Editor
`Include constants
#Include "Editor Resources\gui.dba"
`Call the setup routine
Gosub Setup:
`Call the GUI routine
Gosub SetupGUI:
`Main Program Loop
Do
Text 0,0,"FPS Rate: "+Str$(Screen fps())
Text 0,12,"Objects on Screen: "+Str$(Plat1)
`Call all routines
Gosub ProcessUserInput:
Gosub CameraControl:
Gosub ObjectControl:
Sync
Loop
`-------------------
`Subroutines
`-------------------
Setup: `Program initialization
`Declare all variables
camFlag=1 : `Default camera position
Plat1=1
Plat2=50
Plat3=99
Coin1=100
Coin2=149
Type Properties
Ghost
Visible
CollOn
CollType
ElevatorStart#
ElevatorEnd#
EnemyStart#
EnemyEnd#
SwitchOn
SwitchType
EndType
Dim Properties(500) As Properties
`Setup sync rate, window settings and display mode
Set Display Mode 1366,768,32
Set Window On
Set Window Size 1166,668
Set Window Position 200,50
Set Window Title "The Adventures of Martin the Marble: The Level Editor [June 2010]"
Sync On : Sync Rate 100
`Create the camera
Make Camera 1
Position Camera 1,0,5,-10 : XRotate Camera 1,-5
Color BackDrop 1, RGB(0,0,0)
Return
`-----------------------
SetupGUI:
`Start the GUI plugin
StartBlue "invalid","invalid"
`Create the menu bar
mainMenu=CreateMenu(0)
`Create the "File" menu and its contents
AddMenuItem mainMenu,"File",1
fileMenu=CreateSubMenu(mainMenu,1)
AddMenuItem fileMenu,"New",2
AddMenuItem fileMenu,"Open Project",3
AddMenuItem fileMenu,"Save Project",4
AddMenuSplitter fileMenu
AddMenuItem fileMenu,"Load Level",5
AddMenuItem fileMenu,"Save Level",6
AddMenuSplitter fileMenu
AddMenuItem fileMenu,"Close",7
`Create the "Objects" menu and its contents
AddMenuItem mainMenu,"Objects",8
objMenu=CreateSubMenu(mainMenu,8)
AddMenuItem objMenu,"Load 3D Object",9
AddMenuItem objMenu,"Edit Selected Object's Properties",10
AddMenuSplitter objMenu
AddMenuItem objMenu,"Clear Screen",11
`Create the "Camera" menu and its contents
AddMenuItem mainMenu,"Camera Views",12
camMenu=CreateSubMenu(mainMenu,12)
AddMenuItem camMenu,"Top/Down [X/Y/Z]",13
AddMenuItem camMenu,"Left/Right [X/Z]",14
AddMenuItem camMenu,"Free Flight [X/Y/Z]",15
AddMenuSplitter camMenu
AddMenuItem camMenu,"Reset Camera",16
`Create the "Help" menu and its contents
AddMenuItem mainMenu,"Help",17
helpMenu=CreateSubMenu(mainMenu,17)
AddMenuItem helpMenu,"About",18
AddMenuItem helpMenu,"Contents",19
Return
`---------------------
ProcessUserInput:
GetEvent
If EventType()=Menu_Click
Select EventData()
Case 2 :
EndCase
Case 3 : `Gosub OpenProj:
EndCase
Case 4 : `Gosub SaveProj:
EndCase
Case 5 : `Gosub LoadLevel:
EndCase
Case 6 : `Gosub SaveLevel:
EndCase
Case 7 : Flush Video Memory : End
EndCase
Case 9 : LoadObject()
EndCase
Case 10 : `Gosub EditProperties:
EndCase
Case 11 : Del=QuestionMessage("Are you sure you want to delete all objects?", "Clear Screen?")
If Del=1 Then Gosub ClearScreen:
EndCase
Case 18 : Message "About the Level Editor", "Level Editor v1.0.0.5. ©2010 Flip of the Coin Games"
EndCase
Case 19 : `Gosub ReadHelpFile:
EndCase
EndSelect
EndIf
Return
`---------------------
CameraControl:
If camFlag=1
Control Camera Using ArrowKeys 1, 2,5
EndIf
If camFlag=2
EndIf
If camFlag=3
EndIf
Return
`---------------------
ObjectControl:
`Select an object
ClickObj=Pick Object(MouseX(), MouseY(),1,8000)
If MouseClick()=1 And ClickObj <> 0 Then SelObj=ClickObj : Sleep 50
If SelObj <> 0
`Get the object's position
ObjPosX#=Object Position X(SelObj)
ObjPosY#=Object Position Y(SelObj)
ObjPosZ#=Object Position Z(SelObj)
`Get the object's angle
ObjAngX#=Object Angle X(SelObj)
ObjAngY#=Object Angle Y(SelObj)
ObjAngZ#=Object Angle Z(SelObj)
EndIf
`Highlight the selected object
If Object Exist(8000) Then Delete Object 8000
If SelObj <> 0
If SelObj > 0 And SelObj < 49
Make Object Box 8000,5.2,5.2,5.2
Color Object 8000,RGB(255,255,255)
Set Object 8000,0,1,0
ObjAngY#=Object Angle Y(8000)
EndIf
`Set up variables to position the object
NewPosX#=Object Position X(SelObj)
NewPosY#=Object Position Y(SelObj)
NewPosZ#=Object Position Z(SelObj)
`Now position the object anew
If KeyState(77)=1
While KeyState(77)=1:EndWhile
Move Object SelObj,0.5 : Move Object 8000,0.5 : NewPosX#=NewPosX#+5
EndIf
If KeyState(75)=1
While KeyState(75)=1:EndWhile
Move Object SelObj,0.5 : Move Object 8000,0.5 : NewPosX#=NewPosX#-5
EndIf
If KeyState(78)=1
While KeyState(78)=1:EndWhile
Move Object SelObj,0.5 : Move Object 8000,0.5 : NewPosY#=NewPosY#+5
EndIf
If KeyState(74)=1
While KeyState(74)=1:EndWhile
Move Object SelObj,0.5 : Move Object 8000,0.5 : NewPosY#=NewPosY#-5
EndIf
If KeyState(72)=1
While KeyState(72)=1:EndWhile
Move Object SelObj,0.5 : Move Object 8000,0.5 : NewPosZ#=NewPosZ#+5
EndIf
If KeyState(80)=1
While KeyState(80)=1:EndWhile
Move Object SelObj,0.5 : Move Object 8000,0.5 : NewPosZ#=NewPosZ#-5
EndIf
`Position the object
Position Object SelObj, NewPosX#, NewPosY#, NewPosZ#
Position Object 8000, NewPosX#, NewPosY#, NewPosZ#
`If the mouse is clicked de-select the object
If MouseClick()=1 Then Delete Object 8000 : SelObj=0
EndIf
`Delete currently selected object...
If KeyState(211)=1 And SelObj > 0 And SelObj < 49
Delete Object SelObj : Delete Object 8000 : SelObj=0
`Reset ghost variable
If Properties(SelObj).Ghost=1
Properties(SelObj).Ghost=0
EndIf
`Reset hide/show variable
If Properties(SelObj).Visible=1
Properties(SelObj).Visible=0
EndIf
Plat1=Plat1-1 : If Plat1 < 1 Then Plat1=1
EndIf
If KeyState(211)=1 And SelObj > 50 And SelObj < 99
Delete Object SelObj : Delete Object 8000 : SelObj=0
`Reset ghost variable
If Properties(SelObj).Ghost=1
Properties(SelObj).Ghost=0
EndIf
`Reset hide/show variable
If Properties(SelObj).Visible=1
Properties(SelObj).Visible=0
EndIf
Plat2=Plat2-1 : If Plat2 < 50 Then Plat2=50
EndIf
If KeyState(211)=1 And SelObj > 99 And SelObj < 149
Delete Object SelObj : Delete Object 8000 : SelObj=0
`Reset ghost variable
If Properties(SelObj).Ghost=1
Properties(SelObj).Ghost=0
EndIf
`Reset hide/show variable
If Properties(SelObj).Visible=1
Properties(SelObj).Visible=0
EndIf
Plat3=Plat3-1 : If Plat3 < 99 Then Plat3=99
EndIf
Return
`---------------------
Function LoadObject() `Loads any object the user wants out of the models folder
`Open a dialog box
FilePath$=OpenDialog("Load Game Model",".X Files (*.x)|*.x|", 1 ,"Level Editor\Models\")
`File not found or cancel pressed
If FilePath$="" then exitfunction
Path$=Right$(FilePath$,20)
If Lower$(Path$)<>"OneBlockGrass.x"
`Now load and position the object
While Plat1=1
Plat1=Plat1+1
EndWhile
Load Object "Level Editor\Models\OneBlockGrass.x",Plat1
Scale Object Plat1,250,250,250
Position Object Plat1, 0,0,0
Plat1=Plat1+1
If Plat1 > 49
ErrorMessage "You can't create any more of these blocks!"
Plat1=49
EndIf
EndIf
EndFunction
`---------------------
ClearScreen: `Deletes all objects and empties all variables
Message "Level Editor Message","Level cleared. You can now start a new project."
Return
EDIT:
You'll notice I tried to load the object through the standard means. It didn't work.

Oh well.
Still can't figure out for the life of me why it wouldn't load it through means of the FilePath$ variable...strange bugs are annoying.