Jump to content

trevor

Mitglieder
  • Gesamte Inhalte

    264
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von trevor

  1. Here you go... It could of course be my system or graphics card.. but I figured I'd point it out anyway. With mine it goes from about 35fps with the mouse over here to under 20fps with the mouse resting in that window, and the moving objects hesitate pretty badly. I realize mouse picking would affect it, but just resting over it? Anyhow. Regards T Mouse_Over.mbp
  2. As I add detail to my layout I am noticing a significant drop in smoothness and performance (50% fps reduction) of the simulation when the mouse is over the MBS window.
  3. trevor

    Woody..

    All built with primatives....
  4. Yes, unfortunately, the event handler is beyond the scope of the plug-in interface. Item's referenced in the EV directly should still be hooked, but things specified by name is a definite issue. Mind you, it's the same in MBS too. re 1,10,100 issue, I understand.. I will look into it sometime. Synchronize... hmmm how do I do that?
  5. I tried that first, but was not overly happy with the results.
  6. Rather than using tunnel objects to line a tunnel I used the three panel method instead. I made the cut-outs in the main landscape for the openings as usual, then created a small flat panel for the tunnel floor using coal for the texture to make it dark. The liner I made from another small panel using the track itself to raise that landscape to match the track geometry and used the same dark texture. Then I lined everything up and played with the cut-outs to make the joins as good as my patience would allow... I used a couple of bridges for the openings and surrounded them with some rectangular primitives with a concrete texture to cover up the nasty hole edges. (I don't care for the black wall entry curtain most tunnel opening objects have...) Looking at it again, I should probably change the track bed to make it darker in the tunnel, or perhaps raise the floor a little to cover it. The texture change where the main landscape meets the floor tends to be a bit pixilated, so adding some other forced object, like a cement block or some such might be prudent. An issue arises because of the current MBS lighting system. The inside view of the exit object is lit like it is daylight. I need to figure out how to mask that somehow.
  7. Ha Ha It's not as bad as it seems... the chopper track is a fairly simple folded eight so for the pilot and passengers it's a fairly easy ride. The camera is slung underneath and tracks the Seimens loco to give a wide variety of views so that tends to make the view do a few heady spins The pilot DOES fly a little close to a few obstacles though.
  8. It should load everything when you first start. It only shows the globals first though by default. Learn to use the search functions, they are quite powerful. Note there are three text entry boxes to search the name of the object, variable or variable value. If you have a common variable name on lots of objects, search for that in the middle search box. Also. you can select multiples in each column further refining what gets listed. If you really want everything, select everything in the first two lists (except the specials in the type list) And yes, disconnect handling may be a bit off. I usually just close the window. Disconnect does not do much anyway.
  9. Hi Bahnland, You may want to use my plug-in for that. Latest version also allows you to export and import a CSV file for/from a spread sheet. Best regards Trevor PS: Don't forget to backup before and save after testing. MBS_Variable_Editor_20161115_1156.zip
  10. It would be helpful if one could switch the gizmo between the current absolute axis movement to the currently selected objects orientation, especially in 2D view. That is, when I have an object rotated and want to slide it it's left or right it becomes and awkward, and inaccurate, 2 (or many more) step action. Perhaps using some key combination to switch modes.
  11. trevor

    Shadows?

    Would add a lot to realism...............
  12. Please change commands 50, and 51 to use values 0 = stop, 1 = normal, 2= x2 and 4 = x4 simulation rates instead of current Boolean value. and add a new event.. Simulation_State_Changed returning state levels mentioned above.
  13. Here is the new version with culture handling corrected. You still need to do your own conversions when reading and sending strings at it though. I also updated the MBS project file to add a turntable that should rotate smoothly when connected since it uses the Frame_Clock_Handler. (Well... as smoothly as MBS gets... LOL) MBS_TEMPLATE_20161118.zip
  14. A better method may be to use. Dim D as Double = Double.Parse(MBS_STRING, New CultureInfo("en-US")) When receiving and Dim D as double = 1/3 DIM DSstring as string = D.ToString("F", New CultureInfo("en-US")) or Dim I as integer = 1234567 DIM IString as string = I.ToString("D", New CultureInfo("en-US")) when sending as required. That's what I am currently changing the template to do since there are three or four places I actually do conversions.
  15. Cute... thanks, that's a new one to me. Putting it in the MBS class would be the wrong place since that is not really a thread. The threads within there are all string based so I don't see those changing anything. btw: Sending numbers and dates as strings is ALWAYS a great big pain in the nether regions. The other issue is, although you need to communicate with MBS in that format, you may not want to communicate with YOUR user in that manner. So use that method with care. Also, be aware, that the setting ONLY applies to the selected thread... Unfortunately, culture is not propagated to any threads spawned by the current thread. That makes it complicated if you do not know which particular thread is calling or adjusting which variable. As such I prefer the custom converter methods.
  16. 99.9% of the time one should use "Send_Command_And_Wait" or "Send_Group_And_Wait" if you need to use the returned data. You can think of those as Function calls. "Send_Command" or "Send_Group" you can think of as Subs. An alternative method you can use the commands "Command_Executed" event, or the groups "Group_Executed" events. You would have to declare a variable like Private Withevents Fetch_XYZ as cls_MBS.Command Then, assign the variable to the appropriate command when you need to use it, and trap the event as an event handler. However, that gets messy pretty quickly, and I am not sure when you would ever need do it that way. -------------- Your issue with the CSng method is likely because your Windows regional settings are set to use a comma for the decimation character. If so, it appears MBS does not send the data regionalized that way. You need to talk to NEO about that one. For now you can use Dim DecimalSymbol as string = Strings.mid(Cstr(1.1), 2, 1) ' Get whatever windows is currently using as a period symbol CSng(Replace(CMD.Results(0), ".", DecimalSymbol)) as a quick and dirty fix. (though if thousands separators appear it gets messier) Actually I'd make my own global... Function StringToDouble(TextValue as string) as Double that would handle all that. Thanks for finding that though... I need to take that into account in my code too I guess. ----------------- Without generating code, it might be useful to use the Frame_Clock_Handler to rotate a turntable, or something, smoothly in time to the simulation. However, don't confuse FPS with mm/s they are only loosely related. Low FPS just means things JUMP in bigger steps. Regards T
  17. Command thread philosophy changed in light of the fact that MBS effecctively only handles one command or command group per frame.... Who knew ????? Command thread now uses a polling system. It continually sends a group command (10,11) at MBS and waits for the 11 response to repeat. Since we can figure MBS does one command / group per frame, I'm going to call that a Frame-Command. Commands requested from whatever is using the class are queued within the class. The commander thread dequeues those commands, if there are any, and inserts them into the next frame command. The class user STILL has the option to create a Command-Group for special functionality, eg. looking up the location of N locomotives. When sent to the class, command groups are queued in a separate queue. If the commander thread detects a group in that queue, it will be sent it INSTEAD of the frame command. The response thread has been removed and integrated into the command_thread. DUE TO THE SYNCHRONISM ARRISING FROM THE MBS LIMITATION, COMMAND PRIORITY IS NO LONGER A RELEVANT FEATURE AND HAS BEEN REMOVED. Because sending individual group begin and end commands, 10 and 11, would mess things up, these commands are now blocked. Use the Command_Group feature instead! Added event delegate Frame_Clock_Handler in case you need to use the frame clock, or something related to it..., to synchronize something. MBS_TEMPLATE_20161116.zip
  18. trevor

    8 Trains On an 8

    Thanks guys, it is still a work in progress. Queuing is not quite right yet as the eagle eyed may have spotted As for RocRail alternative.. could be, ultimately, having the functionality build right into MBS would be best though.
  19. LOL... Funny.. I was doing the same thing
  20. I found a bug... Steps to repeat. 1. Open a new project. 2. Add two or more objects... 3. Select them all 4. Make selection a group. 5. Deselect 6. Open the "select objects by name" dialog. 7. Select all the objects in the group but not the group itself. 8, Close the dialog. 9. Click Edit.. Delete 10. Re-open the "select objects by name" dialog. 11. Notice the group is still listed, empty and selectable.
  21. It would also be nice if the select objects by name form was a tool window and not a dialog. Currently you have to open it.. select something... close it, change the visibility, and REPEAT ....
  22. Alterative method... have a special Layer named Hidden objects that ONLY shows hidden objects on all other layers.
  23. It would be really nice to have a master button to over-ride the "hidden" property of all objects on the currently selected layers... Current method of using the select objects by name and finding them is irksome, especially with things in groups. Regards Trevor
×
×
  • Neu erstellen...