home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2006 April / SGP.iso / dema / Keepsake-Demo-en-li-v1.0.exe / res / scenes / common / introduction / .main.tcl.swp (.txt) next >
Vim Swap  |  2006-01-25  |  66KB  |  1,120 lines

  1. b0VIM 6.2
  2. POSEIDON
  3. C:\Documents and Settings\ben\Desktop\KEEPSAKE DEMO ENGILSH LI\res\scenes\common\introduction\main.tcl
  4. 3210#"! 
  5.         oz'widget::child [FOREGROUNDWIDGET] [set ::itf::back] 0.5
  6.         oz'widget::property [set ::itf::back] -pos 0.703125 0.791666 -alpha 0
  7.         set ::itf::back [new itf'back]
  8.     oz'event {
  9.     }
  10.         }
  11.             }
  12.                 oz'delay 0.125
  13.                 oz'widget::fadeto [set ::itf::game$i] 1
  14.             oz'event {
  15.         if [set ::itf::game$i] {
  16.     for {set i 1} {$i <= 5} {incr i} {
  17.         
  18.     oz'event {wizDisableMouse}
  19.     }
  20.         set y [expr $y + 0.1875]
  21.         }
  22.             oz'widget::child [FOREGROUNDWIDGET] [set ::itf::game$i] 0.5
  23.             oz'widget::property [set ::itf::game$i] -pos 0.0625 $y -alpha 0
  24.             set ::itf::game$i [new itf'game $i]
  25.         if [file exists "[ROOT]/save/savegame$i.tcl"] {
  26.         set ::itf::game$i 0
  27.     for {set i 1} {$i <= 5} {incr i} {
  28.     set y 0.041666
  29. proc ShowSaveGamePanel {} {
  30.     wq'widget::fadeto $::itf::vbox 0.5
  31.     wq'widget::fadeto $::itf::intro 1
  32.     wq'widget::fadeto $::itf::logo  1
  33.       
  34.     oz'widget::child [FOREGROUNDWIDGET] $::itf::vbox  0.5
  35.     oz'widget::child $::itf::vbox $::itf::vers  0.5
  36.     oz'widget::child [FOREGROUNDWIDGET] $::itf::intro 0.5
  37.     oz'widget::child [FOREGROUNDWIDGET] $::itf::logo  0.5
  38.       
  39.     oz'widget::property $::itf::intro -pos 0.328125 0.657552 -alpha 0
  40.     oz'widget::property $::itf::logo  -pos 0.246582 0.083333 -alpha 0
  41.     oz'widget::property $::itf::vbox -pos 0 0.93 -alpha 0
  42.     oz'label::property  $::itf::vers -pos 0 0 -font system.ttf -fsize 16 -color 0 0 0.1 -alpha 1 -text "Keepsake Demo v1.0"
  43.     set ::itf::vbox  [new oz'widget "vbox"]
  44.     set ::itf::vers  [new oz'label "version" 0.13 0.07]
  45.     set ::itf::intro [new itf'intro]
  46.     set ::itf::logo  [new oz'sprite "interface/[MODE]/intro/intro.logo"]
  47. proc ShowIntroPanel {} {
  48.     updateVolume
  49.     updateGamma
  50.     masterVolume $::config::music::volume
  51.     oz'track::play $::music_track "sound/music/introKeepsake.ogg" -repeat 1
  52.     set ::ref_ambient2d_volume $::config::user::soundfx_volume
  53.     set ::ref_music_volume     $::config::user::music_volume
  54.     set ::ref_soundfx_volume   $::config::user::soundfx_volume
  55.     set ::ref_voice_volume     $::config::user::voice_volume
  56.     set ::config::ambient2d::volume $::config::user::soundfx_volume
  57.     set ::config::music::volume     $::config::user::music_volume
  58.     set ::config::soundfx::volume   $::config::user::soundfx_volume
  59.     set ::config::voice::volume     $::config::user::voice_volume
  60.     }
  61.         set ::config::user::music_volume 0.01
  62.     if {$::config::user::music_volume == 0} {
  63.     set ::config::user::gamma_correction [expr double([itf'slider::get_pos $itfopt::($itf::opt,gamma)]) / 10.0]
  64.     set ::config::user::music_volume     [expr double([itf'slider::get_pos $itfopt::($itf::opt,music)]) / 25]
  65.     set ::config::user::soundfx_volume   [expr double([itf'slider::get_pos $itfopt::($itf::opt,sfx)])   / 10.0]
  66.     set ::config::user::voice_volume     [expr double([itf'slider::get_pos $itfopt::($itf::opt,voice)]) / 10.0]
  67. proc update_var {} {
  68.     }
  69.         oz'delay 0.1
  70.         oz'widget::fadeto $widget 0 0.1
  71.     oz'event {
  72.     }
  73.         oz'delay [expr $delay - 0.2]
  74.     oz'event {
  75.     }
  76.         oz'delay 0.1
  77.         oz'widget::fadeto $widget 1 0.1
  78.     oz'event {
  79.     }
  80.         eval "oz'label::property $label -color $color -text \\\"$text\\\""
  81.     oz'event {
  82.     set color "1 1 1"
  83. proc subtitle {widget label who text delay} {
  84. ## ===================================================== ##
  85. ##   The after effect of the first Vision                ##
  86. ## ===================================================== ##
  87. source "[AUTO]/introduction.mvwrap.tcl"
  88.   chainEvent { standardFadein }
  89.   chainEvent { showInterface }
  90.   chainEvent { initializeGame }
  91.   callChainEvent "newsavegame"
  92. event "next" {
  93.   ShowIntroPanel
  94.     showMouse
  95.   chainEvent {
  96.   chainEvent {standardFadein}
  97.   chainEvent {cameraFadeout 0}
  98.   introduction::new logo -play
  99.   oz'event {oz'track::play $::music_track "sound/music/introKeepsake.ogg" -repeat 1}
  100.   ozqSound::Volume $s 0
  101.   wq'widget::delete& introduction::logoB
  102.   wq'widget::waitfor [set introduction::logoB] -animate
  103.   set s [ozqSound::NewFX2  "sound/cutscenes/lb.ogg"]
  104.   introduction::new logoB
  105.   chainEvent {cameraFadein 1000}
  106.     setCamera "menu"
  107.   chainEvent {
  108.     bind next 3 1 1 1
  109.   chainEvent { 
  110.   set ::ref_ambient2d_volume $::config::user::soundfx_volume
  111.   set ::ref_music_volume     $::config::user::music_volume
  112.   set ::ref_soundfx_volume   $::config::user::soundfx_volume
  113.   set ::ref_voice_volume     $::config::user::voice_volume
  114.   set ::itf::back 0
  115.         }        
  116.                     }        
  117.             wq'widget::fadeto $::itf::opt  0
  118.         if $::itf::opt {
  119.         wq'widget::fadeto $::itf::vbox  0
  120.         wq'widget::fadeto $::itf::logo  0
  121.         
  122.         }
  123.             return
  124.             oz'flush
  125.             wq'widget::delete& ::itf::intro
  126.             wq'widget::delete& ::itf::opt
  127.             wq'widget::delete& ::itf::vbox
  128.             wq'widget::delete& ::itf::vers
  129.             wq'widget::delete& ::itf::logo
  130.             wq'widget::fadeto $::itf::message 1
  131.             oz'widget::child [FOREGROUNDWIDGET] $::itf::message 0.5
  132.             oz'widget::property $::itf::message -pos 0.0625 0.416666 -alpha 0
  133.             set ::itf::message [new itf'message $::lng::i_create]
  134.             wq'widget::fadeto $::itf::intro 0 -wait
  135.             }
  136.                 wq'widget::fadeto $::itf::opt  0
  137.             if $::itf::opt {
  138.             wq'widget::fadeto $::itf::vbox  0
  139.             wq'widget::fadeto $::itf::logo  0
  140.         if {$i == 1} {
  141.         
  142.         }
  143.             if ![file exists "[ROOT]/save/savegame$i.tcl"] break
  144.         for {set i 1} {$i <= 5} {incr i} {
  145.     proc continue {} {
  146.     }
  147.         oz'flush
  148.         
  149.         wq'widget::delete& ::itf::intro
  150.         wq'widget::delete& ::itf::opt
  151.         wq'widget::delete& ::itf::logo
  152.         wq'widget::delete& ::itf::vbox
  153.         wq'widget::delete& ::itf::vers
  154.         }
  155.             }
  156.                 oz'event {set ::isGameReady 1}
  157.                 oz'event {wizEnableMouse}
  158.                 oz'event {standardFadein}
  159.                 oz'event {showInterface}
  160.                 oz'event {initializeGame}
  161.             if !\$::isGameReady {
  162.         oz'event {
  163.         }
  164.             }
  165.                 }
  166.                     closeGameNoSave
  167.                     ozMessage "$::lng::i_corrupted"
  168.                 if [catch {source "[ROOT]/save/savegame$i.tcl"}] {
  169.             } else {
  170.                 source "[ROOT]/save/savegame$i.tcl"
  171.             if [info exists ::debug_] {
  172.         oz'event {
  173.         oz'event {wizqEntityStopFollow Zak}
  174.         wizqWaitQueue 1
  175.         # Wait for Block 1
  176.         oz'event {cameraFadeout 0}
  177.         oz'event {showMouse}
  178.         wq'widget::delete& introduction::introduction
  179.         wq'widget::waitfor $introduction::introduction -animate
  180.         }
  181.           standardFadein
  182.         chainEvent {
  183.         }]
  184.           oz'event {delete $w}
  185.           oz'event {delete $l}
  186.           subtitle $w $l Nathaniel "$::lng::introN10"  5
  187.           oz'event {oz'delay 3.5}
  188.           subtitle $w $l Nathaniel "$::lng::introN9"  9
  189.           oz'event {oz'delay 1}
  190.           subtitle $w $l Nathaniel "$::lng::introN8"  7
  191.           oz'event {oz'delay 6.5}
  192.           subtitle $w $l Nathaniel "$::lng::introN7"  4
  193.           oz'event {oz'delay 4.5}
  194.           subtitle $w $l Nathaniel "$::lng::introN6"  6.5
  195.           oz'event {oz'delay 4}
  196.           subtitle $w $l Nathaniel "$::lng::introN5"  2
  197.           oz'event {oz'delay 3.5}
  198.           subtitle $w $l Nathaniel "$::lng::introN4"  6.5
  199.           oz'event {oz'delay 1.5}
  200.          }        
  201.             wq'widget::fadeto $::itf::opt  0
  202.         if $::itf::opt {
  203.         wq'widget::fadeto $::itf::vbox  0
  204.         wq'widget::fadeto $::itf::logo  0
  205.         
  206.         }
  207.             return
  208.             oz'flush
  209.             wq'widget::delete& ::itf::intro
  210.             wq'widget::delete& ::itf::opt
  211.             wq'widget::delete& ::itf::vbox
  212.             wq'widget::delete& ::itf::vers
  213.             wq'widget::delete& ::itf::logo
  214.             wq'widget::fadeto $::itf::message 1
  215.             oz'widget::child [FOREGROUNDWIDGET] $::itf::message 0.5
  216.             oz'widget::property $::itf::message -pos 0.0625 0.416666 -alpha 0
  217.             set ::itf::message [new itf'message $::lng::i_create]
  218.             wq'widget::fadeto $::itf::intro 0 -wait
  219.             }
  220.                 wq'widget::fadeto $::itf::opt  0
  221.             if $::itf::opt {
  222.             wq'widget::fadeto $::itf::vbox  0
  223.             wq'widget::fadeto $::itf::logo  0
  224.         if {$i == 1} {
  225.         
  226.         }
  227.             if ![file exists "[ROOT]/save/savegame$i.tcl"] break
  228.         for {set i 1} {$i <= 5} {incr i} {
  229.     proc continue {} {
  230.     }
  231.         oz'flush
  232.         
  233.         wq'widget::delete& ::itf::intro
  234.         wq'widget::delete& ::itf::opt
  235.         wq'widget::delete& ::itf::logo
  236.         wq'widget::delete& ::itf::vbox
  237.         wq'widget::delete& ::itf::vers
  238.         }
  239.             }
  240.                 oz'event {set ::isGameReady 1}
  241.                 oz'event {wizEnableMouse}
  242.                 oz'event {standardFadein}
  243.                 oz'event {showInterface}
  244.                 oz'event {initializeGame}
  245.             if !\$::isGameReady {
  246.         oz'event {
  247.         }
  248.             }
  249.                 }
  250.                     closeGameNoSave
  251.                     ozMessage "$::lng::i_corrupted"
  252.                 if [catch {source "[ROOT]/save/savegame$i.tcl"}] {
  253.             } else {
  254.                 source "[ROOT]/save/savegame$i.tcl"
  255.             if [info exists ::debug_] {
  256.         oz'event {
  257.         oz'event {wizqEntityStopFollow Zak}
  258.         wizqWaitQueue 1
  259.         # Wait for Block 1
  260.         oz'event {cameraFadeout 0}
  261.         oz'event {showMouse}
  262.         wq'widget::delete& introduction::introduction
  263.         wq'widget::waitfor $introduction::introduction -animate
  264.         }
  265.           standardFadein
  266.         chainEvent {
  267.         }]
  268.           oz'event {delete $w}
  269.           oz'event {delete $l}
  270.           subtitle $w $l Nathaniel "$::lng::introN10"  7.22
  271.           oz'event {oz'delay 1.5}
  272.           subtitle $w $l Nathaniel "$::lng::introN9"  10
  273.           oz'event {oz'delay 2}
  274.           subtitle $w $l Nathaniel "$::lng::introN8"  7
  275.           oz'event {oz'delay 4.7}
  276.           subtitle $w $l Nathaniel "$::lng::introN7"  6
  277.           oz'event {oz'delay 3.5}
  278.           subtitle $w $l Nathaniel "$::lng::introN6"  7.2
  279.           oz'event {oz'delay 2.5}
  280.           subtitle $w $l Nathaniel "$::lng::introN5"  4
  281.           oz'event {oz'de           subtitle $w $l Nathaniel "$::lng::introN3"  4
  282.           oz'event {oz'delay 2}
  283.           subtitle $w $l Nathaniel "$::lng::introN2"  4.5
  284.           oz'event {oz'delay 2}
  285.           subtitle $w $l Nathaniel "$::lng::introN1"  4
  286.           oz'event {oz'delay 12}
  287.         wizqQueue 1 [subst {
  288.         ozqSound::NewFX  "sound/vo/$::LNG/intro/introduction.ogg"
  289.         introduction::new introduction -foreground -depth 0.5 -nopan
  290.         oz'widget::child [FOREGROUNDWIDGET] $w 0
  291.         oz'widget::child $w $l 0
  292.         oz'widget::property $w -alpha 0
  293.         oz'label::property $l -pos 0.1 0.75 -font caligula.ttf -fsize 20 -alpha 1
  294.         set w [new oz'widget "widget"]
  295.         set l [new oz'label "label" 0.8 0.25]
  296.     }
  297.         oz'widget::child $this $($this,bar9) 0
  298.         oz'widget::child $this $($this,bar8) 0
  299.         oz'widget::child $this $($this,bar7) 0
  300.         oz'widget::child $this $($this,bar6) 0
  301.         oz'widget::child $this $($this,bar5) 0
  302.         oz'widget::child $this $($this,bar4) 0
  303.         oz'widget::child $this $($this,bar3) 0
  304.         oz'widget::child $this $($this,bar2) 0
  305.         oz'widget::child $this $($this,bar1) 0
  306.         oz'widget::child $this $($this,bar0) 0
  307.         oz'widget::child $this $($this,more) 0
  308.         oz'widget::child $this $($this,less) 0
  309.         set ($this,pos) 0
  310.         oz'widget::property $($this,bar9) -pos 0.191406 0.010417 -alpha 0
  311.         oz'widget::property $($this,bar8) -pos 0.175781 0.010417 -alpha 0
  312.         oz'widget::property $($this,bar7) -pos 0.160156 0.010417 -alpha 0
  313.         oz'widget::property $($this,bar6) -pos 0.144531 0.010417 -alpha 0
  314.         oz'widget::property $($this,bar5) -pos 0.128906 0.010417 -alpha 0
  315.         oz'widget::property $($this,bar4) -pos 0.113281 0.010417 -alpha 0
  316.         oz'widget::property $($this,bar3) -pos 0.097656 0.010417 -alpha 0
  317.         oz'widget::property $($this,bar2) -pos 0.082031 0.010417 -alpha 0
  318.         oz'widget::property $($this,bar1) -pos 0.066406 0.010417 -alpha 0
  319.         oz'widget::property $($this,bar0) -pos 0.050781 0.010417 -alpha 0
  320.         oz'button::property $($this,more) -click itf'slider::more $this
  321.         oz'button::property $($this,less) -click itf'slider::less $this
  322.         oz'widget::property $($this,more) -pos 0.213867 0.010417
  323.         oz'widget::property $($this,less) -pos 0.005859 0.010417
  324.         set ($this,bar9) [new oz'sprite "interface/[MODE]/slider/slider.bar9"]
  325.         set ($this,bar8) [new oz'sprite "interface/[MODE]/slider/slider.bar8"]
  326.         set ($this,bar7) [new oz'sprite "interface/[MODE]/slider/slider.bar7"]
  327.         set ($this,bar6) [new oz'sprite "interface/[MODE]/slider/slider.bar6"]
  328.         set ($this,bar5) [new oz'sprite "interface/[MODE]/slider/slider.bar5"]
  329.         set ($this,bar4) [new oz'sprite "interface/[MODE]/slider/slider.bar4"]
  330.         set ($this,bar3) [new oz'sprite "interface/[MODE]/slider/slider.bar3"]
  331.         set ($this,bar2) [new oz'sprite "interface/[MODE]/slider/slider.bar2"]
  332.         set ($this,bar1) [new oz'sprite "interface/[MODE]/slider/slider.bar1"]
  333.         set ($this,bar0) [new oz'sprite "interface/[MODE]/slider/slider.bar0"]
  334.         set ($this,less) [new oz'button "interface/[MODE]/slider/slider.less"]
  335.         set ($this,more) [new oz'button "interface/[MODE]/slider/slider.more"]
  336.     proc itf'slider {this} oz'widget {itf'slider} {
  337. class itf'slider {
  338.     }
  339.         oz'flush
  340.         chainEvent {closeGameNoSave}
  341.         chainEvent {standardFadeout}
  342.         close $fid
  343.         puts $fid $config
  344.         set fid [open "../res/user.tcl" "w"]
  345.         set config "set soundfx_volume $::config::user::soundfx_volume\nset voice_volume $::config::user::voice_volume\nset music_volume $::config::user::music_volume\nset gamma_correction $::config::user::gamma_correction"
  346.     proc quit {} {
  347.     }
  348.         }
  349.             oz'flush
  350.         
  351.             wq'widget::fadeto $::itf::opt 1
  352.             oz'widget::child [FOREGROUNDWIDGET] $::itf::opt 0.5
  353.             oz'widget::property $::itf::opt -pos 0.328125 0.276042 -alpha 0
  354.             set ::itf::opt [new itfopt]
  355.         if {$::itf::opt == 0} {
  356.     proc option {} {
  357.     }
  358.         oz'flush
  359.         oz'event {ShowSaveGamePanel}
  360.         wq'widget::delete& ::itf::intro
  361.         wq'widget::delete& ::itf::opt
  362.         wq'widget::delete& ::itf::vers
  363.         wq'widget::delete& ::itf::vbox
  364.         wq'widget::delete& ::itf::logo
  365.         wq'widget::fadeto $::itf::intro 0 -wait
  366.         set ($this,enter) [new oz'button "interface/[MODE]/intro/intro.enter"]
  367.         set ($this,icon)  [new oz'sprite "interface/[MODE]/intro/intro.icon/intro.icon.$icon"]
  368.         }
  369.             set ($this,ss)    [new oz'sprite "save/newgamess-[MODE]"]
  370.         } else {
  371.             set ($this,ss)    [new oz'sprite "save/ss$n-[MODE]"]
  372.         if [file exists "[ROOT]/save/ss$n-[MODE].tga"] {
  373.         set ($this,bg)    [new oz'sprite "interface/[MODE]/intro/intro.continue.bg"]
  374.         
  375.         }
  376.             }
  377.                 set icon [expr int(rand() * 10)]
  378.                 set roomname "Unknown"
  379.             if [catch {source "[ROOT]/save/savegame$n-info.tcl"}] {
  380.         if [file exists "[ROOT]/save/savegame$n-info.tcl"] {
  381.         
  382.         set icon [expr int(rand() * 10)]
  383.         set roomname "Unknown"
  384.     proc itf'game {this n} oz'widget {itf'game} {
  385. class itf'game {
  386.     }
  387.         delete $($this,gamma)
  388.         delete $($this,sfx)
  389.         delete $($this,music)
  390.         delete $($this,voice)
  391.         delete $($this,bg)
  392.     proc ~itfopt {this} {
  393.     }
  394.         itf'slider::set_pos $($this,gamma) [expr int($::config::user::gamma_correction * 10)]
  395.         itf'slider::set_pos $($this,music) [expr int($::config::user::music_volume     * 25)]
  396.         itf'slider::set_pos $($this,sfx)   [expr int($::config::user::soundfx_volume   * 10)]
  397.         itf'slider::set_pos $($this,voice) [expr int($::config::user::voice_volume     * 10)]
  398.         oz'widget::child $this $($this,gamma)          0
  399.         oz'widget::child $this $($this,music)          0
  400.         oz'widget::child $this $($this,sfx)            0
  401.         oz'widget::child $this $($this,voice)          0
  402.         
  403.         oz'widget::child $this $($this,bg)             0.5
  404.         
  405.         oz'widget::property $($this,gamma) -pos [expr 0.072266 - 0.001] [expr 0.296875 - 0.004]
  406.         oz'widget::property $($this,music) -pos [expr 0.072266 - 0.001] [expr 0.182292 - 0.004]
  407.         oz'widget::property $($this,sfx)   -pos 0.072266 [expr 0.109375 - 0.004]
  408.         oz'widget::property $($this,voice) -pos 0.072266 [expr 0.036459 - 0.004]
  409.         set ($this,gamma) [new itf'slider]
  410.         set ($this,sfx)   [new itf'slider]
  411.         set ($this,music) [new itf'slider]
  412.         set ($this,voice) [new itf'slider]
  413.         set ($this,bg) [new oz'sprite "interface/[MODE]/opt/opt.bg"]
  414.     proc itfopt {this} oz'widget {itfopt} {
  415. class itfopt {
  416.     }
  417.         oz'flush
  418.         update_var
  419.         incr ($this,pos) 1
  420.         oz'widget::fadeto $($this,bar$($this,pos)) 1
  421.         if {$($this,pos) >= 10} return
  422.         oz'flush
  423.     proc more {this} {
  424.     }
  425.         oz'flush
  426.         update_var
  427.         oz'widget::fadeto $($this,bar$($this,pos)) 0
  428.         incr ($this,pos) -1
  429.         if {$($this,pos) <= 0} return
  430.         oz'flush
  431.     proc less {this} {
  432.     }
  433.         }
  434.             oz'widget::alpha $($this,bar$i) 0
  435.         for {set i $p} {$i < 10} {incr i} {
  436.         }
  437.             oz'widget::alpha $($this,bar$i) 1
  438.         for {set i 0} {$i < $p} {incr i} {
  439.         set ($this,pos) $p
  440.     proc set_pos {this p} {
  441.     }
  442.         return $($this,pos)
  443.     proc get_pos {this} {
  444.     }
  445.         delete $($this,bar9)
  446.         delete $($this,bar8)
  447.         delete $($this,bar7)
  448.         delete $($this,bar6)
  449.         delete $($this,bar5)
  450.         delete $($this,bar4)
  451.         delete $($this,bar3)
  452.         delete $($this,bar2)
  453.         delete $($this,bar1)
  454.         delete $($this,bar0)
  455.         delete $($this,less)
  456.         delete $($this,more)
  457.     proc ~itf'slider {this} {
  458.         oz'widget::property $::itf::delete -pos 0.0625 0.416666 -alpha 0
  459.         set ::itf::delete [new itf'delete $n]
  460.         
  461.         oz'event {oz'delay 0.5}
  462.         CloseSaveGamePanel
  463.     proc erase {n} {
  464.     }
  465.         oz'flush
  466.         
  467.         }
  468.             }
  469.                 oz'event {set ::isGameReady 1}
  470.                 oz'event {wizEnableMouse}
  471.                 oz'event {standardFadein}
  472.                 oz'event {oz'delay 0.01}
  473.                 DeleteSaveGamePanel
  474.                 oz'event {showInterface}
  475.                 oz'event {initializeGame}
  476.             if !\$::isGameReady {
  477.         oz'event {
  478.         }
  479.             }
  480.                 }
  481.                     closeGameNoSave
  482.                     ozMessage "$::lng::i_corrupted"
  483.                 if [catch {source "[ROOT]/save/savegame$n.tcl"}] {
  484.             } else {
  485.                 source "[ROOT]/save/savegame$n.tcl"
  486.             if [info exists ::debug_] {
  487.         oz'event {
  488.         oz'event {wizqEntityStopFollow Zak}
  489.         oz'event {oz'track::stop $::music_track}
  490.        
  491.         oz'event {standardFadeout}
  492.         oz'event {wizDisableMouse}
  493.         oz'event {oz'delay 0.25}
  494.         CloseSaveGamePanel
  495.         ozIMenu enable help
  496.         iactive interface.help true
  497.         ozIMenu enable menu
  498.         iactive interface.sidebar true
  499.     proc enter2 {n c} {
  500.     }
  501.         oz'flush
  502.         
  503.         wq'widget::fadeto $::itf::message 1
  504.         oz'widget::child [FOREGROUNDWIDGET] $::itf::message 0.5
  505.         oz'widget::property $::itf::message -pos 0.0625 0.416666 -alpha 0
  506.         set ::itf::message [new itf'message2 $::lng::h_warning $n]
  507.         oz'event {oz'delay 0.5}
  508.         CloseSaveGamePanel
  509.     proc enter {n c} {
  510.     }
  511.         delete $($this,time)
  512.         delete $($this,name)
  513.         delete $($this,erase)
  514.         delete $($this,history)
  515.         delete $($this,enter)
  516.         delete $($this,icon)
  517.         delete $($this,ss)
  518.         delete $($this,bg)
  519.     proc ~itf'game {this} {
  520.     }
  521.         oz'widget::child $this $($this,time)  0
  522.         oz'widget::child $this $($this,name)  0
  523.         oz'widget::child $this $($this,erase) 0
  524.         oz'widget::child $this $($this,history) 0
  525.         oz'widget::child $this $($this,enter) 0
  526.         oz'widget::child $this $($this,icon)  1
  527.         oz'widget::child $this $($this,ss)    1
  528.         oz'widget::child $this $($this,bg)    0.5
  529.         oz'widget::property $($this,erase) -pos 0.188477 0.096354
  530.         oz'widget::property $($this,history) -pos 0.465820 0.110677
  531.         oz'widget::property $($this,enter) -pos 0.188477 [expr 0.031250 + 0.001]
  532.         oz'widget::property $($this,icon)  -pos 0.5 0
  533.         oz'button::property $($this,erase) -click itf'game::erase $n
  534.         oz'button::property $($this,history) -click itf'game::enter $n $icon
  535.         oz'button::property $($this,enter) -click itf'game::enter2 $n $icon
  536.         oz'label::property $($this,time) -text "$time"
  537.         oz'label::property $($this,name) -text "$name"
  538.         catch {set name $::lng::roomName($roomname)}
  539.         set name ""
  540.         oz'label::property $($this,time) -pos 0.234375 0.087239 -font system.ttf -fsize 14 -color 1 1 1
  541.         oz'label::property $($this,name) -pos 0.234375 0.026041 -font system.ttf -fsize 16 -color 1 1 1
  542.         set time [clock format $time -format "%x %H:%M"]
  543.         set time [file mtime "[ROOT]/save/savegame$n.tcl"]
  544.         
  545.         set ($this,time)  [new oz'label "time" 0.227539 0.061197]
  546.         set ($this,name)  [new oz'label "name" 0.227539 0.061197]
  547.         set ($this,erase) [new oz'button "interface/[MODE]/intro/intro.erase"]
  548.         set ($this,history) [new oz'button "interface/[MODE]/intro/intro.history"]
  549.   set ::itf::opt 0
  550.   set ::itf::history 0
  551.   set ::itf::game5 0
  552.   set ::itf::game4 0
  553.   set ::itf::game3 0
  554.   set ::itf::game2 0
  555.   set ::itf::game1 0
  556.   hideInterface
  557.   hideMouse
  558.   set ::isGameReady 0
  559.   wizqEntityStopFollow Zak
  560.   updateVolume
  561.   updateGamma
  562.   chainEvent {wizEntityHide Npc}
  563.   wizqEntityModel Npc "/character/mustavio/mustavio.cal3d"
  564. event "main" {
  565.     cursor "introduction/infoCursor.tga"
  566.     layer background "introduction/scrollIntro" 0 0 0 0 0 0 0 0
  567. camera "info" {
  568.     cursor "introduction/introCursor.tga"
  569.     layer background "introduction/intro" 0 0 0 0 0 0 0 0
  570. camera "intro" {
  571.     cursor "introduction/menuCursor.tga"
  572.     layer background "introduction/menu" 0 0 0 0 0 0 0 0
  573. camera "menu" {
  574.   setCamera "intro"
  575. event "Entrance" {
  576.   ozSet "npcDiscussion" ""
  577.   oz'event {oz'delay 0.25}
  578.     }
  579.       wizEntityHide Zak
  580.       wizEntityShow Lydia
  581.     chainEvent {
  582.       ([ozGet "lydiaOnGround"] == "C" && [ozGet "zakOnGround"]   == "A")} {
  583.   if {([ozGet "zakOnGround"]   == "C" && [ozGet "lydiaOnGround"] == "A") ||
  584.       wizqEntityResumeFollow Zak
  585.   } else {
  586.     wizqEntityStopFollow Zak
  587.   } elseif { [ozGet "mainCharacter"] == "zak" } {
  588.     wizqEntityStopFollow Zak
  589.   } elseif { [ozGet "characterControlled"] == "zak" } {
  590.       wizqEntityStopFollow Zak
  591.   if {[ozGet "zakPresence"] == "away"} {
  592.       
  593.       chainEvent { switchAppearance }
  594.   } elseif {[ozGet "sanctuaryZakSwitch"] == "initiated"} {
  595.       }
  596.           ozEntityZak follownormal 0
  597.           ozEntityLydia follownormal 1
  598.       oz'event {
  599.     chainEvent { switchAppearance }
  600.   } elseif { [ozGet "mainCharacter"] == "zak" } {
  601.       }
  602.           ozEntityZak follownormal 0
  603.           ozEntityLydia follownormal 1
  604.       oz'event {
  605.       oz'event {switchAppearance}
  606.   if {[ozGet "characterControlled"] == "Zak"} {
  607.     oz'event {ozEntityZak hide}
  608.   if { [ozGet "zakHide"] == "initiated" } {
  609.     oz'event {ozEntityZak hide}
  610.   } else {
  611.     oz'event {ozEntityZak show}
  612.   if { [ozGet "puzzleZak"] == "complete" } {
  613.   SetModelLydia
  614.     oz'event {ozEntityZak follownormal 1}
  615.     wizqEntityModel Zak "/character/zakWolf/zakWolf.cal3d"
  616.   } else {
  617.     oz'event {ozEntityZak follownormal 0}
  618.     wizqEntityModel Zak "/character/zakHuman/zakHuman.cal3d"
  619.   } elseif { [ozGet "zakForm"] == "human" } {
  620.     oz'event {ozEntityZak follownormal 0}
  621.     wizqEntityModel Zak "/character/zakDragon/zakDragon.cal3d"
  622.   } elseif { [ozGet "zakForm"] == "dragon" } {
  623.     oz'event {ozEntityZak follownormal 1}
  624.     wizqEntityModel Zak "/character/zakCat/zakCat.cal3d"
  625.   if { [ozGet "zakForm"] == "cat" } {
  626.     ozSet "trialRoomDoorSeen" "complete"
  627.       [ozGet "trialTriumphDoor"] == "open"} {
  628.       [ozGet "trialWisdomDoor"] == "open" || \
  629.   if {[ozGet "trialAllegianceDoor"] == "open" || \
  630.   ozSet "libraryZoomIn" ""
  631.   chainCallEvent optionnalConversation.optionnalConversation
  632.   ozSet "ghostWhiningVar" [expr 10000 + [ random 5000]]
  633.   updateVolume
  634.   source "../res/config.tcl"
  635.   close $fid
  636.   puts $fid $config
  637.   set fid [open "../res/user.tcl" "w"]
  638.   set config "set soundfx_volume $::config::user::soundfx_volume\nset voice_volume $::config::user::voice_volume\nset music_volume $::config::user::music_volume\nset gamma_correction $::config::user::gamma_correction"
  639. proc initializeGame { } {
  640.     }
  641.         oz'flush
  642.         
  643.         DeleteSaveGamePanel
  644.         wq'widget::fadeto $::itf::delete 1
  645.         oz'widget::child [FOREGROUNDWIDGET] $::itf::delete 0.5
  646.         oz'button::disable $($this,enter0)
  647.         incr max -1
  648.         }
  649.             incr max
  650.             }
  651.                 break
  652.             if ![file exists "[ROOT]/save/$n/$max.tcl"] {
  653.         while 1 {
  654.         set max 0
  655.         oz'label::property $($this,time) -text "$time"
  656.         oz'label::property $($this,name) -text "$name"
  657.         catch {set name $::lng::roomName($roomname)}
  658.         set name ""
  659.         oz'label::property $($this,time) -pos 0.234375 0.087239 -font system.ttf -fsize 14 -color 1 1 1
  660.         oz'label::property $($this,name) -pos 0.234375 0.026041 -font system.ttf -fsize 16 -color 1 1 1 
  661.         set time [ctime $time]
  662.         set time [file mtime "[ROOT]/save/savegame$n.tcl"]
  663.         
  664.         set ($this,enter7) [new oz'button "interface/[MODE]/intro/intro.enter"]
  665.         set ($this,enter6) [new oz'button "interface/[MODE]/intro/intro.enter"]
  666.         set ($this,enter5) [new oz'button "interface/[MODE]/intro/intro.enter"]
  667.         set ($this,enter4) [new oz'button "interface/[MODE]/intro/intro.enter"]
  668.         set ($this,enter3) [new oz'button "interface/[MODE]/intro/intro.enter"]
  669.         set ($this,enter2) [new oz'button "interface/[MODE]/intro/intro.enter"]
  670.         set ($this,enter1) [new oz'button "interface/[MODE]/intro/intro.enter"]
  671.         set ($this,enter0) [new oz'button "interface/[MODE]/intro/intro.enter"]
  672.         set ($this,time7)  [new oz'label "time7" 0.227539 0.061197]
  673.         set ($this,time6)  [new oz'label "time6" 0.227539 0.061197]
  674.         set ($this,time5)  [new oz'label "time5" 0.227539 0.061197]
  675.         set ($this,time4)  [new oz'label "time4" 0.227539 0.061197]
  676.         set ($this,time3)  [new oz'label "time3" 0.227539 0.061197]
  677.         set ($this,time2)  [new oz'label "time2" 0.227539 0.061197]
  678.         set ($this,time1)  [new oz'label "time1" 0.227539 0.061197]
  679.         set ($this,time0)  [new oz'label "time0" 0.227539 0.061197]
  680.         
  681.         set ($this,time)  [new oz'label "time" 0.227539 0.061197]
  682.         set ($this,name)  [new oz'label "name" 0.227539 0.061197]
  683.         set ($this,erase) [new oz'button "interface/[MODE]/intro/intro.erase"]
  684.         set ($this,enter) [new oz'button "interface/[MODE]/intro/intro.enter"]
  685.         set ($this,icon)  [new oz'sprite "interface/[MODE]/intro/intro.icon/intro.icon.$icon"]
  686.         }
  687.             set ($this,ss)    [new oz'sprite "save/newgamess-[MODE]"]
  688.         } else {
  689.             set ($this,ss)    [new oz'sprite "save/ss$n-[MODE]"]
  690.         if [file exists "[ROOT]/save/ss$n-[MODE].tga"] {
  691.         set ($this,bg)    [new oz'sprite "interface/[MODE]/history/history.bg"]
  692.         
  693.         }
  694.             }
  695.                 set icon [expr int(rand() * 10)]
  696.                 set roomname "Unknown"
  697.             if [catch {source "[ROOT]/save/savegame$n-info.tcl"}] {
  698.         if [file exists "[ROOT]/save/savegame$n-info.tcl"] {
  699.         
  700.         set icon [expr int(rand() * 10)]
  701.         set roomname "Unknown"
  702.     proc itf'history {this n} oz'widget {itf'game} {
  703. class itf'history {
  704.     wq'widget::delete& ::itf::back
  705.     wq'widget::delete& ::itf::history
  706.     wq'widget::delete& ::itf::game5
  707.     wq'widget::delete& ::itf::game4
  708.     wq'widget::delete& ::itf::game3
  709.     wq'widget::delete& ::itf::game2
  710.     wq'widget::delete& ::itf::game1
  711. proc DeleteSaveGamePanel {} {
  712.     wq'widget::fadeto $::itf::back  0
  713.     wq'widget::fadeto $::itf::history 0
  714.     wq'widget::fadeto $::itf::game5 0
  715.     wq'widget::fadeto $::itf::game4 0
  716.     wq'widget::fadeto $::itf::game3 0
  717.     wq'widget::fadeto $::itf::game2 0
  718.     wq'widget::fadeto $::itf::game1 0
  719. proc CloseSaveGamePanel {} {
  720.     oz'event {wizEnableMouse}
  721.     }
  722.         oz'delay 0.125
  723.         oz'widget::fadeto [set ::itf::back] 1
  724.         oz'widget::child $this $($this,time0)  0
  725.         
  726.         oz'widget::child $this $($this,time)  0
  727.         oz'widget::child $this $($this,name)  0
  728.         oz'widget::child $this $($this,erase) 0
  729.         oz'widget::child $this $($this,enter) 0
  730.         oz'widget::child $this $($this,icon)  1
  731.         oz'widget::child $this $($this,ss)    1
  732.         oz'widget::child $this $($this,bg)    0.5
  733.         
  734.         oz'widget::property $($this,enter7) -pos 0.187500 [expr 0.766927 - 0.000]
  735.         oz'widget::property $($this,enter6) -pos 0.187500 [expr 0.684896 - 0.000]
  736.         oz'widget::property $($this,enter5) -pos 0.187500 [expr 0.601563 - 0.000]
  737.         oz'widget::property $($this,enter4) -pos 0.187500 [expr 0.518229 - 0.000]
  738.         oz'widget::property $($this,enter3) -pos 0.187500 [expr 0.434896 - 0.000]
  739.         oz'widget::property $($this,enter2) -pos 0.187500 [expr 0.351563 - 0.000]
  740.         oz'widget::property $($this,enter1) -pos 0.187500 [expr 0.268229 - 0.000]
  741.         oz'widget::property $($this,enter0) -pos 0.187500 [expr 0.184896 - 0.000]
  742.         oz'widget::property $($this,erase) -pos 0.188477 0.096354
  743.         oz'widget::property $($this,enter) -pos 0.188477 [expr 0.031250 + 0.001]
  744.         oz'widget::property $($this,icon)  -pos 0.5 0
  745.         oz'button::property $($this,enter7) -click itf'history::enter_old $($this,gamenb7) $n $icon
  746.         oz'button::property $($this,enter6) -click itf'history::enter_old $($this,gamenb6) $n $icon
  747.         oz'button::property $($this,enter5) -click itf'history::enter_old $($this,gamenb5) $n $icon
  748.         oz'button::property $($this,enter4) -click itf'history::enter_old $($this,gamenb4) $n $icon
  749.         oz'button::property $($this,enter3) -click itf'history::enter_old $($this,gamenb3) $n $icon
  750.         oz'button::property $($this,enter2) -click itf'history::enter_old $($this,gamenb2) $n $icon
  751.         oz'button::property $($this,enter1) -click itf'history::enter_old $($this,gamenb1) $n $icon
  752.         oz'button::property $($this,enter0) -click itf'history::enter_old $($this,gamenb0) $n $icon
  753.         oz'button::property $($this,erase) -click itf'game::erase $n
  754.         oz'button::property $($this,enter) -click itf'game::enter2 $n $icon
  755.         }
  756.             incr p
  757.             set ($this,gamenb$p) $i
  758.             oz'button::enable $($this,enter$p)
  759.             oz'label::property $($this,time$p) -text $time
  760.                                                -font system.ttf -fsize 16 -color 1 1 1
  761.             oz'label::property $($this,time$p) -pos 0.234375 [expr 0.083333*$p + 0.177] \
  762.             catch {set time $::lng::roomName($roomname)}
  763.             set time ""
  764.             
  765.             }
  766.                 }
  767.                     set icon [expr int(rand() * 10)]
  768.                     set roomname "Unknown"
  769.                 if [catch {source "[ROOT]/save/$n/$i-info.tcl"}] {
  770.             if [file exists "[ROOT]/save/$n/$i-info.tcl"] {
  771.             set icon [expr int(rand() * 10)]
  772.             set roomname "Unknown"
  773.             }
  774.                 break
  775.             if ![file exists "[ROOT]/save/$n/$i.tcl"] {
  776.         for {set i $max} {$i >= 0 && $i > [expr $max - 8]} {incr i -1} {
  777.         
  778.         set ($this,gamenb7) 0
  779.         set ($this,gamenb6) 0
  780.         set ($this,gamenb5) 0
  781.         set ($this,gamenb4) 0
  782.         set ($this,gamenb3) 0
  783.         set ($this,gamenb2) 0
  784.         set ($this,gamenb1) 0
  785.         set ($this,gamenb0) 0
  786.         set p 0
  787.         
  788.         oz'button::disable $($this,enter7)
  789.         oz'button::disable $($this,enter6)
  790.         oz'button::disable $($this,enter5)
  791.         oz'button::disable $($this,enter4)
  792.         oz'button::disable $($this,enter3)
  793.         oz'button::disable $($this,enter2)
  794.         oz'button::disable $($this,enter1)
  795.         oz'event {ShowIntroPanel}
  796.         wq'widget::fadeto $::itf::message 0 -wait
  797.     proc ok {} {
  798.     }
  799.         delete $($this,label)
  800.         delete $($this,ok)
  801.         delete $($this,bg)
  802.     proc ~itf'message {this} {
  803.     }
  804.         oz'widget::child $this $($this,label) 0
  805.         oz'widget::child $this $($this,ok)    0
  806.         oz'widget::child $this $($this,bg)    0.5
  807.         oz'label::property $($this,label) -text "$msg"
  808.         oz'label::property $($this,label) -pos 0.053710 0.016927 -font caligula.ttf -fsize 24 -color 1 1 1 
  809.         oz'button::property $($this,ok) -click itf'message::ok
  810.         oz'widget::property $($this,ok) -pos 0.419922 0.089844
  811.         set ($this,label) [new oz'label  "message" 0.768554 0.058593]
  812.         set ($this,ok)    [new oz'button "interface/[MODE]/intro/intro.ok"]
  813.         set ($this,bg)    [new oz'sprite "interface/[MODE]/intro/intro.message.bg"]
  814.     proc itf'message {this msg} oz'widget {itf'message} {
  815. class itf'message {
  816.     }
  817.         oz'flush
  818.         
  819.         }
  820.             }
  821.                 oz'event {set ::isGameReady 1}
  822.                 oz'event {wizEnableMouse}
  823.                 oz'event {standardFadein}
  824.                 oz'event {oz'delay 0.01}
  825.                 DeleteSaveGamePanel
  826.                 oz'event {showInterface}
  827.                 oz'event {initializeGame}
  828.             if !\$::isGameReady {
  829.         oz'event {
  830.         }
  831.             }
  832.                 }
  833.                     closeGameNoSave
  834.                     ozMessage "$::lng::i_corrupted"
  835.                 if [catch {source "[ROOT]/save/$n/$slot.tcl"}] {
  836.             } else {
  837.                 source "[ROOT]/save/$n/$slot.tcl"
  838.             if [info exists ::debug_] {
  839.         oz'event {
  840.         oz'event {wizqEntityStopFollow Zak}
  841.         oz'event {oz'track::stop $::music_track}
  842.        
  843.         oz'event {standardFadeout}
  844.         oz'event {wizDisableMouse}
  845.         oz'event {oz'delay 0.25}
  846.         CloseSaveGamePanel
  847.         ozIMenu enable help
  848.         iactive interface.help true
  849.         ozIMenu enable menu
  850.         iactive interface.sidebar true
  851.     proc enter_old {slot n c} {
  852.     }
  853.         delete $($this,enter7)
  854.         delete $($this,enter6)
  855.         delete $($this,enter5)
  856.         delete $($this,enter4)
  857.         delete $($this,enter3)
  858.         delete $($this,enter2)
  859.         delete $($this,enter1)
  860.         delete $($this,enter0)
  861.         delete $($this,time7)
  862.         delete $($this,time6)
  863.         delete $($this,time5)
  864.         delete $($this,time4)
  865.         delete $($this,time3)
  866.         delete $($this,time2)
  867.         delete $($this,time1)
  868.         delete $($this,time0)
  869.         delete $($this,time)
  870.         delete $($this,name)
  871.         delete $($this,erase)
  872.         delete $($this,enter)
  873.         delete $($this,icon)
  874.         delete $($this,ss)
  875.         delete $($this,bg)
  876.     proc ~itf'history {this} {
  877.     }
  878.         oz'widget::child $this $($this,enter7)  0
  879.         oz'widget::child $this $($this,enter6)  0
  880.         oz'widget::child $this $($this,enter5)  0
  881.         oz'widget::child $this $($this,enter4)  0
  882.         oz'widget::child $this $($this,enter3)  0
  883.         oz'widget::child $this $($this,enter2)  0
  884.         oz'widget::child $this $($this,enter1)  0
  885.         oz'widget::child $this $($this,enter0)  0
  886.         oz'widget::child $this $($this,time7)  0
  887.         oz'widget::child $this $($this,time6)  0
  888.         oz'widget::child $this $($this,time5)  0
  889.         oz'widget::child $this $($this,time4)  0
  890.         oz'widget::child $this $($this,time3)  0
  891.         oz'widget::child $this $($this,time2)  0
  892.         oz'widget::child $this $($this,time1)  0
  893.                 catch {file mkdir "[ROOT]/save/\$i"}
  894.                 catch {file copy -force "[ROOT]/save/ss[expr \$i+1]-[MODE].tga" "[ROOT]/save/ss\$i-[MODE].tga"}
  895.                 catch {file copy -force "[ROOT]/save/savegame[expr \$i+1]-info.tcl" "[ROOT]/save/savegame\$i-info.tcl"}
  896.                 catch {file copy -force "[ROOT]/save/savegame[expr \$i+1].tcl" "[ROOT]/save/savegame\$i.tcl"}
  897.             for {set i $n} {\$i < \$m} {incr i} {
  898.             }
  899.                 }
  900.                     break
  901.                     set m [expr \$i-1]
  902.                 if ![file exists "[ROOT]/save/savegame\$i.tcl"] {
  903.             for {set i $n} {\$i <= 7} {incr i} {
  904.             set m 0
  905.         oz'event {
  906.         wq'widget::fadeto $::itf::delete 0 -wait
  907.     proc yes {n} {
  908.     }
  909.         delete $($this,label)
  910.         delete $($this,no)
  911.         delete $($this,yes)
  912.         delete $($this,bg)
  913.     proc ~itf'delete {this} {
  914.     }
  915.         oz'widget::child $this $($this,label) 0
  916.         oz'widget::child $this $($this,no)    0
  917.         oz'widget::child $this $($this,yes)   0
  918.         oz'widget::child $this $($this,bg)    0.5
  919.                                           -text $::lng::i_confirm
  920.         oz'label::property $($this,label) -pos 0.053710 0.016927 -font caligula.ttf -fsize 24 -color 1 1 1 \
  921.         oz'button::property $($this,no)  -click itf'delete::no
  922.         oz'widget::property $($this,no)  -pos 0.560547 0.089849
  923.         oz'button::property $($this,yes) -click itf'delete::yes $n
  924.         oz'widget::property $($this,yes) -pos 0.279297 0.089849
  925.         set ($this,label) [new oz'label  "question" 0.768554 0.058593]
  926.         set ($this,no)    [new oz'button "interface/[MODE]/intro/intro.no"]
  927.         set ($this,yes)   [new oz'button "interface/[MODE]/intro/intro.yes"]
  928.         set ($this,bg)    [new oz'sprite "interface/[MODE]/intro/intro.delete.bg"]
  929.     proc itf'delete {this n} oz'widget {itf'delete} {
  930. class itf'delete {
  931.     }
  932.         oz'flush
  933.         wq'widget::delete& ::itf::message
  934.         
  935.         }
  936.             oz'delay 0.125
  937.             oz'widget::fadeto [set ::itf::back] 1
  938.             oz'widget::child [FOREGROUNDWIDGET] [set ::itf::back] 0.5
  939.             oz'widget::property [set ::itf::back] -pos 0.703125 0.791666 -alpha 0
  940.             set ::itf::back [new itf'back]
  941.         oz'event {
  942.         oz'event {oz'delay 0.125}
  943.         wq'widget::fadeto $::itf::history 1
  944.         oz'widget::child [FOREGROUNDWIDGET] $::itf::history 0.5
  945.         oz'widget::property $::itf::history -pos 0.062500 0.041667 -alpha 0
  946.         set ::itf::history [new itf'history $n]
  947.         wq'widget::fadeto $::itf::message 0 -wait
  948.     proc ok {n} {
  949.     }
  950.         delete $($this,label)
  951.         delete $($this,ok)
  952.         delete $($this,bg)
  953.     proc ~itf'message2 {this} {
  954.     }
  955.         oz'widget::child $this $($this,label) 0
  956.         oz'widget::child $this $($this,ok)    0
  957.         oz'widget::child $this $($this,bg)    0.5
  958.         oz'label::property $($this,label) -text "$msg"
  959.         oz'label::property $($this,label) -pos 0.053710 0.020 -font system.ttf -fsize 16 -color 1 1 1 
  960.         oz'button::property $($this,ok) -click itf'message2::ok $n
  961.         oz'widget::property $($this,ok) -pos 0.419922 0.089844
  962.         set ($this,label) [new oz'label  "message" 0.768554 [expr 0.058593]]
  963.         set ($this,ok)    [new oz'button "interface/[MODE]/intro/intro.ok"]
  964.         set ($this,bg)    [new oz'sprite "interface/[MODE]/intro/intro.message.bg"]
  965.     proc itf'message2 {this msg n} oz'widget {itf'message2} {
  966. class itf'message2 {
  967.     }
  968.         oz'flush
  969.         wq'widget::delete& ::itf::message
  970.         
  971.         oz'widget::property $($this,quit)     -pos 0.028320 0.223958
  972.         oz'widget::property $($this,option)   -pos 0.028320 0.160156
  973.         oz'widget::property $($this,continue) -pos 0.028320 0.096354
  974.         oz'widget::property $($this,newgame)  -pos 0.028320 0.032552
  975.         set ($this,quit.label)     [new oz'label "quit"     0.227539 0.059895]
  976.         set ($this,option.label)   [new oz'label "option"   0.227539 0.059895]
  977.         set ($this,continue.label) [new oz'label "continue" 0.227539 0.059895]
  978.         set ($this,newgame.label)  [new oz'label "newgame"  0.227539 0.059895]
  979.         set ($this,quit)     [new oz'button "interface/[MODE]/intro/intro.quit"]
  980.         set ($this,option)   [new oz'button "interface/[MODE]/intro/intro.option"]
  981.         set ($this,continue) [new oz'button "interface/[MODE]/intro/intro.continue"]
  982.         set ($this,newgame)  [new oz'button "interface/[MODE]/intro/intro.newgame"]
  983.         set ($this,bg) [new oz'sprite "interface/[MODE]/intro/intro.bg"]
  984.     proc itf'intro {this} oz'widget {itf'intro} {
  985. class itf'intro {
  986.     }
  987.         oz'flush
  988.         
  989.         DeleteSaveGamePanel
  990.         ShowIntroPanel
  991.         oz'event {oz'delay 0.5}
  992.         CloseSaveGamePanel
  993.     proc click {} {
  994.     }
  995.         delete $($this,back.label)
  996.         delete $($this,back)
  997.         delete $($this,bg)
  998.     proc ~itf'back {this} {
  999.     }
  1000.         oz'widget::child $this $($this,back.label) 0
  1001.         oz'widget::child $this $($this,back)       0
  1002.         oz'widget::child $this $($this,bg)         0.5
  1003.                                                -center 0 -text $::lng::i_back
  1004.         oz'label::property $($this,back.label) -pos 0.080242 0.050781 -font caligula.ttf -fsize 24 -color 1 1 1 \
  1005.         oz'button::property $($this,back) -click itf'back::click
  1006.         oz'widget::property $($this,back) -pos 0.025391 0.059896
  1007.         set ($this,back.label) [new oz'label  "back" 0.131835 0.061197]
  1008.         set ($this,back)       [new oz'button "interface/[MODE]/intro/intro.back"]
  1009.         set ($this,bg)         [new oz'sprite "interface/[MODE]/intro/intro.back.bg"]
  1010.     proc itf'back {this} oz'widget {itf'back} {
  1011. class itf'back {
  1012.     }
  1013.         oz'flush
  1014.         
  1015.         wq'widget::delete& ::itf::delete
  1016.         oz'event {ShowSaveGamePanel}
  1017.         wq'widget::fadeto $::itf::delete 0 -wait
  1018.     proc no {} {
  1019.     }
  1020.         oz'flush
  1021.         
  1022.         wq'widget::delete& ::itf::delete
  1023.         }
  1024.             }
  1025.                 oz'event {ShowSaveGamePanel}
  1026.             } else {
  1027.                 oz'event {ShowIntroPanel}
  1028.             if {\$m == 1} {
  1029.             catch {file delete -force "[ROOT]/save/\$m"}
  1030.             catch {file delete -force "[ROOT]/save/ss\$m-[MODE].tga"}
  1031.             catch {file delete -force "[ROOT]/save/savegame\$m-info.tcl"}
  1032.             catch {file delete -force "[ROOT]/save/savegame\$m.tcl"}
  1033.         
  1034.             }
  1035.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/7.tcl" "[ROOT]/save/\$i/7.tcl"}
  1036.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/6.tcl" "[ROOT]/save/\$i/6.tcl"}
  1037.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/5.tcl" "[ROOT]/save/\$i/5.tcl"}
  1038.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/4.tcl" "[ROOT]/save/\$i/4.tcl"}
  1039.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/3.tcl" "[ROOT]/save/\$i/3.tcl"}
  1040.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/2.tcl" "[ROOT]/save/\$i/2.tcl"}
  1041.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/1.tcl" "[ROOT]/save/\$i/1.tcl"}
  1042.                 catch {file copy -force "[ROOT]/save/[expr \$i+1]/0.tcl" "[ROOT]/save/\$i/0.tcl"}
  1043.         oz'event {hideMouse}
  1044.         oz'event {cameraFadein 0}
  1045.         oz'event {oz'track::stop $::music_track}
  1046.         
  1047.         oz'event {standardFadeout}
  1048.         oz'event {wizDisableMouse}
  1049.         oz'event {oz'delay 0.25}
  1050.         wq'widget::fadeto $::itf::intro 0
  1051.         }
  1052.             wq'widget::fadeto $::itf::opt  0
  1053.         if $::itf::opt {
  1054.         wq'widget::fadeto $::itf::vbox  0
  1055.         wq'widget::fadeto $::itf::logo  0
  1056.         ozIMenu enable help
  1057.         iactive interface.help true
  1058.         ozIMenu enable menu
  1059.         iactive interface.sidebar true
  1060.         file copy -force "[ROOT]/save/newgamess-[MODE].tga" "[ROOT]/save/ss$i-[MODE].tga"
  1061.         file copy -force "[ROOT]/save/newgame-info.tcl" "[ROOT]/save/savegame$i-info.tcl"
  1062.         file copy -force "[ROOT]/save/newgame.tcl" "[ROOT]/save/savegame$i.tcl"
  1063.         
  1064.         set i 1
  1065.         }
  1066.             return
  1067.             oz'flush
  1068.             wq'widget::delete& ::itf::intro
  1069.             wq'widget::delete& ::itf::opt
  1070.             wq'widget::delete& ::itf::logo
  1071.             wq'widget::delete& ::itf::vbox
  1072.             wq'widget::delete& ::itf::vers
  1073.             wq'widget::fadeto $::itf::message 1
  1074.             oz'widget::child [FOREGROUNDWIDGET] $::itf::message 0.5
  1075.             oz'widget::property $::itf::message -pos 0.0625 0.416666 -alpha 0
  1076.             set ::itf::message [new itf'message $::lng::i_tooMuchGame]
  1077.             wq'widget::fadeto $::itf::intro 0 -wait
  1078.             }
  1079.                 wq'widget::fadeto $::itf::opt  0
  1080.             if $::itf::opt {
  1081.             wq'widget::fadeto $::itf::vbox  0
  1082.             wq'widget::fadeto $::itf::logo  0
  1083.         if {$i == 6} {
  1084.         }
  1085.             if ![file exists "[ROOT]/save/savegame$i.tcl"] break
  1086.         for {set i 1} {$i <= 5} {incr i} {
  1087.     proc newgame {} {
  1088.     }
  1089.         delete $($this,quit.label)
  1090.         delete $($this,continue.label)
  1091.         delete $($this,newgame.label)
  1092.         delete $($this,quit)
  1093.         delete $($this,continue)
  1094.         delete $($this,newgame)
  1095.         delete $($this,bg)
  1096.     proc ~itf'intro {this} {
  1097.     }
  1098.         oz'widget::child $this $($this,quit.label)     0
  1099.         oz'widget::child $this $($this,option.label)   0
  1100.         oz'widget::child $this $($this,continue.label) 0
  1101.         oz'widget::child $this $($this,newgame.label)  0
  1102.         oz'widget::child $this $($this,quit)           0
  1103.         oz'widget::child $this $($this,option)         0
  1104.         oz'widget::child $this $($this,continue)       0
  1105.         oz'widget::child $this $($this,newgame)        0
  1106.         oz'widget::child $this $($this,bg)             0.5
  1107.         
  1108.                                                    -center 0 -text $::lng::i_quit
  1109.         oz'label::property $($this,quit.label)     -pos 0.079218 0.214843 -font caligula.ttf -fsize 24 -color 1 1 1 \
  1110.                                                    -center 0 -text $::lng::i_option
  1111.         oz'label::property $($this,option.label)   -pos 0.079218 0.151041 -font caligula.ttf -fsize 24 -color 1 1 1 \
  1112.                                                    -center 0 -text $::lng::i_continue
  1113.         oz'label::property $($this,continue.label) -pos 0.079218 0.087239 -font caligula.ttf -fsize 24 -color 1 1 1 \
  1114.                                                    -center 0 -text $::lng::i_newGame
  1115.         oz'label::property $($this,newgame.label)  -pos 0.079218 0.024739 -font caligula.ttf -fsize 24 -color 1 1 1 \
  1116.         oz'button::property $($this,quit)     -click itf'intro::quit
  1117.         oz'button::property $($this,option)   -click itf'intro::option
  1118.         oz'button::property $($this,continue) -click itf'intro::continue
  1119.         oz'button::property $($this,newgame)  -click itf'intro::newgame
  1120.