Bubble Console:> Output will be written to E:/Temp/Bubble_Logs/Log.html Bubble Console:> Bubble 19.07.09 - (c) Jeroen P. Broks 'NALA_DX.exe' (CLR v4.0.30319: NALA_DX.exe): Loaded 'E:\Projects\Applications\VisualStudio\Bubble\NALA\DirectX\NALA_DX\bin\Windows\x86\Debug\KeraLua.dll'. Module was built without symbols. Bubble Console:> Uses Lua 5.3 by PUC-Rio Bubble Console:> No background found Bubble Console:> Looking for Init script! Bubble Console:> Loading Init Script: Script/System/init.nil WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create $INIT -- file Script/System/init.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: $INIT Bubble Console:> State "$INIT" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/System/init.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: Init script is being loaded!! Bubble Console:> Bubble Console:> Welcome to Phantasar! Bubble Console:> Join us on our travel to Dyrt! Bubble Console:> Done Bubble Console:> Quick forward to main menu! Bubble Console:> Compiling: MainMenu.nil WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create FLOW_MAINMENU -- file Script/Flow/MainMenu.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: FLOW_MAINMENU Bubble Console:> State "FLOW_MAINMENU" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/Flow/MainMenu.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: MainMenu: Use commands Bubble Console:> NIL says: Debug feature class! Bubble Console:> NIL says: Only needed to have an empty function Bubble Console:> NIL says: Is this the debug mode, or not? WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Music is available Bubble Console:> NIL says: Language Bubble Console:> NIL says: Subber Bubble Console:> NIL says: VarMetaIndex Bubble Console:> NIL says: Meta-Name Index Bubble Console:> NIL says: No new index! Bubble Console:> NIL says: What more? 2 table: 0DBC58C0 = 2 table: 0DBC6450 = WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> NIL says: MainMenu: Declare menu items and font Bubble Console:> NIL says: MainMenu: Define them Bubble Console:> NIL says: Load assets Bubble Console:> NIL says: Let's set up the menu item action functions! Bubble Console:> NIL says: MainMenu: class MenuItem Bubble Console:> NIL says: MainMenu: temp void Bubble Console:> NIL says: MainMenu: Init menu items Bubble Console:> NIL says: MainMenu: Let's ROCK, baby! Bubble Console:> NIL says: MainMenu:Translation done! Bubble Console:> Setting up MainMenu Bubble Console:> Define Menu Items Bubble Console:> Load font: "Fonts/abigail.24.jfbf" CONSTRUCTOR Bubble Console:> Font bundle "Fonts/abigail.24.jfbf" loaded and assigned to FONT:1 END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR Bubble Console:> Font bundle "Fonts/Blitz.jfbf" loaded and assigned to FONT:2 END CONS Bubble Console:> Create class Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #0: New Game Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #1: New Game+ Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #2: New Game: True Abyss Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #3: Continue a game Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #4: Encyclopedia Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #5: Jukebox Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #6: Websites Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #7: Repository & Bug tracker Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #8: Credits Bubble Console:> Menu Item constructor called Bubble Console:> Created menu item #9: Quit Bubble Console:> MainMenu should be successfully loaded Done Bubble Console:> Created new flow: FLOW_MAINMENU Bubble Console:> Chain to Main Menu Bubble Console:> Flow set to: FLOW_MAINMENU Bubble Console:> Main Menu Flow activated Bubble Console:> Loading sub: MUSIC WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create MUSIC -- file Script/Subs/SubMusic.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: MUSIC Bubble Console:> State "MUSIC" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/Subs/SubMusic.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: Debug feature class! Bubble Console:> NIL says: Only needed to have an empty function Bubble Console:> NIL says: Is this the debug mode, or not? WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Music is available Bubble Console:> NIL says: Language Bubble Console:> NIL says: Subber Bubble Console:> NIL says: VarMetaIndex Bubble Console:> NIL says: Meta-Name Index Bubble Console:> NIL says: No new index! Bubble Console:> NIL says: What more? 2 table: 0DC9F540 = 2 table: 0DCA0E68 = WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Done WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Loading music file "Music/StartUp/MainMenu.wav" WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Loading Audio: Music/StartUp/MainMenu.wav Retrieving from memstream Loaded Music/StartUp/MainMenu.wav Checking tag Assigned on AUDIO2531 NIL: Music/StartUp/MainMenu.wav stored in AUDIO2531 WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Font bundle "Fonts/Coolvetica.20.jfbf" loaded and assigned to BOXTEXT CONSTRUCTOR END CONS Bubble Console:> Load the mouse pointer!! CONSTRUCTOR END CONS Bubble Console:> Mouse pointer image changed to 'GFX/Alg/Mouse.png'! Bubble Console:> Time to start the flow! TQMGKey: Init letters CONSTRUCTOR END CONS 'NALA_DX.exe' (CLR v4.0.30319: NALA_DX.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.InteropServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.InteropServices.dll'. Cannot find or open the PDB file. CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Font released: FONT:2 CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create FLOW_NEWGAME -- file Script/Flow/NewGame.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: FLOW_NEWGAME Bubble Console:> State "FLOW_NEWGAME" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/Flow/NewGame.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: Debug feature class! Bubble Console:> NIL says: Only needed to have an empty function Bubble Console:> NIL says: Is this the debug mode, or not? WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Music is available Bubble Console:> NIL says: Language Bubble Console:> NIL says: Subber Bubble Console:> NIL says: VarMetaIndex Bubble Console:> NIL says: Meta-Name Index Bubble Console:> NIL says: No new index! Bubble Console:> NIL says: What more? 2 table: 07640B30 = 2 table: 076AE258 = WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> NIL says: Translating stage: Game Jolt! Bubble Console:> NIL says: Difficulty settings! Bubble Console:> NIL says: Language Bubble Console:> NIL says: To plus, or not to plus! That's the question! Bubble Console:> NIL says: Checkup! Is Game Jolt Actually allowed? Bubble Console:> NIL says: The actual stuff CONSTRUCTOR END CONS Bubble Console:> Loading sub: GAMEVARS WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create GAMEVARS -- file Script/Subs/SubGameVar.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: GAMEVARS Bubble Console:> State "GAMEVARS" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/Subs/SubGameVar.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: Loading GameVar Bubble Console:> NIL says: GV: Importing libraries Bubble Console:> NIL says: GV: predefs Bubble Console:> NIL says: GV: Clear Bubble Console:> NIL says: GV: Get Bubble Console:> NIL says: GV: Set Bubble Console:> NIL says: GV: Done Bubble Console:> NIL says: GV: Serialize Bubble Console:> NIL says: GV: Serialize -> Bool shit Bubble Console:> NIL says: GV: Serialize -> Numbering issues Bubble Console:> NIL says: GV: Serialize -> Nobody pulls my strings Bubble Console:> NIL says: GV: Sub Bubble Console:> NIL says: GV: Sub.Init! Bubble Console:> NIL says: GV: Sub.Boolean Bubble Console:> NIL says: GV: Sub.Num Bubble Console:> NIL says: GV: Sub.String Bubble Console:> NIL says: GV: Sub.VarCommunicate Bubble Console:> NIL says: GV: Compiling! Done CONSTRUCTOR Bubble Console:> Font bundle "Fonts/Coolvetica.20.jfbf" loaded and assigned to FONT:2 END CONS CONSTRUCTOR Bubble Console:> Font bundle "Fonts/Coolvetica.35.jfbf" loaded and assigned to FONT:3 END CONS CONSTRUCTOR Bubble Console:> Font bundle "Fonts/Blitz.jfbf" loaded and assigned to FONT:4 END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Added language 'EN' > 'English' Bubble Console:> Added language 'NL' > 'Dutch' CONSTRUCTOR END CONS GameJolt Init by: Secu/Sites/GameJolt Reading Site Information Is this Okay? Passed: True Bubble Console:> Allow Game Jolt outcome: true Done Bubble Console:> Created new flow: FLOW_NEWGAME Bubble Console:> Flow set to: FLOW_NEWGAME CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> $ERIC = Eric Bubble Console:> $MERYA = Merya Bubble Console:> $IRRAVONIA = Irravonia Bubble Console:> For now Scyndi will be called Seelah Gandra as her new name will be chosen later, after all Bubble Console:> $AZIELLA = Azi|"ella Bubble Console:> $KIRANA = Kirana Bubble Console:> $BRENDOR = Brendor Bubble Console:> $SHANDA = Shanda Bubble Console:> $DERNOR = Dernor Bubble Console:> For now Scyndi will be called Seelah Gandra as her new name will be chosen later, after all Bubble Console:> $REBECCA = Rebecca CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create FLOW_FIELD -- file Script/Flow/Field.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: FLOW_FIELD Bubble Console:> State "FLOW_FIELD" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/Flow/Field.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: Debug feature class! Bubble Console:> NIL says: Only needed to have an empty function Bubble Console:> NIL says: Is this the debug mode, or not? WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Music is available Bubble Console:> NIL says: Language Bubble Console:> NIL says: Subber Bubble Console:> NIL says: VarMetaIndex Bubble Console:> NIL says: Meta-Name Index Bubble Console:> NIL says: No new index! Bubble Console:> NIL says: What more? 2 table: 14DB7E08 = 2 table: 14DBA2C0 = WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. 2 table: 14DB7E30 = 2 table: 14DBB738 = Done Bubble Console:> Created new flow: FLOW_FIELD WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create PARTY -- file Script/Subs/SubParty.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: PARTY Bubble Console:> State "PARTY" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/Subs/SubParty.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: Loading Party Sub! Bubble Console:> NIL says: = Importing: libs/tables Bubble Console:> NIL says: = Importing: libs/strings Bubble Console:> NIL says: = Importing: libs/DarkText Bubble Console:> NIL says: DarkText - Translating Bubble Console:> NIL says: DarkText - Compiling Bubble Console:> NIL says: = Importing in-game stuff Bubble Console:> NIL says: Debug feature class! Bubble Console:> NIL says: Only needed to have an empty function Bubble Console:> NIL says: Is this the debug mode, or not? WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Music is available Bubble Console:> NIL says: Language Bubble Console:> NIL says: Subber Bubble Console:> NIL says: VarMetaIndex Bubble Console:> NIL says: Meta-Name Index Bubble Console:> NIL says: No new index! Bubble Console:> NIL says: What more? 2 table: 1512E4C8 = 2 table: 1512F490 = WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> NIL says: Loading: Boxes.nil Bubble Console:> NIL says: Loading: BoxPics.nil CONSTRUCTOR END CONS 2 table: 15136420 = Bubble Console:> NIL says: = Starting group! Bubble Console:> NIL says: = Constructor Bubble Console:> NIL says: = New Character Bubble Console:> NIL says: = Set level stats Bubble Console:> NIL says: = Back Char Bubble Console:> NIL says: = Char box Bubble Console:> NIL says: = Entire bar Bubble Console:> NIL says: Compiling Party Sub! CONSTRUCTOR END CONS CONSTRUCTOR Bubble Console:> Font bundle "Fonts/Party.jfbf" loaded and assigned to FONT:5 END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> table: 15133090 Done Bubble Console:> Young Irravonia Configured Bubble Console:> Creating stat Level for YoungIrravonia Bubble Console:> Parsing 9003 lines of LvStat data Bubble Console:> Creating stat BASE_Strength for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_Strength of 10 Bubble Console:> Creating stat PERMPOWERUP_Strength for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_Strength of 0 Bubble Console:> Creating stat BUFF_Strength for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_Strength of 0 Bubble Console:> Creating stat EQUIP_Strength for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_Strength of 0 Bubble Console:> Scripting END_Strength => SUM:BASE_Strength,PERMPOWERUP_Strength,BUFF_Strength,EQUIP_Strength Bubble Console:> Creating stat END_Strength for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_Strength of 10 Bubble Console:> Creating stat BASE_Defense for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_Defense of 9 Bubble Console:> Creating stat PERMPOWERUP_Defense for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_Defense of 0 Bubble Console:> Creating stat BUFF_Defense for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_Defense of 0 Bubble Console:> Creating stat EQUIP_Defense for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_Defense of 0 Bubble Console:> Scripting END_Defense => SUM:BASE_Defense,PERMPOWERUP_Defense,BUFF_Defense,EQUIP_Defense Bubble Console:> Creating stat END_Defense for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_Defense of 9 Bubble Console:> Creating stat BASE_Intelligence for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_Intelligence of 15 Bubble Console:> Creating stat PERMPOWERUP_Intelligence for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_Intelligence of 0 Bubble Console:> Creating stat BUFF_Intelligence for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_Intelligence of 0 Bubble Console:> Creating stat EQUIP_Intelligence for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_Intelligence of 0 Bubble Console:> Scripting END_Intelligence => SUM:BASE_Intelligence,PERMPOWERUP_Intelligence,BUFF_Intelligence,EQUIP_Intelligence Bubble Console:> Creating stat END_Intelligence for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_Intelligence of 15 Bubble Console:> Creating stat BASE_Resistance for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_Resistance of 14 Bubble Console:> Creating stat PERMPOWERUP_Resistance for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_Resistance of 0 Bubble Console:> Creating stat BUFF_Resistance for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_Resistance of 0 Bubble Console:> Creating stat EQUIP_Resistance for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_Resistance of 0 Bubble Console:> Scripting END_Resistance => SUM:BASE_Resistance,PERMPOWERUP_Resistance,BUFF_Resistance,EQUIP_Resistance Bubble Console:> Creating stat END_Resistance for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_Resistance of 14 Bubble Console:> Creating stat BASE_Agility for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_Agility of 8 Bubble Console:> Creating stat PERMPOWERUP_Agility for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_Agility of 0 Bubble Console:> Creating stat BUFF_Agility for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_Agility of 0 Bubble Console:> Creating stat EQUIP_Agility for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_Agility of 0 Bubble Console:> Scripting END_Agility => SUM:BASE_Agility,PERMPOWERUP_Agility,BUFF_Agility,EQUIP_Agility Bubble Console:> Creating stat END_Agility for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_Agility of 8 Bubble Console:> Creating stat BASE_Accuracy for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_Accuracy of 10 Bubble Console:> Creating stat PERMPOWERUP_Accuracy for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_Accuracy of 0 Bubble Console:> Creating stat BUFF_Accuracy for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_Accuracy of 0 Bubble Console:> Creating stat EQUIP_Accuracy for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_Accuracy of 0 Bubble Console:> Scripting END_Accuracy => SUM:BASE_Accuracy,PERMPOWERUP_Accuracy,BUFF_Accuracy,EQUIP_Accuracy Bubble Console:> Creating stat END_Accuracy for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_Accuracy of 10 Bubble Console:> Creating stat BASE_Evasion for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_Evasion of 5 Bubble Console:> Creating stat PERMPOWERUP_Evasion for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_Evasion of 0 Bubble Console:> Creating stat BUFF_Evasion for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_Evasion of 0 Bubble Console:> Creating stat EQUIP_Evasion for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_Evasion of 0 Bubble Console:> Scripting END_Evasion => SUM:BASE_Evasion,PERMPOWERUP_Evasion,BUFF_Evasion,EQUIP_Evasion Bubble Console:> Creating stat END_Evasion for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_Evasion of 5 Bubble Console:> Creating stat BASE_HP for YoungIrravonia Bubble Console:> YoungIrravonia has stat BASE_HP of 35 Bubble Console:> Creating stat PERMPOWERUP_HP for YoungIrravonia Bubble Console:> YoungIrravonia has stat PERMPOWERUP_HP of 0 Bubble Console:> Creating stat BUFF_HP for YoungIrravonia Bubble Console:> YoungIrravonia has stat BUFF_HP of 0 Bubble Console:> Creating stat EQUIP_HP for YoungIrravonia Bubble Console:> YoungIrravonia has stat EQUIP_HP of 0 Bubble Console:> Scripting END_HP => SUM:BASE_HP,PERMPOWERUP_HP,BUFF_HP,EQUIP_HP Bubble Console:> Creating stat END_HP for YoungIrravonia Bubble Console:> YoungIrravonia has stat END_HP of 35 Bubble Console:> Configuring HP, AP and Vitality Bubble Console:> Skill: 2 Bubble Console:> Max HP: 35 Bubble Console:> Max AP: 10 Bubble Console:> Max VIT: 10 Bubble Console:> Maxing Points HP Bubble Console:> Maxing Points VIT Bubble Console:> Configuring Skill #0 Bubble Console:> Configuring Skill #1 Bubble Console:> Configuring Skill #2 Bubble Console:> Configuring Skill #3 Bubble Console:> Configuring Skill #4 Bubble Console:> Created new character: YoungIrravonia Bubble Console:> Loading scenario GENSCEN/CH1/STARTGAME from file STARTGAME WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create FLOW_BOXTEXT -- file Script/Flow/FlowBoxtext.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: FLOW_BOXTEXT Bubble Console:> State "FLOW_BOXTEXT" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/Flow/FlowBoxtext.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> NIL says: Debug feature class! Bubble Console:> NIL says: Only needed to have an empty function Bubble Console:> NIL says: Is this the debug mode, or not? WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Music is available Bubble Console:> NIL says: Language Bubble Console:> NIL says: Subber Bubble Console:> NIL says: VarMetaIndex Bubble Console:> NIL says: Meta-Name Index Bubble Console:> NIL says: No new index! Bubble Console:> NIL says: What more? 2 table: 35B9AF48 = 2 table: 35B9BFD8 = WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> NIL says: Loading: Boxes.nil Bubble Console:> NIL says: Loading: BoxPics.nil CONSTRUCTOR END CONS 2 table: 1518CC20 = 2 table: 151879F0 = 2 table: 1518A0D8 = 2 table: 1518A448 = 2 table: 1518B320 = 2 table: 1518B758 = Bubble Console:> NIL says: DarkText - Translating Bubble Console:> NIL says: DarkText - Compiling 2 table: 151386A8 = Bubble Console:> Configuring Scenario library Done Bubble Console:> Created new flow: FLOW_BOXTEXT Bubble Console:> = 211 lines read! Bubble Console:> FlowField.ChainMap(" CH1_DUNG_Prison"," Prologue_Start") Bubble Console:> Loading Map: CH1_DUNG_Prison; Starting SASKIA script from label: Prologue_Start! Bubble Console:> Loading Map: CH1_DUNG_Prison Bubble Console:> = Kthura Bubble Console:> Loading Kthura map Maps/Kthura/CH1_DUNG_Prison/ KTHURA.LOAD.CHAT: LAYER = "#999" KTHURA.LOAD.CHAT: GRID = "32x32" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Zone" KTHURA.LOAD.CHAT: COORD = "768,704" KTHURA.LOAD.CHAT: Coordinates set(768,704) of Zone KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x32" KTHURA.LOAD.CHAT: TAG = "MARKER" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "0" KTHURA.LOAD.CHAT: ALPHA = "0" Alpha1000 set. 1000=0; 255=0; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "247, 0,0" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "128,800" KTHURA.LOAD.CHAT: Coordinates set(128,800) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "96,0" KTHURA.LOAD.CHAT: Coordinates set(96,0) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "160x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "320,0" KTHURA.LOAD.CHAT: Coordinates set(320,0) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "160x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Zone" KTHURA.LOAD.CHAT: COORD = "224,32" KTHURA.LOAD.CHAT: Coordinates set(224,32) of Zone KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "128x32" KTHURA.LOAD.CHAT: TAG = "Leave_Cell" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "0" KTHURA.LOAD.CHAT: ALPHA = "0" Alpha1000 set. 1000=0; 255=0; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "117, 221,254" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: DATA.Remark = "This field should Just allow the player to leave this cell once Rebecca has opened the door!" Unknown object key DATA.Remark KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "160,480" KTHURA.LOAD.CHAT: Coordinates set(160,480) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Floor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "32,64" KTHURA.LOAD.CHAT: Coordinates set(32,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "512x224" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "5" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Floor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "180, 25,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "416,544" KTHURA.LOAD.CHAT: Coordinates set(416,544) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall_LV.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "64,0" KTHURA.LOAD.CHAT: Coordinates set(64,0) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x96" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall_LV.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "32,32" KTHURA.LOAD.CHAT: Coordinates set(32,32) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x96" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall_LV.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "768,576" KTHURA.LOAD.CHAT: Coordinates set(768,576) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall_RV.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "480,0" KTHURA.LOAD.CHAT: Coordinates set(480,0) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x96" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall_RV.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "512,32" KTHURA.LOAD.CHAT: Coordinates set(512,32) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x96" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Wall_RV.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "288,224" KTHURA.LOAD.CHAT: Coordinates set(288,224) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Door/Gevangenisdeur64x64.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "256,0" KTHURA.LOAD.CHAT: Coordinates set(256,0) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "64x64" KTHURA.LOAD.CHAT: TAG = "GevangenisDeur" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Door/Gevangenisdeur64x64.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "288,256" KTHURA.LOAD.CHAT: Coordinates set(288,256) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/ExamRuins/EastWall2.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "544,64" KTHURA.LOAD.CHAT: Coordinates set(544,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x227" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/ExamRuins/EastWall2.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "352,384" KTHURA.LOAD.CHAT: Coordinates set(352,384) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/ExamRuins/WestWall2.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "0,64" KTHURA.LOAD.CHAT: Coordinates set(0,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x227" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/ExamRuins/WestWall2.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "352,320" KTHURA.LOAD.CHAT: Coordinates set(352,320) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/ExamRuins/SouthWall2.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "32,288" KTHURA.LOAD.CHAT: Coordinates set(32,288) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "512x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/ExamRuins/SouthWall2.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "288,416" KTHURA.LOAD.CHAT: Coordinates set(288,416) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Bench.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "512,135" KTHURA.LOAD.CHAT: Coordinates set(512,135) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x96" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/Bench.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "1" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Exit" KTHURA.LOAD.CHAT: COORD = "288,128" KTHURA.LOAD.CHAT: Coordinates set(288,128) of Exit KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "EnterCell" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "0" KTHURA.LOAD.CHAT: ALPHA = "0" Alpha1000 set. 1000=0; 255=0; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: DATA.Wind = "Wind" Unknown object key DATA.Wind KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "311,203" KTHURA.LOAD.CHAT: Coordinates set(311,203) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "Start_Brendor" KTHURA.LOAD.CHAT: LABELS = "Actor,,,,,,,," KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/heroes/Brendor.North.jpbf" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "254,134" KTHURA.LOAD.CHAT: Coordinates set(254,134) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "Start_Eric" KTHURA.LOAD.CHAT: LABELS = "Actor,,,,,,,," KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/heroes/Eric.East.jpbf" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "326,111" KTHURA.LOAD.CHAT: Coordinates set(326,111) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "Start_Irravonia" KTHURA.LOAD.CHAT: LABELS = "Actor,,,,,,,," KTHURA.LOAD.CHAT: DOMINANCE = "60" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/heroes/Irravonia.South.jpbf" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "386,140" KTHURA.LOAD.CHAT: Coordinates set(386,140) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "Start_Scyndi" KTHURA.LOAD.CHAT: LABELS = "Actor,,,,,,,," KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/heroes/Scyndi.West.jpbf" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "287,66" KTHURA.LOAD.CHAT: Coordinates set(287,66) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "Start_Rebecca" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "15" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/heroes/Rebecca.South.jpbf" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in #999 KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "331,837" KTHURA.LOAD.CHAT: Coordinates set(331,837) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/Prison/WallSkeleton.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error RemapLabels: Label syntax error Bubble Console:> Kthura map Maps/Kthura/CH1_DUNG_Prison/ loaded Bubble Console:> = Success! Bubble Console:> = NIL Script WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create MAP -- file Script/MapScript/CH1_DUNG_Prison.nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: MAP Bubble Console:> State "MAP" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/MapScript/CH1_DUNG_Prison.nil') if not(ok) then BubbleCrash(ret) else return ret end Bubble Console:> Welcome in jail! Done Bubble Console:> = SAKSIA Script WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Loading music file "Music/Dungeon/Prison.wav" WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Loading Audio: Music/Dungeon/Prison.wav Retrieving from memstream Loaded Music/Dungeon/Prison.wav Checking tag Assigned on AUDIO2367 NIL: Music/Dungeon/Prison.wav stored in AUDIO2367 WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Bubble Console:> Flow set to: FLOW_FIELD CONSTRUCTOR END CONS Bubble Console:> Created new box at (0,872); format 292x128; Insert(0,-127) CONSTRUCTOR END CONS Bubble Console:> Created new box at (292,872); format 292x128; Insert(-100,-127) Bubble Console:> Created new box at (584,872); format 292x128; Insert(-8,-127) Bubble Console:> Created new box at (876,872); format 292x128; Insert(-108,-127) Bubble Console:> Created new box at (1168,872); format 32x32; Insert(-16,-127) Bubble Console:> Created new box at (1168,904); format 32x32; Insert(-16,-10) Bubble Console:> Created new box at (1168,936); format 32x32; Insert(-16,-42) Bubble Console:> Created new box at (1168,968); format 32x32; Insert(-16,-74) Bubble Console:> Timetostartourstory! Bubble Console:> Loading scenario GENSCEN/CH1/STARTGAME from file PROLOGUE_START Bubble Console:> = 211 lines read! Bubble Console:> Boxtext request! Scen=PROLOGUE_START; Tag=A Bubble Console:> Flow set to: FLOW_BOXTEXT Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35C97270 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Large Man Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high CONSTRUCTOR END CONS Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! Bubble Console:> Flow set to: FLOW_BOXTEXT CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35D148E0 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Human Boy Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Eric Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35DC4300 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Elfish Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 239 pixels high Bubble Console:> Created new box at (0,761); format 1200x239; Insert(0,-16) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35D13CD8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Elfish Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E9A150 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Elfish Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E178C8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Fairy Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Irravonia Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35DC4968 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Elfish Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35D13C88 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Fairy Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Irravonia Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35DC9C10 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Elfish Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35DCF638 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Large Man Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Brendor Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E07400 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Elfish Girl Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35D10BA0 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Human Boy Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Eric Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35D1C798 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Large Man Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Brendor Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Flow set to: FLOW_FIELD Bubble Console:> Boxtext request! Scen=PROLOGUE_START; Tag=INT Bubble Console:> Flow set to: FLOW_BOXTEXT Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E9EEF8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Large Man Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! Bubble Console:> Flow set to: FLOW_BOXTEXT CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Flow set to: FLOW_FIELD Bubble Console:> Boxtext request! Scen=PROLOGUE_START; Tag=B Bubble Console:> Flow set to: FLOW_BOXTEXT Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E125A8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Eric Bubble Console:> number SP = 1 Bubble Console:> string PicDir = ERIC Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! Bubble Console:> Flow set to: FLOW_BOXTEXT CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E9B348 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Brendor Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35DD1D20 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Seelah Gandra Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35FE80B8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Eric Bubble Console:> number SP = 1 Bubble Console:> string PicDir = ERIC Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Flow set to: FLOW_FIELD Bubble Console:> Boxtext request! Scen=PROLOGUE_START; Tag=C Bubble Console:> Flow set to: FLOW_BOXTEXT Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35CA4510 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Irravonia Bubble Console:> number SP = 1 Bubble Console:> string PicDir = IRRAVONIA Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! Bubble Console:> Flow set to: FLOW_BOXTEXT CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E08CD8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Seelah Gandra Bubble Console:> number SP = 1 Bubble Console:> string PicDir = Scyndi Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35DC37C0 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Brendor Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E0B758 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Irravonia Bubble Console:> number SP = 1 Bubble Console:> string PicDir = IRRAVONIA Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35C9A1A0 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Brendor Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35DD04C0 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Eric Bubble Console:> number SP = 1 Bubble Console:> string PicDir = ERIC Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E11DB0 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Brendor Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35D0D720 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Irravonia Bubble Console:> number SP = 1 Bubble Console:> string PicDir = IRRAVONIA Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35FF17F8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Brendor Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35D0F188 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Irravonia Bubble Console:> number SP = 1 Bubble Console:> string PicDir = IRRAVONIA Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 158 pixels high Bubble Console:> Created new box at (0,842); format 1200x158; Insert(0,-97) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 35E944A8 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Brendor Bubble Console:> number SP = 1 Bubble Console:> string PicDir = BRENDOR Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Creating textbox! Bubble Console:> table Lines = table: 0DE9F590 Bubble Console:> string Voice = Bubble Console:> string PicSpc = GENERAL Bubble Console:> number SL = 1 Bubble Console:> string Header = Irravonia Bubble Console:> number SP = 1 Bubble Console:> string PicDir = IRRAVONIA Bubble Console:> string AltTxtFont = Bubble Console:> Done! CONSTRUCTOR END CONS Bubble Console:> Calculating box size Bubble Console:> Creating a box that is 150 pixels high Bubble Console:> Created new box at (0,850); format 1200x150; Insert(0,-105) Bubble Console:> So far so good! CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS CONSTRUCTOR END CONS Bubble Console:> Flow set to: FLOW_FIELD Bubble Console:> Let'schaintoIrravonia'shome! Bubble Console:> FlowField.ChainMap(" ch1_hub_irravoniahome"," Prologue") Bubble Console:> Loading Map: ch1_hub_irravoniahome; Starting SASKIA script from label: Prologue! Bubble Console:> Loading Map: ch1_hub_irravoniahome Bubble Console:> = Kthura Bubble Console:> Loading Kthura map Maps/Kthura/ch1_hub_irravoniahome/ KTHURA.LOAD.CHAT: LAYER = "GANG" KTHURA.LOAD.CHAT: GRID = "32x32" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "256,768" KTHURA.LOAD.CHAT: Coordinates set(256,768) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "32,128" KTHURA.LOAD.CHAT: Coordinates set(32,128) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "320x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "5" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "224,192" KTHURA.LOAD.CHAT: Coordinates set(224,192) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "128x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "160,96" KTHURA.LOAD.CHAT: Coordinates set(160,96) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "64x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "224,640" KTHURA.LOAD.CHAT: Coordinates set(224,640) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(R).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "224,64" KTHURA.LOAD.CHAT: Coordinates set(224,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "1" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(R).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "128,64" KTHURA.LOAD.CHAT: Coordinates set(128,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(R).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "608,608" KTHURA.LOAD.CHAT: Coordinates set(608,608) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(L).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "224,64" KTHURA.LOAD.CHAT: Coordinates set(224,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(L).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "224,672" KTHURA.LOAD.CHAT: Coordinates set(224,672) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "11,64" KTHURA.LOAD.CHAT: Coordinates set(11,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "118x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "256,64" KTHURA.LOAD.CHAT: Coordinates set(256,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "96x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "224,768" KTHURA.LOAD.CHAT: Coordinates set(224,768) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodLeft.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "352,64" KTHURA.LOAD.CHAT: Coordinates set(352,64) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x164" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodLeft.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "192,800" KTHURA.LOAD.CHAT: Coordinates set(192,800) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodRight.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "192,192" KTHURA.LOAD.CHAT: Coordinates set(192,192) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x36" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodRight.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "256,864" KTHURA.LOAD.CHAT: Coordinates set(256,864) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodTop.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "224,224" KTHURA.LOAD.CHAT: Coordinates set(224,224) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "128x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodTop.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "11,192" KTHURA.LOAD.CHAT: Coordinates set(11,192) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "208x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodTop.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "125,155" KTHURA.LOAD.CHAT: Coordinates set(125,155) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/heroes/YoungIrravonia.South.jpbf" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "21,221" KTHURA.LOAD.CHAT: Coordinates set(21,221) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "306,149" KTHURA.LOAD.CHAT: Coordinates set(306,149) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in GANG KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "333,160" KTHURA.LOAD.CHAT: Coordinates set(333,160) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: LAYER = "HUISKAMER" KTHURA.LOAD.CHAT: GRID = "32x32" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "21,608" KTHURA.LOAD.CHAT: Coordinates set(21,608) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "85,224" KTHURA.LOAD.CHAT: Coordinates set(85,224) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "736x320" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "2" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "693,192" KTHURA.LOAD.CHAT: Coordinates set(693,192) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "96x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "2" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "789,224" KTHURA.LOAD.CHAT: Coordinates set(789,224) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "149,192" KTHURA.LOAD.CHAT: Coordinates set(149,192) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "64x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "408,538" KTHURA.LOAD.CHAT: Coordinates set(408,538) of TiledArea KTHURA.LOAD.CHAT: INSERT = "-3,-26" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "71x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Woodfloor.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "21,488" KTHURA.LOAD.CHAT: Coordinates set(21,488) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(R).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "117,160" KTHURA.LOAD.CHAT: Coordinates set(117,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(R).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "661,160" KTHURA.LOAD.CHAT: Coordinates set(661,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(R).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "437,160" KTHURA.LOAD.CHAT: Coordinates set(437,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(R).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "21,448" KTHURA.LOAD.CHAT: Coordinates set(21,448) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(L).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "213,160" KTHURA.LOAD.CHAT: Coordinates set(213,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(L).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "757,160" KTHURA.LOAD.CHAT: Coordinates set(757,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(L).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "533,160" KTHURA.LOAD.CHAT: Coordinates set(533,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall(L).png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "85,480" KTHURA.LOAD.CHAT: Coordinates set(85,480) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "85,160" KTHURA.LOAD.CHAT: Coordinates set(85,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "245,160" KTHURA.LOAD.CHAT: Coordinates set(245,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "192x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "469,160" KTHURA.LOAD.CHAT: Coordinates set(469,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "64x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "661,0" KTHURA.LOAD.CHAT: Coordinates set(661,0) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x224" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "565,160" KTHURA.LOAD.CHAT: Coordinates set(565,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "96x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "789,160" KTHURA.LOAD.CHAT: Coordinates set(789,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x64" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Wall.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "117,608" KTHURA.LOAD.CHAT: Coordinates set(117,608) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodLeft.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "821,160" KTHURA.LOAD.CHAT: Coordinates set(821,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x384" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodLeft.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "475,544" KTHURA.LOAD.CHAT: Coordinates set(475,544) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodLeft.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "53,704" KTHURA.LOAD.CHAT: Coordinates set(53,704) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodTop.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "469,544" KTHURA.LOAD.CHAT: Coordinates set(469,544) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "356x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodTop.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "85,544" KTHURA.LOAD.CHAT: Coordinates set(85,544) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "320x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodTop.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "53,640" KTHURA.LOAD.CHAT: Coordinates set(53,640) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodRight.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "377,544" KTHURA.LOAD.CHAT: Coordinates set(377,544) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x32" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodRight.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "53,160" KTHURA.LOAD.CHAT: Coordinates set(53,160) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "32x388" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/WoodRight.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "261,448" KTHURA.LOAD.CHAT: Coordinates set(261,448) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Table.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "677,448" KTHURA.LOAD.CHAT: Coordinates set(677,448) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "19" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/Table.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "261,480" KTHURA.LOAD.CHAT: Coordinates set(261,480) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chairD.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "667,443" KTHURA.LOAD.CHAT: Coordinates set(667,443) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chairD.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "697,458" KTHURA.LOAD.CHAT: Coordinates set(697,458) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chairD.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "0,357" KTHURA.LOAD.CHAT: Coordinates set(0,357) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "TiledArea" KTHURA.LOAD.CHAT: COORD = "645,323" KTHURA.LOAD.CHAT: Coordinates set(645,323) of TiledArea KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "652,338" KTHURA.LOAD.CHAT: Coordinates set(652,338) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "682,335" KTHURA.LOAD.CHAT: Coordinates set(682,335) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "711,333" KTHURA.LOAD.CHAT: Coordinates set(711,333) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "218,353" KTHURA.LOAD.CHAT: Coordinates set(218,353) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "270,333" KTHURA.LOAD.CHAT: Coordinates set(270,333) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "295,339" KTHURA.LOAD.CHAT: Coordinates set(295,339) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "GFX/Textures/IHouse/chair.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "453,480" KTHURA.LOAD.CHAT: Coordinates set(453,480) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/people/Fairies/Feenalaria_Backside.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "412,394" KTHURA.LOAD.CHAT: Coordinates set(412,394) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/people/Fairies/Yannee.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" KTHURA.LOAD.CHAT: New object in HUISKAMER KTHURA.LOAD.CHAT: KIND = "Obstacle" KTHURA.LOAD.CHAT: COORD = "480,389" KTHURA.LOAD.CHAT: Coordinates set(480,389) of Obstacle KTHURA.LOAD.CHAT: INSERT = "0,0" KTHURA.LOAD.CHAT: ROTATION = "0" KTHURA.LOAD.CHAT: SIZE = "0x0" KTHURA.LOAD.CHAT: TAG = "" KTHURA.LOAD.CHAT: LABELS = "" KTHURA.LOAD.CHAT: DOMINANCE = "20" KTHURA.LOAD.CHAT: TEXTURE = "gfx/actors/people/Fairies/Tephondar_Front.png" KTHURA.LOAD.CHAT: CURRENTFRAME = "0" KTHURA.LOAD.CHAT: FRAMESPEED = "-1" KTHURA.LOAD.CHAT: ALPHA = "1" Alpha1000 set. 1000=1000; 255=255; KTHURA.LOAD.CHAT: VISIBLE = "1" KTHURA.LOAD.CHAT: COLOR = "255, 255,255" KTHURA.LOAD.CHAT: IMPASSIBLE = "0" KTHURA.LOAD.CHAT: FORCEPASSIBLE = "0" KTHURA.LOAD.CHAT: SCALE = "1000,1000" KTHURA.LOAD.CHAT: BLEND = "0" Bubble Console:> Kthura map Maps/Kthura/ch1_hub_irravoniahome/ loaded Bubble Console:> = Success! Bubble Console:> = NIL Script Bubble Console:> Mapscript file "Script/MapScript/ch1_hub_irravoniahome.nil" doesn't exist! Loading None.Nil in stead! WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Create MAP -- file Script/MapScript/None.Nil Classimp Classimp [DONIL chunk='Console initizer'] local f=assert(NIL.LoadString([[ #accept Bubble_Console_Console global void CWriteLine(string msg,int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:WriteLine(msg,r,g,b) end global void CPrint(string msg,r,g,b) CWriteLine(msg,tonumber(r) or 255, tonumber(g) or 255, tonumber(b) or 255) end global void CSayColor(int r, int g, int b) assert(r>=0 and r<=255 and g>=0 and g<=255 and b>=0 and b<=255,'CWriteLine color setting invalid!') Bubble_Console_Console:SetCSayColor(r,g,b) end global void CSay(string msg) Bubble_Console_Console:CSay(msg) end global void GoConsole() Bubble_Console_Console:GoConsole() end // It's USELESS to use this in your script, as this will either be ignored or lead to conflicts // The Console Command manager needs this! global void ConsoleSuccess(bool succ) Bubble_Console_Console.CommandSuccess = succ end ]],'Trans: Console initizer') ) f() [/DONIL] === Classimp [DONIL chunk='Graphics init script'] local f=assert(NIL.LoadString([[// Graphics.nil - Copyright Jeroen P. Broks // This file is part of the Bubble Project, and on its own it has been // licensed under the GPL 3 // Exception to the GPL is made once Bubble reads your script and links // this script (or rather the Lua translation of it) into your script, // the "viral" effect or "strong copyleft" effect will be lifted. // In other words, you do NOT have to make the programs you make in Bubble_Graphics // to be in the GPL. // The class in which most important stuff happens! // Keep the API out of the regular script! Only these functions and classes may access it :P #macro TEXT_ALIGN_LEFT 0 #macro TEXT_ALIGN_RIGHT 1 #macro TEXT_ALIGN_CENTER 2 var Bubble_Graphics Bubble_Graphics=BubbleGraphics //BubbleGraphics=nil // waarom is "nil" niet vertaald? class TImage private string bubbletag private bool autorelease void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:Load(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease then Bubble_Graphics:Free(self.bubbletag) end end get string Tag assert(not self.autorelease,"Cannot obtain the tag from autorelease images") return self.bubbletag end get bool AutoRelease return self.autorelease end get int Width return Bubble_Graphics:Width(self.bubbletag) end get int Height return Bubble_Graphics:Height(self.bubbletag) end void HotCenter() Bubble_Graphics:HotCenter(self.bubbletag) end void HotTopCenter() Bubble_Graphics:HotTopCenter(self.bubbletag) end void HotBottomCenter() Bubble_Graphics:HotBottomCenter(self.bubbletag) end void Draw(int x,int y,frame) Bubble_Graphics:Draw(self.bubbletag,x,y,frame or 0) end void Tile(int x,int y,int w,int h,frame) Bubble_Graphics:Tile(self.bubbletag,x,y,w,h,frame or 0) end void ITile(int x, int y, int w, int h, int ix, int iy, frame) Bubble_Graphics:ITile(self.bubbletag,x,y,w,h,ix,iy,frame or 0) end static var Load(string file) return new TImage("*LOAD",file) end static var Obtain(string tag) return new TImage("*OBTAIN",tag) end end class TScreen get int Width return Bubble_Graphics.ScrWidth end get int Height return Bubble_Graphics.ScrHeight end end global var Screen Screen = new TScreen // declaring variables of class-types, is not fully working right. With "var" anything is accepted, so that's why that type is used. global var LoadImage(string file,assign) if not assign then return TImage.Load(file) else assert(type(assign)=="string","Image tag must be strings. A "..type(assign).." is not valid!") Bubble_Graphics:Load(file,assign) return TImage.Obtain(assign) end end global var LoadIfNew(string file,string assign) if not Bubble_Graphics:HasTag(assign) then return LoadImage(file,assign) end return TImage.Obtain(assign) end global void FreeImage(string tag) Bubble_Graphics:Free(tag) end global void SetColor(int r, int g, int b) Bubble_Graphics:Color(r,g,b); end global var GetColor() string script delegate func script = Bubble_Graphics:GetColor() func = assert(NIL.LuaLoadString(script)) return func() end global int ScreenWidth global int ScreenHeight ScreenWidth = Bubble_Graphics.ScrWidth; ScreenHeight = Bubble_Graphics.ScrHeight; global void Rect(int x, int y, int w, int h, style) Bubble_Graphics:Rect(x,y,w,h,style!="line") end // Needed as NIL can otherwise not support a forward definition when it // comes to classes! #accept TGraphText class TImageFont private string bubbletag private bool autorelease get string tag return self.bubbletag end void CONSTRUCTOR(string how, string what) print("CONSTRUCTOR") switch how case "*OBTAIN" self.bubbletag=what self.autorelease=false case "*LOAD" self.bubbletag = Bubble_Graphics:LoadFont(what) self.autorelease=true default error("Unknown image creation instruction") end print("END CONS") end void DESTRUCTOR() if self.autorelease Bubble_Graphics:FreeFont(self.bubbletag) end end var Text(string txt) // I do need to set up a class forwarding system :-/ #pure return TGraphText(self,txt) #endpure end void Draw(string txt,int x, int y, align) var t t = self.Text(txt) t.Draw(x,y,align or TEXT_ALIGN_LEFT) end void DrawText(string txt,int x, int y, align) self.Draw(txt,x,y,align) end int TextWidth(txt) var t t = self.Text(txt) return t.Width end int TextHeight(txt) var t t = self.Text(txt) return t.Height end end class TGraphText private string bubbletag void CONSTRUCTOR(font,string txt) self.bubbletag = Bubble_Graphics:Text(font.tag,txt) end void DESTRUCTOR() //CSay("Spoel de plee maar door, jongens! >> "..self.bubbletag) Bubble_Graphics:FreeText(self.bubbletag) //CSay("Doorgespoeld!") end void Draw(int x, int y, align) align=align or TEXT_ALIGN_LEFT assert(align==TEXT_ALIGN_LEFT or align==TEXT_ALIGN_RIGHT or align==TEXT_ALIGN_CENTER,"Invalid text alignment!") Bubble_Graphics:TextDraw(self.bubbletag,x,y,align) end get int Width return Bubble_Graphics:TextWidth(self.bubbletag) end get int Height return Bubble_Graphics:TextHeight(self.bubbletag) end end class TGraphColor int _cR int _cG int _cB void _Update() SetColor(self._cR,self._cG,self._cB) end set int Red self._cR = value self._Update() end set int Green self._cG = value self._Update() end set int Blue self._cB = value self._Update() end set int Alpha Bubble_Graphics.Alpha = value end get int Alpha return Bubble_Graphics.Alpha end end global var GraphColor GraphColor=new TGraphColor() global var LoadImageFont(string font,assign) if assign assert(type(assign)=="string","Invalid tag type to assign a font font!") //CSay("font: "..font.."; assign: "..assign) Bubble_Graphics:LoadFont(font,assign) return new TImageFont("*OBTAIN",assign) else return new TImageFont("*LOAD",font) end end global var LoadFont LoadFont=LoadImageFont global var GetFont(string tag) return new TImageFont("*OBTAIN",tag) end CSay("Graphics module loaded") ]],'Trans: Graphics init script') ) f() [/DONIL] Bubble Console:> Graphics module loaded === Classimp [DONIL chunk='Audio init script'] local f=assert(NIL.LoadString([[class TAudioInstance private string buftag void CONSTRUCTOR(string audio,bool loop) self.buftag = Bubble_Audio:IPlay(audio,loop) end void DESTRUCTOR() Bubble_Audio:FreeInstance(self.buftag) end void Stop() Bubble_Audio:StopInstance(self.buftag) end void Pause() Bubble_Audio:PauseInstance(self.buftag) end void Resume() Bubble_Audio:ResumeInstance(self.buftag) end end class TAudio private bool dbg=true; private bool autodel private string buftag void CONSTRUCTOR(string file,buftag) self.buftag = Bubble_Audio:Load(file,buftag or "") self.autodel = buftag==nil; print("NIL: "..file.." stored in "..self.buftag) end void DESTRUCTOR() if self.autodel Bubble_Audio:Free(self.buftag) if self.dbg then print("Audio buffer "..self.buftag.." released") end end end void Play() Bubble_Audio:Play(self.buftag) end var IPlay() return TAudioInstance.NEW(self.buftag,false) end var Loop() return TAudioInstance.NEW(self.buftag,true) end end global var LoadAudio(string file,buftag) return TAudio.NEW(file,buftag) end global var LoadSound LoadSound=LoadAudio global void FreeAudio(string buffer) Bubble_Audio:Free(buffer) end ]],'Trans: Audio init script') ) f() [/DONIL] === Classimp Flow Manager set up Classimp Classimp [DONIL chunk='Mouse Button macros'] local f=assert(NIL.LoadString([[#macro MouseLeft 1 #macro MouseRight 2 #macro MouseCenter 3]],'Trans: Mouse Button macros') ) f() [/DONIL] === Bubble Console:> Mouse and Keyboard support present Classimp [DONIL chunk='BubbleSave NIL'] local f=assert(NIL.LoadString([[// License Information: // BubbleSave.nil // Bubble // version: 19.05.22 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information // Bubble Save Class Glue script class ClassBubSave get string WorkDir return Bubble_Save.WorkDir; end set string WorkDir Bubble_Save.WorkDir = value; end get string LastError return Bubble_Save.LastError; end bool Exists(string file) return Bubble_Save:Exists(file) end bool SaveString(string str,string file,dontcrash) return Bubble_Save:SaveString(str,file,dontcrash==true) end string LoadString(string file,dontcrash) return Bubble_Save:LoadString(file,dontcrash==true) end table StartJCRSave(string argfile) table jcrmap table jcrfake table jcrmeta string file bool hashed = true file = argfile jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void(tb,string key, value) if key=="" then return end if value==SuperGlobal and type(SuperGlobal)=="table" and getmetatable(value) and Bubble_SuperGlobal jcrmap]]..'['..[[key]]..']'..[[ = "--#SuperGlobal#--\n"..Bubble_SuperGlobal:Serialize() return end if key:upper()=="HASH" or key:upper()=="HASHED" hashed = value!=nil and value!=false end if key:upper()=="BUBBLEID" error("BUBBLEID is reserved") end if key:upper()=="CLOSE" Bubble_Save:JCRStartSave() for k,v in pairs(jcrmap) Bubble_Save:JCRSave(k,v) end Bubble_Save:JCREndSave(file,hashed) return end jcrmap]]..'['..[[key]]..']'..[[=NIL.serialize("local saved = "..key,value).."\nreturn saved" end jcrmeta]]..'['..[["__index"]]..']'..[[ = void(tb,key) error("This object is write-only!") end setmetatable(jcrfake,jcrmeta) return jcrfake end table LoadFromJCR(string argfile, mustbehashed) table jcrmap table jcrfake table jcrmeta jcrmeta]]..'['..[["__index"]]..']'..[[ = var(tb,string key) delegate f #pure f = assert((loadstring or load)(jcrmap]]..'['..[[key]]..']'..[[),argfile.."::"..key) #endpure return f end jcrmeta]]..'['..[["__newindex"]]..']'..[[ = void() error("Load table is read-only") end bool prefixed(s,p) return s:sub(1,#p)==p end Bubble_Save:JCRStartLoad(argfile,mustbehashed==true) repeat var k string v k = Bubble_Save:JCRLoadNext() if k=="" then break end v = Bubble_Save:JCRLoadGet(k); if prefixed(v,"--#SuperGlobal#--\n") then #pure (loadstring or load)(v)() #endpure else jcrmap]]..'['..[[k]]..']'..[[ = Bubble_Save:JCRLoadGet(k); end forever Bubble_Save:JCRLoadClose(); setmetatable(jcrfake,jcrmeta) return jcrfake end end #accept BubSave #pure BubSave = ClassBubSave.NEW() #endpure ]],'Trans: BubbleSave NIL') ) f() [/DONIL] WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. === Classimp Initiating state: MAP Bubble Console:> State "MAP" being prepared for Bubble_Conf [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[// License Information: // src/dep/Bubble/NIL/Bubble_Conf.nil // BUBBLE conf // version: 19.08.02 // Copyright (C) Jeroen P. Broks // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages // arising from the use of this software. // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // 1. The origin of this software must not be misrepresented; you must not // claim that you wrote the original software. If you use this software // in a product, an acknowledgment in the product documentation would be // appreciated but is not required. // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. // End License Information global void Notify(string message,caption,icon) caption=caption or "" icon=icon or "" assert(type(caption)=="string","Caption must be string!") assert(type(caption)=="icon","Icon must be string!") Bubble_Conf:Annoy(message,caption,icon) end delegate Alert delegate Annoy Alert = Notify Annoy = Notify global bool Yes(string Question) return Bubble_Conf:Yes(Question) end global delegate YesNoCancel global string YNC(string Question) return Bubble_Conf:YNC(Question) end YesNoCancel=YNC global delegate FailureBox global string BoxFailure(string Question) return Bubble_Conf:FailureBox(Question) end FailureBox = BoxFailure ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Message box init script'] local f=assert(NIL.LoadString([[class GameJolt static bool ByResource(string resname) return Bubble_GJ:InitGameJoltByResource(resname) end static bool Login(string username,string token) return Bubble_GJ:Login(username,token) end end ]],'Trans: Message box init script') ) f() [/DONIL] === Classimp [DONIL chunk='Link code RPG API'] local f=assert(NIL.LoadString([[table RPGParty setmetatable(RPGParty,{ ]]..'['..[["__newindex"]]..']'..[[ = void(t,key, value) switch type(key) case "number" assert(type(value)=="string","A string value is required to change a party member!") NALA_RPG:setPartyMember(key,value) case "string" switch key:upper() case "MAX" assert(type(value)=="number","MAX only accepts a number as value!") NALA_RPG.PartyMax = math.floor(value); default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end, ]]..'['..[["__index"]]..']'..[[ = var(t,key) switch type(key) case "number" return NALA_RPG:getPartyMember(key) case "string" switch key:upper() case "MAX" return NALA_RPG.PartyMax default error("Unknown field!") end default error("Type "..type(key).." is completely useless as index for RPGParty") end end }) class RPGStat readonly static table TagMap readonly string ChTag readonly string StTag get string Tag return string.format("%s::%s",self.ChTag,self.StTag) end static bool Static_Has(string ch, string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[!=nil; end static var GetStat(string ch,string stat) string t //t = string.format("%s::%s",RPGStat.ChTag,RPGStat.StTag) t = string.format("%s::%s",ch,stat) return RPGStat.TagMap]]..'['..[[t]]..']'..[[ end set string Script NALA_RPG:StatScript(self.ChTag,self.StTag,value) end get string Script return NALA_RPG:StatScript(self.ChTag,self.StTag,"**DONOTCHANGE**") end get number Value return NALA_RPG:GetStatValue(self.ChTag,self.StTag) end set number Value NALA_RPG:SetStatValue(self.ChTag,self.StTag,value) end void CONSTRUCTOR(string char,string stat) assert(NALA_RPG:StatExists(char,stat) ,"You cannot use 'new RPGStat()' directly!") self.ChTag = char self.StTag = stat self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self end end class RPGPoints readonly string ChTag readonly string PtTag readonly static table TagMap get string Tag return string.format("%s::%s",self.ChTag,self.PtTag) end get number Maximum return NALA_RPG:GetMaxPoints(self.ChTag,self.PtTag,false) end set number Maximum NALA_RPG:SetMaxPoints(self.ChTag,self.PtTag,value,false) end get number Minimum return NALA_RPG:GetMinPoints(self.ChTag,self.PtTag,false) end set number Minimum NALA_RPG:SetMinPoints(self.ChTag,self.PtTag,value,false) end set number Have NALA_RPG:SetHavePoints(self.ChTag,self.PtTag,value,false) end get number Have return NALA_RPG:GetHavePoints(self.ChTag,self.PtTag,false) end set string MaxCopy NALA_RPG:SetMaxCopyPoints(self.ChTag,self.PtTag,value,false) end get string MaxCopy return NALA_RPG:GetMaxCopyPoints(self.ChTag,self.PtTag,false) end void CONSTRUCTOR(string Char,string Pnt, CreateIfNonExistent) NALA_RPG:ChkPoints(Char,Pnt,CreateIfNonExistent==true) self.ChTag = Char self.PtTag = Pnt self.TagMap]]..'['..[[self.Tag]]..']'..[[ = self //-- Please note, when this goes wrong, the program will crash out anyway, so the class creation doesn't hurt at all! end end class RPGCharacter readonly string ChTag readonly static table TagMap readonly table Data void CONSTRUCTOR(string charTag) assert(NALA_RPG:CharExists(charTag),"You cannot use 'new RPGCharacter()' directly!") self.ChTag = charTag self.TagMap]]..'['..[[charTag]]..']'..[[ = self setmetatable(self.Data,{ ]]..'['..[['__newindex']]..']'..[[ = void(t, string k, string v) NALA_RPG:SetCharData(self.ChTag,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t, string k) return NALA_RPG:GetCharData(self.ChTag,k) end }) end static var GetChar(Tag) assert(RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ and NALA_RPG:CharExists(Tag),string.format("Requested character '%s' does not exist",Tag)) return RPGCharacter.TagMap]]..'['..[[Tag]]..']'..[[ end var Stat(string Stat, mustexist) if mustexist assert(NALA_RPG:StatExists(self.ChTag,Stat),string.format("Character %s doesn't have stat %s",self.ChTag,Stat)) elseif not NALA_RPG:StatExists(self.ChTag,Stat) CSay(string.format("Creating stat %s for %s",Stat,self.ChTag) ) // debug line NALA_RPG:CreateStat(self.ChTag,Stat,true) end if not RPGStat.Static_Has(self.ChTag,Stat) return new RPGStat(self.ChTag,Stat) end return RPGStat.GetStat(self.ChTag,Stat) end var Points(string Pnt, CreateIfNonExistent) var tag tag = string.format("%s::%s",self.ChTag,Pnt) if not RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ then new RPGPoints(self.ChTag,Pnt,CreateIfNonExistent==true) end return RPGPoints.TagMap]]..'['..[[tag]]..']'..[[ end set string Name NALA_RPG:SetName(self.ChTag,value) end get string Name return NALA_RPG:GetName(self.ChTag) end end group RPG var GetChar get table Party return RPGParty end var CreateChar(string tag) NALA_RPG:CreateChar(tag) return new RPGCharacter(tag) end var Char(tag) return RPGCharacter.GetChar(tag) end void CONSTRUCTOR() self.GetChar = RPGCharacter.GetChar end end ]],'Trans: Link code RPG API') ) f() [/DONIL] === Classimp [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#say "Kthura!" class Kthura readonly int ID get int ScrollX return BKTHURA:GetScroll(self.ID,"X") end set int ScrollX BKTHURA:SetScroll(self.ID,"X",value) end get int ScrollY return BKTHURA:GetScroll(self.ID,"Y") end set int ScrollY BKTHURA:SetScroll(self.ID,"Y",value) end get string Layer return BKTHURA:GetLayer(self.ID) end set string Layer BKTHURA:SetLayer(self.ID,value) end void Draw(x,y) BKTHURA:Draw(self.ID,x or 0, y or 0) end table CountObjects() string tstring tstring = BKTHURA:CountObjects(self.ID) //CSay(tstring) #pure return (loadstring or load)(tstring)() #endpure end void DESTRUCTOR() if self.ID!=0 BKTHURA:Destroy(self.ID) end end private table mdata set table Data error("The field \"Data\" is read-only!") end get table Data return self.mdata end void CONSTRUCTOR(mapname) switch type(mapname) case "nil" self.ID = BKTHURA:Create() case "string" self.ID = BKTHURA:Load(mapname) default error("Invalid input for initiating a Kthura Map! ("+type(mapname)+")") end setmetatable(self.mdata,{ ]]..'['..[['__newindex']]..']'..[[ = void(t,string k,string v) BKTHURA:SetData(self.ID,k,v) end, ]]..'['..[['__index']]..']'..[[ = string(t,k) return BKTHURA:GetData(self.ID,k) end, ]]..'['..[['__call']]..']'..[[ = table(t) string tempscript table temptable tempscript = BKTHURA:GetDataKeys(self.ID) // CSay(tempscript) // debug temptable = assert(NIL.LuaLoadString(tempscript)) return temptable() end }) end end ]],'Trans: NILSCRIPT') ) f() [/DONIL] Bubble Console:> NIL says: Kthura! === [DONIL chunk='NILSCRIPT'] local f=assert(NIL.LoadString([[#macro BUBBLE_State "stateID"]],'Trans: NILSCRIPT') ) f() [/DONIL] === Script itself local ok, ret = pcall( NIL.Use,'Script/MapScript/None.Nil') if not(ok) then BubbleCrash(ret) else return ret end NU: Inproper library name! function: 0DA38530 FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 [[ Removal ]] FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 [[ Removal ]] FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! [[ Removal ]] FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! [[ Removal ]] function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 [[ Removal ]] FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 [[ Removal ]] FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: NU: Inproper library name! function: 0DA38530 [[ Removal ]] FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL: FAIL Insufficient Memory Exception thrown: 'System.OutOfMemoryException' in mscorlib.dll Bubble Console:> ERROR>Exception of type 'System.OutOfMemoryException' was thrown. Audio error: Exception of type 'System.OutOfMemoryException' was thrown. Traceback: LoadAudio("Music/General/Indoor.Wav","ERROR!"); NIL: Music/General/Indoor.Wav stored in ERROR! WARNING! The ".NEW()" method to create new classes has been deprecated as of version 19.07.13, and may be removed in version 21.xx.xx or somewhere later. Exception thrown: 'System.Exception' in NALA_DX.exe Bubble Console:> ERROR>No audio buffer tagged ERROR! available Odd things happen here!: No audio buffer tagged ERROR! available Traceback: at Bubble.Bubble_Audio.IPlay(String buf, Boolean loop) in E:\Projects\Applications\VisualStudio\Bubble\MonoGame\src\dep\Bubble\Class\Bubble_Audio.cs:line 96 Loaded character 79 => O Loaded character 80 => P Loaded character 83 => S Loaded character 33 => ! Loaded character 89 => Y Loaded character 111 => o Loaded character 117 => u Loaded character 116 => t Loaded character 114 => r Loaded character 105 => i Loaded character 101 => e Loaded character 100 => d Loaded character 115 => s Loaded character 109 => m Loaded character 104 => h Loaded character 110 => n Loaded character 103 => g Loaded character 119 => w Loaded character 39 => ' Loaded character 107 => k Loaded character 102 => f Loaded character 82 => R Loaded character 45 => - Loaded character 84 => T Loaded character 121 => y Loaded character 97 => a Loaded character 99 => c Loaded character 98 => b Loaded character 58 => : Loaded character 91 => [ Loaded character 34 => " Loaded character 66 => B Loaded character 108 => l Loaded character 77 => M Loaded character 65 => A Loaded character 73 => I Loaded character 67 => C Loaded character 112 => p Loaded character 93 => ] Loaded character 51 => 3 Loaded character 55 => 7 Loaded character 50 => 2 Loaded character 72 => H Loaded character 69 => E Loaded character 120 => x Loaded character 61 => = Loaded character 71 => G Loaded character 78 => N Loaded character 76 => L Loaded character 49 => 1 Loaded character 68 => D Loaded character 70 => F Loaded character 122 => z Loaded character 53 => 5 Loaded character 48 => 0 Loaded character 40 => ( Loaded character 44 => , Loaded character 56 => 8 Loaded character 41 => ) Loaded character 59 => ; Loaded character 57 => 9 Loaded character 86 => V Loaded character 118 => v Loaded character 87 => W Loaded character 95 => _ Loaded character 46 => . Loaded character 75 => K Loaded character 47 => / Loaded character 62 => > 'NALA_DX.exe' (CLR v4.0.30319: NALA_DX.exe): Loaded 'E:\Projects\Applications\VisualStudio\Bubble\NALA\DirectX\NALA_DX\bin\Windows\x86\Debug\SharpDX.MediaFoundation.dll'. Cannot find or open the PDB file. The thread 0x39c4 has exited with code 0 (0x0). Exception thrown: 'System.Collections.Generic.KeyNotFoundException' in mscorlib.dll An unhandled exception of type 'System.Collections.Generic.KeyNotFoundException' occurred in mscorlib.dll The given key was not present in the dictionary. The program '[13748] NALA_DX.exe' has exited with code -1 (0xffffffff).