Added lib/dbg.py
This commit is contained in:
		
							parent
							
								
									ae721e386f
								
							
						
					
					
						commit
						cf7ce84a43
					
				
					 1 changed files with 155 additions and 0 deletions
				
			
		
							
								
								
									
										155
									
								
								lib/dbg.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								lib/dbg.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,155 @@ | ||||||
|  | import sys | ||||||
|  | import Scrap | ||||||
|  | import quickconsole | ||||||
|  | def p_s(*args): | ||||||
|  |     msg="" | ||||||
|  |     for obj in args: | ||||||
|  |         if msg: | ||||||
|  |             msg=msg+" "+str(obj) | ||||||
|  |         else: | ||||||
|  |             msg=msg+str(obj) | ||||||
|  |     Scrap.Print(msg) | ||||||
|  | 
 | ||||||
|  | def p_e(*args): | ||||||
|  |     msg="" | ||||||
|  |     for obj in args: | ||||||
|  |         if msg: | ||||||
|  |             msg=msg+" "+str(obj) | ||||||
|  |         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: | ||||||
|  |         if msg: | ||||||
|  |             msg=msg+" "+str(obj) | ||||||
|  |         else: | ||||||
|  |             msg=msg+str(obj) | ||||||
|  |     Scrap.Print(msg+"\n") | ||||||
|  | def e(*args): | ||||||
|  |     msg="" | ||||||
|  |     for obj in args: | ||||||
|  |         if msg: | ||||||
|  |             msg=msg+" "+str(obj) | ||||||
|  |         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 | ||||||
|  | 
 | ||||||
|  | for module in sys.builtin_module_names: | ||||||
|  |     if module[0]=="S": | ||||||
|  |         print "Loading "+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": | ||||||
|  |         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: [" | ||||||
|  |     for const in frame.f_code.co_consts: | ||||||
|  |         R=R+repr(const)+"," | ||||||
|  |     R=R+"]" | ||||||
|  |     log(R) | ||||||
|  |     return trace | ||||||
|  | 
 | ||||||
|  | def menu(): | ||||||
|  |     import Menu | ||||||
|  |     Menu.DebugMenu(0,'') | ||||||
|  |     Menu.InitMenuSys(0) | ||||||
|  | 
 | ||||||
|  | def settrace(): | ||||||
|  |     sys.settrace(trace) | ||||||
|  | 
 | ||||||
|  | def log(*args): | ||||||
|  |     if not args: | ||||||
|  |         open(logfile_name,"w").close() | ||||||
|  |         return | ||||||
|  |     msg="" | ||||||
|  |     for obj in args: | ||||||
|  |         if msg: | ||||||
|  |             msg=msg+" "+str(obj) | ||||||
|  |         else: | ||||||
|  |             msg=msg+str(obj) | ||||||
|  |     open(logfile_name,"a").write(msg+"\n") | ||||||
|  | 
 | ||||||
|  | def helplib(): | ||||||
|  |     print "Generating helplib.txt" | ||||||
|  |     log() | ||||||
|  |     for modname,mod in sys.modules.items(): | ||||||
|  |         log("======== [ "+modname+" ] ========") | ||||||
|  |         for name,value in vars(mod).items(): | ||||||
|  |             if name in ("__doc__","__name__"): | ||||||
|  |                 continue | ||||||
|  |             if hasattr(value,"__doc__"): | ||||||
|  |                 if value.__doc__: | ||||||
|  |                     log("- "+name+":") | ||||||
|  |                     log("      "+value.__doc__) | ||||||
|  |                 else: | ||||||
|  |                     log("- "+name+": ???") | ||||||
|  |             else: | ||||||
|  |                 log("- "+name+": "+repr(value)) | ||||||
|  |         log("\n") | ||||||
|  |     print "Done!" | ||||||
|  | 
 | ||||||
|  | def enable_all_conv(): | ||||||
|  |     import CharConversor | ||||||
|  |     CharConversor.ConversionChars=list(CharConversor.ConversionChars) | ||||||
|  |     E=Scrap.GetFirst() | ||||||
|  |     while E: | ||||||
|  |         try: | ||||||
|  |             if E.ActCtrl not in CharConversor.ConversionChars: | ||||||
|  |                 CharConversor.ConversionChars.append(E.ActCtrl) | ||||||
|  |         except: | ||||||
|  |             E = Scrap.GetEntity(E.NextInSlot) | ||||||
|  |             continue | ||||||
|  |         E.Invulnerable=0 | ||||||
|  |         E.Life=100 | ||||||
|  |         E = Scrap.GetEntity(E.NextInSlot) | ||||||
|  |     print(len(CharConversor.ConversionChars)) | ||||||
|  |     print "Done!" | ||||||
|  | 
 | ||||||
|  | def become(name): | ||||||
|  |     enable_all_conv() | ||||||
|  |     import CharConversor | ||||||
|  |     me = Scrap.UsrEntity(0) | ||||||
|  |     ent = Scrap.GetEntity(name) | ||||||
|  |     if ent: | ||||||
|  |         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" | ||||||
|  | helplib() | ||||||
|  | logfile_name="dbg.txt" | ||||||
|  | log() | ||||||
|  | quickconsole.god() | ||||||
|  | print "Godmode active" | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue