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 Scrap | ||||||
| import quickconsole | import quickconsole | ||||||
| import MissionsFuncs | import MissionsFuncs | ||||||
|  | import SScorer | ||||||
|  | import Menu | ||||||
| QC = quickconsole | QC = quickconsole | ||||||
| MF = MissionsFuncs | 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): | def p_s(*args): | ||||||
|     msg = "" |     msg = "" | ||||||
|     for obj in args: |     for obj in args: | ||||||
|  | @ -13,6 +59,7 @@ def p_s(*args): | ||||||
|             msg = msg+str(obj) |             msg = msg+str(obj) | ||||||
|     Scrap.Print(msg) |     Scrap.Print(msg) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def p_e(*args): | def p_e(*args): | ||||||
|     msg = "" |     msg = "" | ||||||
|     for obj in args: |     for obj in args: | ||||||
|  | @ -21,9 +68,12 @@ def p_e(*args): | ||||||
|         else: |         else: | ||||||
|             msg = msg+str(obj) |             msg = msg+str(obj) | ||||||
|     Scrap.ConsoleError(msg) |     Scrap.ConsoleError(msg) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| sys.stdout.write = p_s | sys.stdout.write = p_s | ||||||
| sys.stderr.write = p_e | sys.stderr.write = p_e | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def p(*args): | def p(*args): | ||||||
|     msg = "" |     msg = "" | ||||||
|     for obj in args: |     for obj in args: | ||||||
|  | @ -32,6 +82,8 @@ def p(*args): | ||||||
|         else: |         else: | ||||||
|             msg = msg+str(obj) |             msg = msg+str(obj) | ||||||
|     Scrap.Print(msg+"\n") |     Scrap.Print(msg+"\n") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| def e(*args): | def e(*args): | ||||||
|     msg = "" |     msg = "" | ||||||
|     for obj in args: |     for obj in args: | ||||||
|  | @ -40,10 +92,31 @@ def e(*args): | ||||||
|         else: |         else: | ||||||
|             msg = msg+str(obj) |             msg = msg+str(obj) | ||||||
|     Scrap.ConsoleError(msg+"\n") |     Scrap.ConsoleError(msg+"\n") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # sys.modules['__builtin__'].__dict__['print']=e | # sys.modules['__builtin__'].__dict__['print']=e | ||||||
| sys.modules['__builtin__'].__dict__['s_write'] = p | sys.modules['__builtin__'].__dict__['s_write'] = p | ||||||
| sys.modules['__builtin__'].__dict__['e_write'] = e | 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: | for module in sys.builtin_module_names: | ||||||
|     if module[0] == "S": |     if module[0] == "S": | ||||||
|         print "Loading "+module |         print "Loading "+module | ||||||
|  | @ -51,13 +124,18 @@ for module in sys.builtin_module_names: | ||||||
| 
 | 
 | ||||||
| sys.settrace(None) | sys.settrace(None) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def trace(frame, event, arg): | def trace(frame, event, arg): | ||||||
|     if event!="call": return |     global last_frame | ||||||
|  |     if event != "call": | ||||||
|  |         return | ||||||
|     g = frame.f_globals |     g = frame.f_globals | ||||||
|     l = frame.f_locals |     l = frame.f_locals | ||||||
|     if frame.f_code.co_name == "godcall": |     if frame.f_code.co_name == "godcall": | ||||||
|         return |         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): |     for i in range(frame.f_code.co_argcount): | ||||||
|         name = frame.f_code.co_varnames[i] |         name = frame.f_code.co_varnames[i] | ||||||
|         R = R+name+"="+repr(frame.f_locals[name])+"," |         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: |     for const in frame.f_code.co_consts: | ||||||
|         R = R+repr(const)+"," |         R = R+repr(const)+"," | ||||||
|     R = R+"]" |     R = R+"]" | ||||||
|     log(R) |     print R, "Locals:", l, "Globals:", g | ||||||
|  |     last_frame = R | ||||||
|     return trace |     return trace | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def menu(): | def menu(): | ||||||
|     import Menu |     import Menu | ||||||
|     Menu.DebugMenu(0,'') |     Menu.DebugMenu(1, '') | ||||||
|     Menu.InitMenuSys(0) |     Menu.InitMenuSys(1) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def settrace(): | def settrace(): | ||||||
|     sys.settrace(trace) |     sys.settrace(trace) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | def notrace(): | ||||||
|  |     sys.settrace(None) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| def log(*args): | def log(*args): | ||||||
|     if not args: |     if not args: | ||||||
|         open(logfile_name, "w").close() |         open(logfile_name, "w").close() | ||||||
|  | @ -88,10 +174,15 @@ def log(*args): | ||||||
|             msg = msg+str(obj) |             msg = msg+str(obj) | ||||||
|     open(logfile_name, "a").write(msg+"\n") |     open(logfile_name, "a").write(msg+"\n") | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def helplib(): | def helplib(): | ||||||
|  |     global logfile_name | ||||||
|     print "Generating helplib.txt" |     print "Generating helplib.txt" | ||||||
|  |     logfile_name = "helplib.txt" | ||||||
|     log() |     log() | ||||||
|     for modname, mod in sys.modules.items(): |     for modname, mod in sys.modules.items(): | ||||||
|  |         if hasattr(mod, '__file__'): | ||||||
|  |             continue | ||||||
|         log("======== [ "+modname+" ] ========") |         log("======== [ "+modname+" ] ========") | ||||||
|         for name, value in vars(mod).items(): |         for name, value in vars(mod).items(): | ||||||
|             if name in ("__doc__", "__name__"): |             if name in ("__doc__", "__name__"): | ||||||
|  | @ -105,10 +196,16 @@ def helplib(): | ||||||
|             else: |             else: | ||||||
|                 log("- "+name+": "+repr(value)) |                 log("- "+name+": "+repr(value)) | ||||||
|         log("\n") |         log("\n") | ||||||
|  |     logfile_name = None | ||||||
|     print "Done!" |     print "Done!" | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def enable_all_conv(): | def enable_all_conv(): | ||||||
|  |     try: | ||||||
|         import CharConversor |         import CharConversor | ||||||
|  |     except ImportError: | ||||||
|  |         print("CharConversor not available") | ||||||
|  |         return | ||||||
|     CharConversor.ConversionChars = list(CharConversor.ConversionChars) |     CharConversor.ConversionChars = list(CharConversor.ConversionChars) | ||||||
|     E = Scrap.GetFirst() |     E = Scrap.GetFirst() | ||||||
|     while E: |     while E: | ||||||
|  | @ -124,16 +221,19 @@ def enable_all_conv(): | ||||||
|     print(len(CharConversor.ConversionChars)) |     print(len(CharConversor.ConversionChars)) | ||||||
|     print "Done!" |     print "Done!" | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def goto(name=None): | def goto(name=None): | ||||||
|     if name == None: |     if name == None: | ||||||
|         name = MF.currentTarget |         name = MF.currentTarget | ||||||
|     Scrap.UsrEntity(0).Pos = Scrap.GetEntity(name).Pos |     Scrap.UsrEntity(0).Pos = Scrap.GetEntity(name).Pos | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def bring(name=None): | def bring(name=None): | ||||||
|     if name == None: |     if name == None: | ||||||
|         name = MF.currentTarget |         name = MF.currentTarget | ||||||
|     Scrap.GetEntity(name).Pos = Scrap.UsrEntity(0).Pos |     Scrap.GetEntity(name).Pos = Scrap.UsrEntity(0).Pos | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def nuke(): | def nuke(): | ||||||
|     E = Scrap.GetFirst() |     E = Scrap.GetFirst() | ||||||
|     me = Scrap.UsrEntity(0) |     me = Scrap.UsrEntity(0) | ||||||
|  | @ -147,6 +247,7 @@ def nuke(): | ||||||
|             pass |             pass | ||||||
|         E = Scrap.GetEntity(E.NextInSlot) |         E = Scrap.GetEntity(E.NextInSlot) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def become(name): | def become(name): | ||||||
|     enable_all_conv() |     enable_all_conv() | ||||||
|     import CharConversor |     import CharConversor | ||||||
|  | @ -157,8 +258,10 @@ def become(name): | ||||||
|     else: |     else: | ||||||
|         print "Entity not found" |         print "Entity not found" | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| StopMovie = 0 | StopMovie = 0 | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def movie(MovieName="Movie/Movie"): | def movie(MovieName="Movie/Movie"): | ||||||
|     global StopMovie |     global StopMovie | ||||||
|     if LastTime == None: |     if LastTime == None: | ||||||
|  | @ -173,9 +276,43 @@ def movie(MovieName="Movie/Movie"): | ||||||
|     NextTime = LastTime+1.0/25.0 |     NextTime = LastTime+1.0/25.0 | ||||||
|     Scrap.AddScheduledFunc(NextTime, movie, (Speed, MovieName, NextTime)) |     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() | helplib() | ||||||
| logfile_name="dbg.txt" | # settrace() | ||||||
| log() | dgb_info() | ||||||
| quickconsole.god() | enable_all_conv() | ||||||
| print "Godmode active" | god() | ||||||
|  | Scrap.Set("debug", 3) | ||||||
|  | Scrap.Set("ShowConsoleLog", 1) | ||||||
|  | 
 | ||||||
|  | print "Debug Module loaded" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue