def on_remove_stream(self, event): """Remove geometry stream""" if not pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.OPEN, 'stream', 'Stream', "/usr/streams" ) if dlg.ShowModal() == wx.ID_OK: # Check that's an existing stream if not dlg.node_exists(): msg = "There is no stream called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # remove the stream dlg2 = waitdlg.WaitDialog( self.get_frame(), "Removing stream '%s' ..." % dlg.get_guiname() ) dlg.get_node().removestream() dlg2.Destroy() dlg.Destroy()
def on_open_stream(self, event): """Open geometry stream""" # Ask for the stream name if not pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.OPEN, 'stream', 'Stream', "/usr/streams" ) if dlg.ShowModal() == wx.ID_OK: # Check that's an existing stream if not dlg.node_exists(): msg = "There is no stream called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the stream for editing win = objdlg.create_window( wx.GetApp().GetTopWindow(), dlg.get_node().getfullname() ) win.display() dlg.Destroy()
def on_create_stream(self, event): """Create geometry stream""" # Ask for the new stream name if not pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.NEW, 'stream', 'Stream', "/usr/streams" ) if dlg.ShowModal() == wx.ID_OK: # Check that's a new stream name if dlg.node_exists(): msg = "There's already a stream named" msg = msg + " '" + dlg.get_guiname() + "'.\n" msg = msg + "You should enter a new stream name." cjr.show_error_message(msg) else: # create the new stream obj = app.get_state("geometrystream").createstream( str( dlg.get_guiname() ) ) win = objdlg.create_window( wx.GetApp().GetTopWindow(), obj.getfullname() ) win.display() dlg.Destroy()
def on_build_streams(self, event): """Build all streams""" # Build all dirty streams if not pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").loadstreamlibrary() dlg2 = waitdlg.WaitDialog( self.get_frame(), "Building streams ..." ) app.get_state("geometrystream").buildallstreams() dlg2.Destroy()
def on_build_streams(self, event): """Build all streams""" # Build all dirty streams if not pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").loadstreamlibrary() dlg2 = waitdlg.WaitDialog(self.get_frame(), "Building streams ...") app.get_state("geometrystream").buildallstreams() dlg2.Destroy()
def get_node_list(path): """ Lists all child nodes in the library path """ gui_names = [] if (pynebula.exists(str(path))): obj = pynebula.sel(path) children = obj.getchildren() for node in children: gui_names.append(node.getname()) return gui_names
def OnGraphicsStartup(): if not nebula.exists('/sys/servers/scene'): print "The scene server hasn't been created yet?" return sceneServer = nebula.lookup('/sys/servers/scene') if nebula.exists('/sys/servers/gfx'): featureSet = nebula.lookup('/sys/servers/gfx').getfeatureset() if featureSet == "dx9": # DX9 hardware without floating point render targets sceneServer.setrenderpathfilename("data:shaders/dx9_renderpath.xml") elif featureSet == "dx9flt": # DX9 hardware with floating point render targets, # use HDR render path sceneServer.setrenderpathfilename("data:shaders/dx9hdr_renderpath.xml") else: # non-DX9 hardware, use fixed function render path sceneServer.setrenderpathfilename("data:shaders/dx7_renderpath.xml") else: sceneServer.setrenderpathfilename("data:shaders/dx9_renderpath.xml") # enable zFail shadow rendering if nebula.exists('/sys/servers/shadow'): nebula.lookup('/sys/servers/shadow').setusezfail(True)
def __init__(self, parent, style, label1, label2, path, default_name=""): if style == NEW: title = "Choose a %s name" % label1 elif style == OPEN: title = "Choose a %s to open" % label1 elif style == DELETE: title = "Choose a %s to delete" % label1 else: title = "Choose a %s" % label1 wx.Dialog.__init__( self, parent, title=title, style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER ) self.style = style self.path = path if (pynebula.exists(str(path))): self.root = pynebula.lookup( str(path) ) else: self.root = None self.list_nodes = wx.ListBox( self, -1, choices = get_node_list(self.path) ) if self.style == NEW: self.label_file = wx.StaticText( self, -1, "%s name" % label2 ) self.text_file = wx.TextCtrl(self, -1, default_name) if self.style == NEW: ok_caption = "&New" elif self.style == OPEN: ok_caption = "&Open" elif self.style == DELETE: ok_caption = "&Delete" else: ok_caption = "&OK" self.button_ok = wx.Button(self, -1, ok_caption) self.button_cancel = wx.Button(self, wx.ID_CANCEL, "&Cancel") self.__set_properties() self.__do_layout() self.__bind_events()
def OnGraphicsStartup(): if not nebula.exists("/sys/servers/scene"): print "The scene server hasn't been created yet?" return sceneServer = nebula.lookup("/sys/servers/scene") if nebula.exists("/sys/servers/gfx"): featureSet = nebula.lookup("/sys/servers/gfx").getfeatureset() if featureSet == "dx9": # DX9 hardware without floating point render targets sceneServer.setrenderpathfilename("data:shaders/dx9_renderpath.xml") elif featureSet == "dx9flt": # DX9 hardware with floating point render targets, # use HDR render path sceneServer.setrenderpathfilename("data:shaders/dx9hdr_renderpath.xml") else: # non-DX9 hardware, use fixed function render path sceneServer.setrenderpathfilename("data:shaders/dx7_renderpath.xml") else: sceneServer.setrenderpathfilename("data:shaders/dx9_renderpath.xml") # enable zFail shadow rendering if nebula.exists("/sys/servers/shadow"): nebula.lookup("/sys/servers/shadow").setusezfail(True)
def create_new_lib (self, position): wildcard = "Library files (*.n2)|*.n2" # Show file dialog dlg = wx.FileDialog( self.GetGrandParent(), message="Create library", wildcard=wildcard, style=wx.SAVE|wx.CHANGE_DIR|wx.OVERWRITE_PROMPT, pos=position ) # get the selected file if dlg.ShowModal() == wx.ID_OK: root = app.get_libraries() new_library_path = root.getfullname() + "/" + dlg.GetFilename() new_library_path, ext = os.path.splitext(new_library_path) # test extension if ext != ".n2": cjr.show_error_message( "Bad extension: must be .n2. Try again." ) else: # create object and save to disk save = True if pynebula.exists(str(new_library_path)): dlg2_result = cjr.warn_yes_no( "You are using a library with the same name."\ "\n\n Are you sure you want to delete it?" ) if dlg2_result == wx.ID_NO: save = False else: pynebula.delete( str(new_library_path) ) if save: library = pynebula.new("nstringlist", new_library_path) path_string = str( dlg.GetPath() ) library.saveas(path_string) foo, lib_name = os.path.split(new_library_path) self.files[lib_name] = [path_string, False] self.expand_tree(new_library_path.replace('/editor/','')) dlg.Destroy()
def on_delete_stream(self, event): """Delete geometry stream""" # Ask for the stream name if not pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.DELETE, 'stream', 'Stream', "/usr/streams") ok_to_continue = dlg.ShowModal() == wx.ID_OK if ok_to_continue: msg = "Delete stream '%s'?" % dlg.get_guiname() delete = cjr.warn_yes_no(self.get_frame(), msg) if delete == wx.ID_YES: # Delete the stream app.get_state("geometrystream").deletestream( str(dlg.get_guiname())) dlg.Destroy()
def on_open_area(self, event): """Open loading area""" # Ask for the area name if pynebula.exists(str("/usr/areas")): dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.OPEN, 'area', 'Area', "/usr/areas") if dlg.ShowModal() == wx.ID_OK: # Check that's an existing area if not dlg.node_exists(): msg = "There is no area called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the area for edition win = objdlg.create_window(wx.GetApp().GetTopWindow(), dlg.get_node().getfullname()) win.display() dlg.Destroy()
def create_new_lib(self, position): wildcard = "Library files (*.n2)|*.n2" # Show file dialog dlg = wx.FileDialog(self.GetGrandParent(), message="Create library", wildcard=wildcard, style=wx.SAVE | wx.CHANGE_DIR | wx.OVERWRITE_PROMPT, pos=position) # get the selected file if dlg.ShowModal() == wx.ID_OK: root = app.get_libraries() new_library_path = root.getfullname() + "/" + dlg.GetFilename() new_library_path, ext = os.path.splitext(new_library_path) # test extension if ext != ".n2": cjr.show_error_message( "Bad extension: must be .n2. Try again.") else: # create object and save to disk save = True if pynebula.exists(str(new_library_path)): dlg2_result = cjr.warn_yes_no( "You are using a library with the same name."\ "\n\n Are you sure you want to delete it?" ) if dlg2_result == wx.ID_NO: save = False else: pynebula.delete(str(new_library_path)) if save: library = pynebula.new("nstringlist", new_library_path) path_string = str(dlg.GetPath()) library.saveas(path_string) foo, lib_name = os.path.split(new_library_path) self.files[lib_name] = [path_string, False] self.expand_tree(new_library_path.replace('/editor/', '')) dlg.Destroy()
def load (self, file_path): if os.path.exists(file_path): root = app.get_libraries() kernel = servers.get_kernel_server() # get file name without extension foo, file_name = os.path.split(file_path) file_name, ext = os.path.splitext(file_name) # load new library into memory new_library_path = root.getfullname() + "/" + file_name if not pynebula.exists(new_library_path): kernel.loadas(str(file_path), str(new_library_path)) self.files[file_name] = [file_path, False] return new_library_path return ''
def load(self, file_path): if os.path.exists(file_path): root = app.get_libraries() kernel = servers.get_kernel_server() # get file name without extension foo, file_name = os.path.split(file_path) file_name, ext = os.path.splitext(file_name) # load new library into memory new_library_path = root.getfullname() + "/" + file_name if not pynebula.exists(new_library_path): kernel.loadas(str(file_path), str(new_library_path)) self.files[file_name] = [file_path, False] return new_library_path return ''
def on_open_stream(self, event): """Open geometry stream""" # Ask for the stream name if not pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.OPEN, 'stream', 'Stream', "/usr/streams") if dlg.ShowModal() == wx.ID_OK: # Check that's an existing stream if not dlg.node_exists(): msg = "There is no stream called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the stream for editing win = objdlg.create_window(wx.GetApp().GetTopWindow(), dlg.get_node().getfullname()) win.display() dlg.Destroy()
def on_remove_stream(self, event): """Remove geometry stream""" if not pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.OPEN, 'stream', 'Stream', "/usr/streams") if dlg.ShowModal() == wx.ID_OK: # Check that's an existing stream if not dlg.node_exists(): msg = "There is no stream called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # remove the stream dlg2 = waitdlg.WaitDialog( self.get_frame(), "Removing stream '%s' ..." % dlg.get_guiname()) dlg.get_node().removestream() dlg2.Destroy() dlg.Destroy()
def on_create_stream(self, event): """Create geometry stream""" # Ask for the new stream name if not pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.NEW, 'stream', 'Stream', "/usr/streams") if dlg.ShowModal() == wx.ID_OK: # Check that's a new stream name if dlg.node_exists(): msg = "There's already a stream named" msg = msg + " '" + dlg.get_guiname() + "'.\n" msg = msg + "You should enter a new stream name." cjr.show_error_message(msg) else: # create the new stream obj = app.get_state("geometrystream").createstream( str(dlg.get_guiname())) win = objdlg.create_window(wx.GetApp().GetTopWindow(), obj.getfullname()) win.display() dlg.Destroy()
def on_delete_stream(self, event): """Delete geometry stream""" # Ask for the stream name if not pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.DELETE, 'stream', 'Stream', "/usr/streams" ) ok_to_continue = dlg.ShowModal() == wx.ID_OK if ok_to_continue: msg = "Delete stream '%s'?" % dlg.get_guiname() delete = cjr.warn_yes_no( self.get_frame(), msg ) if delete == wx.ID_YES: # Delete the stream app.get_state("geometrystream").deletestream( str( dlg.get_guiname() ) ) dlg.Destroy()
def on_open_area(self, event): """Open loading area""" # Ask for the area name if pynebula.exists( str("/usr/areas") ): dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.OPEN, 'area', 'Area', "/usr/areas" ) if dlg.ShowModal() == wx.ID_OK: # Check that's an existing area if not dlg.node_exists(): msg = "There is no area called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the area for edition win = objdlg.create_window( wx.GetApp().GetTopWindow(), dlg.get_node().getfullname() ) win.display() dlg.Destroy()
def on_save_library(self, event): """Save all streams""" # Save all streams to file if pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").savestreamlibrary()
def on_save_library(self, event): """Save all streams""" # Save all streams to file if pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").savestreamlibrary()
def __init__(self, parent): wx.Panel.__init__(self, parent, -1) self.gameport = "Orochimaru" self.number_connections = 3 self.multiplayer = False self.server = False self.searching = False self.network = None self.singlecheck = wx.RadioButton( self, -1, "Singleplayer", style = wx.RB_GROUP ) self.servercheck = wx.RadioButton( self, -1, "Multiplayer Server" ) self.clientcheck = wx.RadioButton( self, -1, "Multiplayer Client" ) self.button_search = wx.Button( self, -1, "Start Search" ) self.button_search.Disable() self.button_connect_to = wx.Button( self, -1, "Connect to -> ", style = wx.BU_RIGHT ) self.button_connect_to.Disable() self.hostedit = wx.TextCtrl( self, -1, "Host" ) self.hostedit.SetValue( "127.0.0.1" ) self.hostedit.Disable() self.connectbtn = [] for i in range( self.number_connections ): self.connectbtn.append( wx.Button( self, -1, "Connect to < empty >" ) ) self.connectbtn[ i ].Disable() self.button_cancel = wx.Button( self, -1, "Cancel Search" ) self.button_cancel.Disable() self.button_start = wx.Button( self, -1, "Start" ) self.serverbox = wx.StaticBox( self, -1, "Normal Options" ) self.clientbox = wx.StaticBox( self, -1, "Client options" ) self.mousebox = wx.StaticBox( self, -1, "Mouse options" ) state = app.get_state( "game" ) self.invertbtn = wx.CheckBox( self, -1, "Invert mouse vertical" ) self.invertbtn.SetValue( state.getmouseyinvert() ) self.mousexslider = floatslider.FloatSlider( self, -1, "Sensitivity X", 1.0, 0.0, 5.0, precision=10.0 ) self.mousexslider.set_value( state.getmousexfactor() ) self.mouseyslider = floatslider.FloatSlider( self, -1, "Sensitivity Y", 1.0, 0.0, 5.0, precision=10.0 ) self.mouseyslider.set_value( state.getmouseyfactor() ) self.fullreloadslider = floatslider.FloatSlider( self, -1, "Full Reload Time", 1.0, 0.0, 5.0, precision=10.0 ) self.fullreloadslider.set_value( state.getfullreloadtime() ) self.crossmodelabel = wx.StaticText( self, -1, "Cross Mode" ) self.crossmodelist = wx.ComboBox( self, -1, "Cross Mode", style=wx.CB_READONLY, choices=["Never","Normal","Always"] ) self.crossmodelist.Select( state.getcrossmode() ) self.timer = wx.Timer(self) self.timer.Start( 1000 ) self.__do_layout() self.__do_binding() self.parent = parent if pynebula.exists( "/sys/servers/network" ): self.singlecheck.Disable() self.servercheck.Disable() self.clientcheck.Disable() self.button_start.Disable()