home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CyberMycha 2006 April
/
SGP.iso
/
dema
/
Keepsake-Demo-en-li-v1.0.exe
/
res
/
interface
/
common
/
main.tcl
< prev
Wrap
Text File
|
2005-11-07
|
8KB
|
358 lines
source "../res/init.tcl"
source "../res/interface/common/itf.sidebar.tcl"
source "../res/interface/common/itf.inv.tcl"
source "../res/interface/common/itf.vision.tcl"
source "../res/interface/common/itf.option.tcl"
source "../res/interface/common/itf.quit.tcl"
source "../res/interface/common/itf.desc.tcl"
source "../res/interface/common/iq.tcl"
set ::itfTalk 0
set ::itfSkip ""
namespace eval itf {}
proc MainEnableTalk {} {
hMainUpdate
}
proc MainDisableTalk {} {
iactive interface.talk false
ozIMenu disable talk
}
proc MainEnableSidebar {} {
iactive interface.sidebar true
ozIMenu enable menu
}
proc MainDisableSidebar {} {
iactive interface.sidebar false
ozIMenu disable menu
}
proc MainEnableHelp {} {
iactive interface.help true
ozIMenu enable help
}
proc LoadInterface {} {
set ::itf::sidebar [new ::itf'sidebar]
oz'widget::property $::itf::sidebar -pos 0 0.208333 -alpha 0
oz'widget::child [FOREGROUNDWIDGET] $::itf::sidebar -1
if {[ozGet "puzzleMidgard"] == "complete"} {
set ::itf::inventory [new ::itf'inventory 2]
} else {
set ::itf::inventory [new ::itf'inventory 1]
}
oz'widget::property $::itf::inventory -pos 0 0.166666 -alpha 0
oz'widget::child [FOREGROUNDWIDGET] $::itf::inventory -0.5
set ::itf::vision [new ::itf'vision]
oz'widget::property $::itf::vision -pos 0 0.166666 -alpha 0
oz'widget::child [FOREGROUNDWIDGET] $::itf::vision -0.5
set ::itf::quit [new ::itf'quit]
oz'widget::property $::itf::quit -pos 0.1875 0.384114 -alpha 0
oz'widget::child [FOREGROUNDWIDGET] $::itf::quit -0.5
set ::itf::desc [new ::itf'desc]
oz'widget::property $::itf::desc -pos 0.21875 0.250000 -alpha 0
oz'widget::child [FOREGROUNDWIDGET] $::itf::desc -0.875
set ::itf::zoom [new ::itf'zoom]
oz'widget::property $::itf::zoom -pos 0.1875 0 -alpha 0
oz'widget::child [FOREGROUNDWIDGET] $::itf::zoom -1
set ::itf::option [new ::itfoption]
oz'widget::property $::itf::option -pos 0.058594 0.542969 -alpha 0
oz'widget::child [FOREGROUNDWIDGET] $::itf::option -1
}
proc hMainUpdate { } {
if { [ozIConv nbChoice] } {
if {[ozGet "interface.backevent"] == ""} {
iactive interface.talk true
ozIMenu enable talk
}
} else {
iactive interface.talk false
ozIMenu disable talk
}
}
proc hConvClose { } {
iactive interface.conv1 false
ozIConv disable conv1
iactive interface.conv2 false
ozIConv disable conv2
iactive interface.conv3 false
ozIConv disable conv3
}
proc hConvUpdate { } {
ozIConv update
set nb [ozIConv nbChoice]
switch -exact -- $nb {
0 {
hConvClose
}
1 {
iactive interface.conv1 true
ozIConv enable conv1
iactive interface.conv2 false
ozIConv disable conv2
iactive interface.conv3 false
ozIConv disable conv3
}
2 {
iactive interface.conv1 true
ozIConv enable conv1
iactive interface.conv2 true
ozIConv enable conv2
iactive interface.conv3 false
ozIConv disable conv3
}
default {
iactive interface.conv1 true
ozIConv enable conv1
iactive interface.conv2 true
ozIConv enable conv2
iactive interface.conv3 true
ozIConv enable conv3
}
}
}
proc hRemoveBack { } {
if { [ozGet "interface.backevent"] != "" } {
ozSet "interface.backevent" ""
iactive "interface.back" false
ozIMenu disable back
}
}
proc hConvBackEvent { event } {
ozSet "interface.backevent" $event
iactive "interface.back" true
ozIMenu enable back
}
event "main" {
ibind interface.sidebar 3 0.062745 0.062745 0.062745
ibind interface.talk 3 0.125490 0.125490 0.125490
ibind interface.back 3 0.188235 0.188235 0.188235
ibind interface.conv1 3 0.250980 0.250980 0.250980
ibind interface.conv2 3 0.313725 0.313725 0.313725
ibind interface.conv3 3 0.376470 0.376470 0.376470
ibind interface.pause 3 0.439215 0.439215 0.439215
ibind interface.skip 3 0.501960 0.501960 0.501960
ibind interface.help 3 0.859375 0.859375 0.859375
iactive interface.sidebar false
ozIMenu disable menu
iactive interface.talk false
ozIMenu disable talk
iactive interface.back false
ozIMenu disable back
iactive interface.help false
ozIMenu disable help
iactive interface.conv1 false
ozIConv disable conv1
iactive interface.conv2 false
ozIConv disable conv2
iactive interface.conv3 false
ozIConv disable conv3
iactive interface.pause true
ozITalk enable pause
iactive interface.skip true
ozITalk enable skip
ozIMenu fadein 1
}
proc CloseAllInterface {} {
itf'sidebar::hide $::itf::sidebar
oz'widget::fadeto $::itf::desc 0
menuOff
MainEnableSidebar
MainEnableTalk
iactive interface.help true
ozIMenu enable help
}
event "sidebar" {
PlaySound interface/switchClic
if [oz'widget::usable? $::itf::sidebar] {
itf'sidebar::hide $::itf::sidebar
menuOff
MainEnableTalk
} else {
itf'sidebar::show $::itf::sidebar
menuOn
MainDisableTalk
oz'mouse::hook {
CloseAllInterface
}
}
}
event "sidebarOver" {
ozIMenu over menu
}
event "talk" {
wizqConvRemove "clues"
oz'event {
ozIConv update
hConvUpdate
hMainUpdate
}
PlaySound interface/switchClic
if { [ozIConv isVisible] } {
wizqConvRemove "npc"
wizqConvClose
oz'event {
ozIConv update
hConvUpdate
hMainUpdate
}
wizqEnableMouse
oz'event {unfreezePlayer}
iactive interface.help true
ozIMenu enable help
} else {
if { [ozIConv nbChoice] } {
wizqConvOpen
iactive interface.help true
ozIMenu enable talk
oz'event {
iactive interface.help true
ozIMenu enable talk
}
iactive interface.help false
ozIMenu disable help
}
}
}
event "talkOver" {
ozIMenu over talk
}
event "conv1" {
chainEvent {
PlaySound interface/switchClic
ozIConv choice 0
}
wizqConvRemove "clues"
chainEvent {hMainUpdate}
}
event "conv1Over" {
ozIConv over conv1
}
event "conv2" {
chainEvent {
PlaySound interface/switchClic
ozIConv choice 1
}
wizqConvRemove "clues"
chainEvent {hMainUpdate}
}
event "conv2Over" {
ozIConv over conv2
}
event "conv3" {
chainEvent {
PlaySound interface/switchClic
ozIConv choice 2
}
wizqConvRemove "clues"
chainEvent {hMainUpdate}
}
event "conv3Over" {
ozIConv over conv3
}
proc GoBack {} {
set event [ozGet "interface.backevent"]
if { $event != "" } {
oz'event {
callEvent $event
ozSet "interface.backevent" ""
iactive "interface.back" false
ozIMenu disable back
}
}
}
event "back" {
PlaySound interface/switchClic
GoBack
}
event "backOver" {
ozIMenu over back
}
set ::playing_voice 0
event "pause" {
PlaySound interface/switchClic
if $::playing_voice {
oz'sound::stop $::playing_voice
set ::playing_voice 0
}
if { $::itfTalk } {ozSystem pause}
}
event "pauseOver" {
ozITalk over pause
}
event "skip" {
PlaySound interface/switchClic
if { $::itfTalk } {
ozSystem cancel
}
}
event "skipOver" {
ozITalk over skip
}
event "help" {
PlaySound interface/switchClic
callEvent inGameWalkthrough.init
if {[ozGet "interface.backevent"] == ""} {
iactive interface.help false
ozIMenu disable help
}
MainDisableTalk
Walkthru
}
event "helpOver" {
ozIMenu over help
}