From f8bc7461324f4a492d8bdf118179898611c23dce Mon Sep 17 00:00:00 2001 From: Daniel Seiller Date: Sat, 22 Dec 2018 03:25:18 +0000 Subject: [PATCH] Update dbg.py to lastest version --- lib/dbg.py | 291 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 214 insertions(+), 77 deletions(-) diff --git a/lib/dbg.py b/lib/dbg.py index b12c54e..c5844d7 100644 --- a/lib/dbg.py +++ b/lib/dbg.py @@ -2,101 +2,192 @@ import sys import Scrap import quickconsole import MissionsFuncs -QC=quickconsole -MF=MissionsFuncs +import SScorer +import Menu +QC = quickconsole +MF = MissionsFuncs +last_frame = None + + +def reload(): + sys.settrace(None) + sys.modules['__builtin__'].reload(sys.modules['dbg']) + + +def dgb_info(): + txt =`last_frame` + SScorer.SetLabelText(txt, Scrap.GetTime()+0.1) + Scrap.AddScheduledFunc(Scrap.GetTime()+0.1, dgb_info, (), "dbg_info") + + +def crazy(): + E = Scrap.GetFirst() + me = Scrap.UsrEntity(0) + while E: + if E.Name == me.Name: + E = Scrap.GetEntity(E.NextInSlot) + try: + E.Action = "CrazyInit" + E.CanPhoto = 1 + E.DefLoop = "Crazy" + except: + pass + E = Scrap.GetEntity(E.NextInSlot) + + +def decrazy(): + E = Scrap.GetFirst() + me = Scrap.UsrEntity(0) + while E: + if E.Name == me.Name: + E = Scrap.GetEntity(E.NextInSlot) + try: + E.Action = "CrazyEnd" + E.CanPhoto = 0 + E.ForceDefLoop = "Relax" + except: + pass + E = Scrap.GetEntity(E.NextInSlot) + + def p_s(*args): - msg="" + msg = "" for obj in args: if msg: - msg=msg+" "+str(obj) + msg = msg+" "+str(obj) else: - msg=msg+str(obj) + msg = msg+str(obj) Scrap.Print(msg) + def p_e(*args): - msg="" + msg = "" for obj in args: if msg: - msg=msg+" "+str(obj) + msg = msg+" "+str(obj) else: - msg=msg+str(obj) + msg = msg+str(obj) Scrap.ConsoleError(msg) -sys.stdout.write=p_s -sys.stderr.write=p_e + + +sys.stdout.write = p_s +sys.stderr.write = p_e + def p(*args): - msg="" + msg = "" for obj in args: if msg: - msg=msg+" "+str(obj) + msg = msg+" "+str(obj) else: - msg=msg+str(obj) + msg = msg+str(obj) Scrap.Print(msg+"\n") + + def e(*args): - msg="" + msg = "" for obj in args: if msg: - msg=msg+" "+str(obj) + msg = msg+" "+str(obj) else: - msg=msg+str(obj) + msg = msg+str(obj) Scrap.ConsoleError(msg+"\n") -#sys.modules['__builtin__'].__dict__['print']=e -sys.modules['__builtin__'].__dict__['s_write']=p -sys.modules['__builtin__'].__dict__['e_write']=e + + +# sys.modules['__builtin__'].__dict__['print']=e +sys.modules['__builtin__'].__dict__['s_write'] = p +sys.modules['__builtin__'].__dict__['e_write'] = e + + +def modhelp(Module="Scrap"): + print "======== [ " + Module + " ] ========" + exec("import "+Module) + for v in dir(eval(Module)): + if v in ("__doc__", "__name__"): + continue + print v + ":" + try: + print " " + eval(Module + "." + v + ".__doc__") + except: + pass + + +def helpfunc(func): + print func.__name__+":" + print " "+func.__doc__ + for module in sys.builtin_module_names: - if module[0]=="S": + if module[0] == "S": print "Loading "+module - exec("import "+module) + exec("import " + module) sys.settrace(None) -def trace(frame,event,arg): - if event!="call": return - g=frame.f_globals - l=frame.f_locals - if frame.f_code.co_name=="godcall": + +def trace(frame, event, arg): + global last_frame + if event != "call": return - R=frame.f_code.co_filename+"."+frame.f_code.co_name+"(" + g = frame.f_globals + l = frame.f_locals + if frame.f_code.co_name == "godcall": + return + if frame.f_code.co_filename == ".\\lib\\dbg.py": + return + R = frame.f_code.co_filename+": "+frame.f_code.co_name+"(" for i in range(frame.f_code.co_argcount): name = frame.f_code.co_varnames[i] - R=R+name+"="+repr(frame.f_locals[name])+"," - R=R+") Consts: [" + R = R+name+"="+repr(frame.f_locals[name])+"," + R = R+") Consts: [" for const in frame.f_code.co_consts: - R=R+repr(const)+"," - R=R+"]" - log(R) + R = R+repr(const)+"," + R = R+"]" + print R, "Locals:", l, "Globals:", g + last_frame = R return trace + def menu(): import Menu - Menu.DebugMenu(0,'') - Menu.InitMenuSys(0) + Menu.DebugMenu(1, '') + Menu.InitMenuSys(1) + def settrace(): sys.settrace(trace) + +def notrace(): + sys.settrace(None) + + def log(*args): if not args: - open(logfile_name,"w").close() + open(logfile_name, "w").close() return - msg="" + msg = "" for obj in args: if msg: - msg=msg+" "+str(obj) + msg = msg+" "+str(obj) else: - msg=msg+str(obj) - open(logfile_name,"a").write(msg+"\n") + msg = msg+str(obj) + open(logfile_name, "a").write(msg+"\n") + def helplib(): + global logfile_name print "Generating helplib.txt" + logfile_name = "helplib.txt" log() - for modname,mod in sys.modules.items(): + for modname, mod in sys.modules.items(): + if hasattr(mod, '__file__'): + continue log("======== [ "+modname+" ] ========") - for name,value in vars(mod).items(): - if name in ("__doc__","__name__"): + for name, value in vars(mod).items(): + if name in ("__doc__", "__name__"): continue - if hasattr(value,"__doc__"): + if hasattr(value, "__doc__"): if value.__doc__: log("- "+name+":") log(" "+value.__doc__) @@ -105,12 +196,18 @@ def helplib(): else: log("- "+name+": "+repr(value)) log("\n") + logfile_name = None print "Done!" + def enable_all_conv(): - import CharConversor - CharConversor.ConversionChars=list(CharConversor.ConversionChars) - E=Scrap.GetFirst() + try: + import CharConversor + except ImportError: + print("CharConversor not available") + return + CharConversor.ConversionChars = list(CharConversor.ConversionChars) + E = Scrap.GetFirst() while E: try: if E.ActCtrl not in CharConversor.ConversionChars: @@ -118,64 +215,104 @@ def enable_all_conv(): except: E = Scrap.GetEntity(E.NextInSlot) continue - E.Invulnerable=0 - E.Life=100 + E.Invulnerable = 0 + E.Life = 100 E = Scrap.GetEntity(E.NextInSlot) print(len(CharConversor.ConversionChars)) print "Done!" + def goto(name=None): - if name==None: - name=MF.currentTarget - Scrap.UsrEntity(0).Pos=Scrap.GetEntity(name).Pos + if name == None: + name = MF.currentTarget + Scrap.UsrEntity(0).Pos = Scrap.GetEntity(name).Pos + def bring(name=None): - if name==None: - name=MF.currentTarget - Scrap.GetEntity(name).Pos=Scrap.UsrEntity(0).Pos + if name == None: + name = MF.currentTarget + Scrap.GetEntity(name).Pos = Scrap.UsrEntity(0).Pos + def nuke(): - E=Scrap.GetFirst() + E = Scrap.GetFirst() me = Scrap.UsrEntity(0) while E: - if E.Name==me.Name: + if E.Name == me.Name: E = Scrap.GetEntity(E.NextInSlot) try: - E.Life=0 - E.Invulnerable=0 + E.Life = 0 + E.Invulnerable = 0 except: pass E = Scrap.GetEntity(E.NextInSlot) + def become(name): enable_all_conv() import CharConversor me = Scrap.UsrEntity(0) ent = Scrap.GetEntity(name) if ent: - CharConversor.Possession(me.Name,name) + CharConversor.Possession(me.Name, name) else: print "Entity not found" + StopMovie = 0 -def movie(MovieName="Movie/Movie"): - global StopMovie - if LastTime==None: - Scrap.Set( "PhysicalAspectRatio", 16.0/9.0 ) - LastTime = Scrap.GetTime() - StopMovie = 0 - if StopMovie == 1: - return - Scrap.Set("DisableSkipSlot",1) - Scrap.ProcessDVF(MovieName+".dvf",0) - Scrap.ScreenShot(MovieName+"*") - NextTime = LastTime+1.0/25.0 - Scrap.AddScheduledFunc(NextTime,movie,(Speed,MovieName,NextTime)) -logfile_name="helplib.txt" +def movie(MovieName="Movie/Movie"): + global StopMovie + if LastTime == None: + Scrap.Set("PhysicalAspectRatio", 16.0/9.0) + LastTime = Scrap.GetTime() + StopMovie = 0 + if StopMovie == 1: + return + Scrap.Set("DisableSkipSlot", 1) + Scrap.ProcessDVF(MovieName+".dvf", 0) + Scrap.ScreenShot(MovieName+"*") + NextTime = LastTime+1.0/25.0 + Scrap.AddScheduledFunc(NextTime, movie, (Speed, MovieName, NextTime)) + + +def park(): + me = Scrap.UsrEntity(0) + + +def find(filt="*"): + Scrap.StartDummySearch(filt, 1) + dummy = 1 + while dummy: + dummy = Scrap.NextDummySearch() + print dummy + + +def getall(): + E = Scrap.GetFirst() + me = Scrap.UsrEntity(0) + while E: + try: + E.Pos = me.Pos + except: + pass + E = Scrap.GetEntity(E.NextInSlot) + + +def god(): + e = Scrap.UsrEntity(0) + QC.godcall(None, (1, 1, 1, 1, 1, 1)) + Scrap.AddScheduledFunc(Scrap.GetTime()+0.1, god, (), 'dbg.god') + + +notrace() helplib() -logfile_name="dbg.txt" -log() -quickconsole.god() -print "Godmode active" \ No newline at end of file +# settrace() +dgb_info() +enable_all_conv() +god() +Scrap.Set("debug", 3) +Scrap.Set("ShowConsoleLog", 1) + +print "Debug Module loaded"