diff options
Diffstat (limited to 'tools/worldbuilder/code/scripts/wb_main.mel')
-rw-r--r-- | tools/worldbuilder/code/scripts/wb_main.mel | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/tools/worldbuilder/code/scripts/wb_main.mel b/tools/worldbuilder/code/scripts/wb_main.mel new file mode 100644 index 0000000..8106946 --- /dev/null +++ b/tools/worldbuilder/code/scripts/wb_main.mel @@ -0,0 +1,274 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2001 Radical Entertainment Ltd. All rights reserved. +// +// WB_main.mel +// +// Description: Installs the World Builder (WB) interface. +// As a convention all World Builder global procedures +// and global variables are prefixed with "wb_". All commands +// exposed through WB plugins are prefixed with "WB_". +// +// MCB = Menu Call Back +// BCB = Button Call Back +// +// Modification History: +// + Created Apr 11, 2001 -- bkusy +// + Stolen & Adapted -- CBrisebois +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// w b _ b r e a k p o i n t +// +// Synopsis: +// +// Parameters: NONE +// +// Returns: NOTHING +// +// Constraints: NONE +// +//----------------------------------------------------------------------------- +global proc wb_breakpoint( string $tag ) +{ + confirmDialog -m ( "BreakPoint: " + $tag ); +} + +//----------------------------------------------------------------------------- +// w b _ M C B _ A b o u t +// +// Synopsis: Display an About World Builder window. +// +// Parameters: NONE +// +// Returns: NOTHING +// +// Constraints: NONE +// +//----------------------------------------------------------------------------- +global proc wb_MCB_About() +{ + string $pluginVersion = "2.0"; + + string $message = ( "\nSimpsons Road Rage World Builder.\n\n" + + "Release " + $pluginVersion + "\n" + + "(c) 2001, Radical Entertainment, Ltd.\n\n" ); + + + confirmDialog -title "About World Builder" + -message $message + -button "OK" + -defaultButton "OK"; +} + +//----------------------------------------------------------------------------- +// w b _ d o M a i n M e n u I w b m s +// +// Synopsis: Creates the WB menu on the menu handle passed in. +// +// Parameters: NONE +// +// Returns: NOTHING +// +// Constraints: NONE +// +//----------------------------------------------------------------------------- +global proc wb_doMainMenuItems( string $menu ) +{ + global string $gMainWindow; + global float $gWB_Offset; + + menu -edit -tearOff true -allowOptionBoxes true $menu; + + menuItem -label "Display Levels" -sm true; + + menuItem -label "Event Locators" -checkBox true -command "WB_ChangeDisplay(0, #1)"; + + menuItem -label "Script Locators" -checkBox true -command "WB_ChangeDisplay(1, #1)"; + + menuItem -label "Generic Locators" -checkBox true -command "WB_ChangeDisplay(2, #1)"; + + menuItem -label "Car Start Locators" -checkBox true -command "WB_ChangeDisplay(3, #1)"; + + menuItem -label "Dynamic Zone Locators" -checkBox true -command "WB_ChangeDisplay(4, #1)"; + + menuItem -label "Occlusion Locators" -checkBox true -command "WB_ChangeDisplay(5, #1)"; + + menuItem -label "Interior Entrance Locators" -checkBox true -command "WB_ChangeDisplay(7, #1)"; + + menuItem -label "Directional Locators" -checkBox true -command "WB_ChangeDisplay(8, #1)"; + + menuItem -label "Action Locators" -checkBox true -command "WB_ChangeDisplay(9, #1)"; + + menuItem -label "FOV" -checkBox true -command "WB_ChangeDisplay(10, #1)"; + + menuItem -label "Breakable Camera" -checkBox true -command "WB_ChangeDisplay(11, #1)"; + + menuItem -label "Static Camera" -checkBox true -command "WB_ChangeDisplay(12, #1)"; + + menuItem -label "Ped Group" -checkBox true -command "WB_ChangeDisplay(13, #1)"; + + menuItem -divider true; + + menuItem -label "Trigger Volumes" -checkBox true -command "WB_ChangeDisplay(20, #1)"; + + setParent -menu ..; + + menuItem -divider true; + + menuItem -label "Create Camera Path" -command "wb_MCB_CreateCameraPath()"; + + menuItem -label "Create Coin Path" -command "wb_MCB_CreateCoinPath()"; + + menuItem -divider true; + + menuItem -label "Set Prefix" -command "WB_SetPrefix()"; + + menuItem -divider true; + + menuItem -label "Snap Locator" -command "WB_SnapLocator( $gWB_Offset )"; + + menuItem -optionBox true -command "wb_MCB_SnapLocatorOptions()"; + + menuItem -divider true; + + menuItem -label "Export" -command "WB_Export()"; + + menuItem -optionBox true -command "WB_ExportOptions()"; + + menuItem -divider true; + + menuItem -label "About" -command "wb_MCB_About()"; + + setParent -m ..; + + if ( `shelfLayout -exists "WorldBuilder"` == 0 ) + { + addNewShelfTab "WorldBuilder"; + } + + //Delete all the old buttons (in case there was a change).. + string $buttons[] = `shelfLayout -q -ca WorldBuilder`; + + int $i; + + for ( $i = 0; $i < size($buttons); $i++ ) + { + deleteUI $buttons[ $i ]; + } + + //Create all the buttons required.. + shelfButton -c ("wb_BCB_CreateLocator(\"Event\")") + -p "WorldBuilder" + -i1 "eventlocator.bmp" + -ann "Create Event Locator" + -l "Event"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Script\")") + -p "WorldBuilder" + -i1 "scriptlocator.bmp" + -ann "Create Script Locator" + -l "Script"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Generic\")") + -p "WorldBuilder" + -i1 "genericlocator.bmp" + -ann "Create Generic Locator" + -l "Generic"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Car Start\")") + -p "WorldBuilder" + -i1 "carstartlocator.bmp" + -ann "Create Car Start Locator" + -l "Car Start"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Dynamic Zone\")") + -p "WorldBuilder" + -i1 "zonelocator.bmp" + -ann "Create Dynamic Zone Locator" + -l "Dynamic Zone"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Occlusion\")") + -p "WorldBuilder" + -i1 "occlusionlocator.bmp" + -ann "Create Occlusion Locator" + -l "Occlusion"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Interior Entrance\")") + -p "WorldBuilder" + -i1 "interiorlocator.bmp" + -ann "Create Interior Entrance Locator" + -l "Interior Entrance"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Directional\")") + -p "WorldBuilder" + -i1 "directionallocator.bmp" + -ann "Create Directional Locator" + -l "Directional"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Action\")") + -p "WorldBuilder" + -i1 "actionlocator.bmp" + -ann "Create Action Locator" + -l "Action"; + + shelfButton -c ("wb_BCB_CreateLocator(\"FOV\")") + -p "WorldBuilder" + -i1 "fovlocator.bmp" + -ann "Create FOV Locator" + -l "FOV"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Breakable Camera\")") + -p "WorldBuilder" + -i1 "breakablecameralocator.bmp" + -ann "Create Breakable Camera Locator" + -l "Breakable Camera"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Static Camera\")") + -p "WorldBuilder" + -i1 "staticcameralocator.bmp" + -ann "Create Static Camera Locator" + -l "Static Camera"; + + shelfButton -c ("wb_BCB_CreateLocator(\"Ped Group\")") + -p "WorldBuilder" + -i1 "pedgrouplocator.bmp" + -ann "Create Ped Group Locator" + -l "Ped Group"; + +} + + +//----------------------------------------------------------------------------- +// w b _ I n s t a l l U I +// +// Synopsis: +// +// Parameters: NONE +// +// Returns: NOTHING +// +// Constraints: NONE +// +//----------------------------------------------------------------------------- +global proc wb_InstallUI() +{ + + global string $gMainWindow; + + // + // Install WB menu as a root menu. + // + if ( `menu -exists wb_MainMenu` ) deleteUI wb_MainMenu; + menu -label "World Builder" -allowOptionBoxes true -parent $gMainWindow wb_MainMenu; + + wb_doMainMenuItems "wb_MainMenu"; +} + +evalDeferred "wb_InstallUI"; + +source "wb_setup.mel"; +source "wb_locator.mel"; +source "wb_splines.mel"; +source "wb_coinsplines.mel"; +source "AEWBTriggerButton.mel"; +source "AEWBSelectTarget.mel";
\ No newline at end of file |