Update dbg.py to lastest version
This commit is contained in:
		
							parent
							
								
									8830340b8b
								
							
						
					
					
						commit
						f8bc746132
					
				
					 1 changed files with 214 additions and 77 deletions
				
			
		
							
								
								
									
										157
									
								
								lib/dbg.py
									
										
									
									
									
								
							
							
						
						
									
										157
									
								
								lib/dbg.py
									
										
									
									
									
								
							|  | @ -2,8 +2,54 @@ import sys | |||
| import Scrap | ||||
| import quickconsole | ||||
| import 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 = "" | ||||
|     for obj in args: | ||||
|  | @ -13,6 +59,7 @@ def p_s(*args): | |||
|             msg = msg+str(obj) | ||||
|     Scrap.Print(msg) | ||||
| 
 | ||||
| 
 | ||||
| def p_e(*args): | ||||
|     msg = "" | ||||
|     for obj in args: | ||||
|  | @ -21,9 +68,12 @@ def p_e(*args): | |||
|         else: | ||||
|             msg = msg+str(obj) | ||||
|     Scrap.ConsoleError(msg) | ||||
| 
 | ||||
| 
 | ||||
| sys.stdout.write = p_s | ||||
| sys.stderr.write = p_e | ||||
| 
 | ||||
| 
 | ||||
| def p(*args): | ||||
|     msg = "" | ||||
|     for obj in args: | ||||
|  | @ -32,6 +82,8 @@ def p(*args): | |||
|         else: | ||||
|             msg = msg+str(obj) | ||||
|     Scrap.Print(msg+"\n") | ||||
| 
 | ||||
| 
 | ||||
| def e(*args): | ||||
|     msg = "" | ||||
|     for obj in args: | ||||
|  | @ -40,10 +92,31 @@ def e(*args): | |||
|         else: | ||||
|             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 | ||||
| 
 | ||||
| 
 | ||||
| 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": | ||||
|         print "Loading "+module | ||||
|  | @ -51,13 +124,18 @@ for module in sys.builtin_module_names: | |||
| 
 | ||||
| sys.settrace(None) | ||||
| 
 | ||||
| 
 | ||||
| def trace(frame, event, arg): | ||||
|     if event!="call": return | ||||
|     global last_frame | ||||
|     if event != "call": | ||||
|         return | ||||
|     g = frame.f_globals | ||||
|     l = frame.f_locals | ||||
|     if frame.f_code.co_name == "godcall": | ||||
|         return | ||||
|     R=frame.f_code.co_filename+"."+frame.f_code.co_name+"(" | ||||
|     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])+"," | ||||
|  | @ -65,17 +143,25 @@ def trace(frame,event,arg): | |||
|     for const in frame.f_code.co_consts: | ||||
|         R = R+repr(const)+"," | ||||
|     R = R+"]" | ||||
|     log(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() | ||||
|  | @ -88,10 +174,15 @@ def log(*args): | |||
|             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(): | ||||
|         if hasattr(mod, '__file__'): | ||||
|             continue | ||||
|         log("======== [ "+modname+" ] ========") | ||||
|         for name, value in vars(mod).items(): | ||||
|             if name in ("__doc__", "__name__"): | ||||
|  | @ -105,10 +196,16 @@ def helplib(): | |||
|             else: | ||||
|                 log("- "+name+": "+repr(value)) | ||||
|         log("\n") | ||||
|     logfile_name = None | ||||
|     print "Done!" | ||||
| 
 | ||||
| 
 | ||||
| def enable_all_conv(): | ||||
|     try: | ||||
|         import CharConversor | ||||
|     except ImportError: | ||||
|         print("CharConversor not available") | ||||
|         return | ||||
|     CharConversor.ConversionChars = list(CharConversor.ConversionChars) | ||||
|     E = Scrap.GetFirst() | ||||
|     while E: | ||||
|  | @ -124,16 +221,19 @@ def enable_all_conv(): | |||
|     print(len(CharConversor.ConversionChars)) | ||||
|     print "Done!" | ||||
| 
 | ||||
| 
 | ||||
| def goto(name=None): | ||||
|     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 | ||||
| 
 | ||||
| 
 | ||||
| def nuke(): | ||||
|     E = Scrap.GetFirst() | ||||
|     me = Scrap.UsrEntity(0) | ||||
|  | @ -147,6 +247,7 @@ def nuke(): | |||
|             pass | ||||
|         E = Scrap.GetEntity(E.NextInSlot) | ||||
| 
 | ||||
| 
 | ||||
| def become(name): | ||||
|     enable_all_conv() | ||||
|     import CharConversor | ||||
|  | @ -157,8 +258,10 @@ def become(name): | |||
|     else: | ||||
|         print "Entity not found" | ||||
| 
 | ||||
| 
 | ||||
| StopMovie = 0 | ||||
| 
 | ||||
| 
 | ||||
| def movie(MovieName="Movie/Movie"): | ||||
|     global StopMovie | ||||
|     if LastTime == None: | ||||
|  | @ -173,9 +276,43 @@ def movie(MovieName="Movie/Movie"): | |||
|     NextTime = LastTime+1.0/25.0 | ||||
|     Scrap.AddScheduledFunc(NextTime, movie, (Speed, MovieName, NextTime)) | ||||
| 
 | ||||
| logfile_name="helplib.txt" | ||||
| 
 | ||||
| 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" | ||||
| # settrace() | ||||
| dgb_info() | ||||
| enable_all_conv() | ||||
| god() | ||||
| Scrap.Set("debug", 3) | ||||
| Scrap.Set("ShowConsoleLog", 1) | ||||
| 
 | ||||
| print "Debug Module loaded" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue