home *** CD-ROM | disk | FTP | other *** search
Wrap
global t_speed, chunk, c_cursor, cLinks, cRechts, cStraight, cDown, cHand, cityLoc, mymovie, myFrame, mypuppets, myvisibility, mycastnr, stringref, colorsetting, hintlist, ckey, CDloc, mac, sep, shineHpath, cdobj, fixpal, hschwarz, mainpath, ShineID, bigmovie, Hymne1, Hymne2, Finger, callmovie, dead on savethatmovie global stringref, chunk, t_speed, access, cityLoc, prevLoc, geenaTalk1, cops, TCMCsnake, RamsMov, symbols, c_symbols, schrank, cLinks, cRechts, cStraight, Finger, cDown, cHand, c_cursor, old_access, shamen_visit, s1vol, s2vol, Hymne1, Hymne2, Locations, Nat_deckel, gee_bar, geenadate, TCMCpizza, duration, schrank_ok, S_open, liftopen, gee_terminal, RRDoor, solarpower, nRpos, mpos, chip, treppe, liftH, KiZidoor, kx, ky, kkos, madEnter, orgelH, stuhlH, mainH, sideH, mytempo, VentH, colorpower, kellergitter, room1term, room2term, room3term, water1, water2, water3, SHA_code, badschlange, mymovie, myFrame, mypuppets, myvisibility, mycastnr, colorsetting, hintlist, stadtmov, oldframe, eetermpwr, hymnpos, ckey, ShineID, H2mixavail, gCitysnd, gCity2snd, solution, bigmovie, selfdtimer, hloaded, Myclone, back, dampf, m_schrank, shi_schrank, sha_schrank, fin, dead makeshineID() set oldpal to the framePalette set oldframe to the frame set mymovie to string(the moviePath & the movieName) set myFrame to the frame savecondition() go("Blackend") go(1, shineHpath & "saver") if objectp(me) then me(mdispose) end if if the machineType = 256 then set me to FileIO(mnew, "?write", "Mygame.TXT") else set me to FileIO(mnew, "?write", "Mygame") end if if objectp(me) then set GList to list("stringref", "chunk", "t_speed", "access", "cityLoc", "prevLoc", "geenaTalk1", "cops", "TCMCsnake", "RamsMov", "symbols", "c_symbols", "schrank", "cLinks", "cRechts", "cStraight", "Finger", "cDown", "cHand", "c_cursor", "old_access", "shamen_visit", "s1vol", "s2vol", "Hymne1", "Hymne2", "locations", "Nat_deckel", "gee_bar", "geenadate", "TCMCpizza", "duration", "schrank_ok", "S_open", "liftopen", "gee_terminal", "RRdoor", "solarpower", "nRpos", "mpos", "chip", "treppe", "lifth", "kizidoor", "kx", "ky", "kkos", "madEnter", "orgelh", "stuhlh", "mainh", "sideh", "mytempo", "venth", "colorpower", "kellergitter", "room1term", "room2term", "room3term", "water1", "water2", "water3", "sha_code", "badschlange", "mymovie", "myframe", "mypuppets", "myvisibility", "mycastnr", "colorsetting", "hintlist", "stadtmov", "oldframe", "eetermpwr", "hymnpos", "ckey", "ShineID", "H2mixavail", "gCitysnd", "gCity2snd", "solution", "bigmovie", "selfdtimer", "hloaded", "Myclone", "back", "m_schrank", "shi_schrank", "sha_schrank", "fin", "dead") me(mWriteString, "SHINEDATA" & RETURN) set i to count(GList) set stringref to [] repeat with x = 1 to i setAt(stringref, x, 0) set mval to value(getAt(GList, x)) if stringp(mval) then setAt(stringref, x, 1) end if end repeat repeat with x = 1 to i setAt(stringref, x, 0) set mval to value(getAt(GList, x)) if voidp(mval) then set mval to -1 end if encrypt(mval) me(mWriteString, the result & RETURN) end repeat set GList to EMPTY me(mdispose) end if go(myFrame, mymovie) restorecondition() flushlists() end on savecondition set mypuppets to [] set myvisibility to [] set mycastnr to [] repeat with x = 1 to 48 setAt(mypuppets, x, the puppet of sprite x) setAt(myvisibility, x, the visible of sprite x) setAt(mycastnr, x, the castNum of sprite x) end repeat end on flushlists set mypuppets to EMPTY set myvisibility to EMPTY set mycastnr to EMPTY end on restorecondition repeat with x = 1 to 48 set the visible of sprite x to getAt(myvisibility, x) set the puppet of sprite x to getAt(mypuppets, x) set the castNum of sprite x to getAt(mycastnr, x) end repeat end on encrypt mval set a to string(mval) set b to EMPTY repeat with x = 1 to the number of chars in a set b to b & numToChar(charToNum(char x of a) + 7) end repeat return b end on decrypt mval set a to string(mval) set b to EMPTY repeat with x = 1 to the number of chars in a set b to b & numToChar(charToNum(char x of a) - 7) end repeat return b end on loadamovie loader2() end on loader2 global stringref, chunk, t_speed, access, cityLoc, prevLoc, geenaTalk1, cops, TCMCsnake, RamsMov, symbols, c_symbols, schrank, cLinks, cRechts, cStraight, Finger, cDown, cHand, c_cursor, old_access, shamen_visit, s1vol, s2vol, Hymne1, Hymne2, Locations, Nat_deckel, gee_bar, geenadate, TCMCpizza, duration, schrank_ok, S_open, liftopen, gee_terminal, RRDoor, solarpower, nRpos, mpos, chip, treppe, liftH, KiZidoor, kx, ky, kkos, madEnter, orgelH, stuhlH, mainH, sideH, mytempo, VentH, colorpower, kellergitter, room1term, room2term, room3term, water1, water2, water3, SHA_code, badschlange, mymovie, myFrame, mypuppets, myvisibility, mycastnr, colorsetting, hintlist, stadtmov, oldframe, eetermpwr, hymnpos, ckey, ShineID, H2mixavail, gCitysnd, gCity2snd, solution, bigmovie, selfdtimer, hloaded, Myclone, back, m_schrank, shi_schrank, sha_schrank, fin, dead, firststart set oldframe to the frame set mymovie to string(the moviePath & the movieName) set myFrame to the frame savecondition() if callmovie = "player" then else go("Blackend") go(1, shineHpath & "saver") end if if objectp(me) then me(mdispose) end if if the machineType = 256 then set me to FileIO(mnew, "?read", "TXT") else set me to FileIO(mnew, "?read", "TEXT") end if if objectp(me) then set ver to me(mReadLine) if ver = ("SHINEDATA" & RETURN) then closebarobj() clearGlobals() loadsetup() set GList to list("stringref", "chunk", "t_speed", "access", "cityLoc", "prevLoc", "geenaTalk1", "cops", "TCMCsnake", "RamsMov", "symbols", "c_symbols", "schrank", "cLinks", "cRechts", "cStraight", "Finger", "cDown", "cHand", "c_cursor", "old_access", "shamen_visit", "s1vol", "s2vol", "Hymne1", "Hymne2", "locations", "Nat_deckel", "gee_bar", "geenadate", "TCMCpizza", "duration", "schrank_ok", "S_open", "liftopen", "gee_terminal", "RRdoor", "solarpower", "nRpos", "mpos", "chip", "treppe", "lifth", "kizidoor", "kx", "ky", "kkos", "madEnter", "orgelh", "stuhlh", "mainh", "sideh", "mytempo", "venth", "colorpower", "kellergitter", "room1term", "room2term", "room3term", "water1", "water2", "water3", "sha_code", "badschlange", "mymovie", "myframe", "mypuppets", "myvisibility", "mycastnr", "colorsetting", "hintlist", "stadtmov", "oldframe", "eetermpwr", "hymnpos", "ckey", "ShineID", "H2mixavail", "gCitysnd", "gCity2snd", "solution", "bigmovie", "selfdtimer", "hloaded", "Myclone", "back", "m_schrank", "shi_schrank", "sha_schrank", "fin", "dead") set i to count(GList) decrypt(me(mReadToken, RETURN, RETURN)) set stringref to value(the result) repeat with x = 2 to i decrypt(me(mReadToken, RETURN, RETURN)) if getAt(stringref, x) = 0 then if value(the result) > -1 then do("set " & getAt(GList, x) & "=" & value(the result)) else end if next repeat end if do("set " & getAt(GList, x) & "=" & QUOTE & the result & QUOTE) end repeat set GList to [] me(mdispose) puppetPalette(0) restoreC_symbols() updateStage() pathfromID() if ShineID = "Shine1" then play frame "CDin1" else play frame "CDin2" end if checkcdloc() makesearchpath(ShineID) set GList to EMPTY makebarobj() puppetSound(0) puppetSound(2, 0) puppetSound(3, 0) go(myFrame, mymovie) restorecondition() flushlists() else alert("No Shine Game!" & RETURN & "Please choose a saved Game.") me(mdispose) go(myFrame, mymovie) restorecondition() end if set firststart to 1 else if callmovie = "player" then play done else go(myFrame, mymovie) restorecondition() flushlists() end if end if end on checkcdloc getCDrom(CDloc & "check" & sep) set my to the result if ShineID = "Shine1" then if my <> 1 then play frame "sureCD1" end if else if my <> 2 then play frame "sureCD2" end if end if end on restoreC_symbols repeat with x = 1 to 4 set c to getAt(c_symbols, x) if c = Hymne1 then setAt(c_symbols, x, Hymne1) next repeat end if if c = Hymne2 then setAt(c_symbols, x, Hymne2) next repeat end if if c = Finger then setAt(c_symbols, x, Finger) next repeat end if if c = ckey then setAt(c_symbols, x, ckey) end if end repeat end on getCDnew repeat with x = 65 to 90 set b to numToChar(x) & ":" & sep & "check" & sep getCDrom(b) set my to the result if (my = 1) or (my = 2) then set CDloc to numToChar(x) & ":" & sep exit end if end repeat if (x = 90) and ((my < 1) or (my > 2)) then alert("CD-ROM not found!") quit() end if end on loadsetup global colorsetting, CDloc, chunk, mac, sep, shineHpath set setfile to FileIO(mnew, "read", the moviePath & "SHINE.dat") if objectp(setfile) then set colorsetting to setfile(mReadWord) setfile(mReadLine) set CDloc to setfile(mReadToken, RETURN, RETURN) setfile(mReadLine) set chunk to value(setfile(mReadWord)) setfile(mReadLine) set mac to value(setfile(mReadWord)) setfile(mReadLine) set sep to setfile(mReadWord) setfile(mReadLine) set shineHpath to setfile(mReadToken, RETURN, RETURN) setfile(mReadLine) setfile(mdispose) else if (the movieName = "Shine") or (the movieName = "SHINE.EXE") then alert("File not found! The file " & QUOTE & "SHINE.dat" & QUOTE & " must reside inside the " & QUOTE & "SHINE" & QUOTE & "-folder." & RETURN & "If you started the game from your Hard Disk, please run the Installer again, if you tried to start the Game from CD-ROM, please start it from the folder on your Hard Disk.") quit() end if end if end on pathfromID if mac then if ShineID = "Shine1" then set CDloc to "Shine 1:" else if ShineID = "Shine2" then set CDloc to "Shine 2:" end if end if savesetup() end if end on savesetup set savelist to colorsetting & RETURN & CDloc & RETURN & chunk & RETURN & mac & RETURN & sep & RETURN & shineHpath & RETURN set setfile to FileIO(mnew, "write", shineHpath & "SHINE.dat") if objectp(setfile) then setfile(mWriteString, savelist) setfile(mdispose) end if end on getCDrom thepath set x to getNthFileNameInFolder(thepath, 1) if x = "A1XXX" then return 1 else if x = "A2XXX" then return 2 else if x <> EMPTY then return 3 else return 0 end if end if end if end on makeshineID getmainpath() set checkpath to the result & "check" & sep getCDrom(checkpath) set my to the result if my = 1 then set ShineID to "Shine1" else if my = 2 then set ShineID to "Shine2" end if end if end on getmainpath set olddel to the itemDelimiter set the itemDelimiter to sep set x to item 1 of the moviePath & the itemDelimiter set the itemDelimiter to olddel return x end on getcd cdname global ld openXLib("labeldrv") set ld to labeldrv(mnew) ld(msetrange, "A", "Z") set drive to ld(mgetdrive, cdname) closeXLib("labeldrv") ld(mdispose) return drive end on makecdobj global cdobj if the commandDown then else if mac then openXLib(the moviePath & "applecd xobj") if objectp(cdobj) then cdobj(mdispose) else set cdobj to applecd(mnew) cdobj(mEject) cdobj(mdispose) end if closeXLib(the moviePath & "applecd xobj") end if end if end on getmoviename set olditemdel to the itemDelimiter set the itemDelimiter to "." set me to item 1 of the movieName set the itemDelimiter to olditemdel return me end