Search Unity

Assets NWH Vehicle Physics

Discussion in 'Works In Progress - Archive' started by NWHCoding, Nov 30, 2017.

?

Which networking solution do you want to see implemented?

Poll closed Jan 20, 2019.
  1. UNet - Unity Networking, getting deprecated sometime in the future

    1 vote(s)
    4.8%
  2. Mirror - Community replacement for UNet (https://github.com/vis2k/Mirror)

    6 vote(s)
    28.6%
  3. Photon

    12 vote(s)
    57.1%
  4. None - I will be implementing my own solution

    2 vote(s)
    9.5%
  1. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    I am happy to say that in the upcoming version official support for CTS (Complete Terrain Shader) will be added.
    Also, some time ago author of "IK Driver Vehicle Controller" has informed me that his asset now supports NVP, and his other asset "Racing Game Template" will support it from RGT 2.0 onwards.

    As for updates, version 1.7 has almost been finished and will be pushed to the store today. Allow it a few days to be approved.
    Changes:
    • Added warning with explanation if inputs have not been set on import,
    • Add "Standard", "ZeroToOne" and "Composite" vertical input options to Desktop Input Manager.
    • Add different options for switching from forward to reverse and back.
    • Added “Run On Enable” and “Run On Disable” to engine options.
    • Fix “Run On Startup” gets ignored by Activate() function.
    • Fix engine stop sound not being played when vehicle is deactivated.
    • Fix semi rear axle jump when trailer detached.
    • Other micro-fixes.
     
    Last edited: Jun 8, 2018
    Barritico, Rotary-Heart and strich like this.
  2. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    Ok thanks that's what I needed. It turns out it was the footsteps on the remote player. They were playing really fast and sounded just like the gravel road noise I was using. I was looking into why the road noise was colliding with the remote player and once you indicated that shouldn't be happening, I was able to track it down.
     
  3. strich

    strich

    Joined:
    Aug 14, 2012
    Posts:
    374
    @NWHCoding just curious - Have you been watching the new physx beta? There are some fixes to the way hit normals are gathered on things like terrain as well as much more. Obviously not worth investing time into until its out of beta, but I'd like to know if you think it'll help improve perf/accuracy/etc here?
     
  4. SilverSho0t

    SilverSho0t

    Joined:
    May 10, 2013
    Posts:
    15
    Hi NWHCoding, is it normal that 1.6 & 1.7 have same changelogs? I think next update should be 1.7, not 1.8?
     
  5. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    My bad, I was writing the post above looking at the mentioned changelog. Since the version on the store is 1.6, next version is 1.7. Also edited the post :D
     
  6. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Seems quite nice. It seem that even without any tampering it should work better. Not a massive change but a welcome one. People at Unity Technologies have finally started moving forward - first with .NET 4.5, now physics, entity-component system, etc. Really excited for the future of Unity and glad to be out of the stagnation that was the last few years.
     
  7. Aladinho

    Aladinho

    Joined:
    Jul 18, 2013
    Posts:
    9
    Hello. How can I make something like countdown before start but don't move ( Just increase RPM but not speed ) And when count down finish The car will rush out .
     
  8. carking1996

    carking1996

    Joined:
    Jun 15, 2010
    Posts:
    2,609
    Basic coding... I just modified the control handler script to make it so that it only works properly when the player has controls. ie a static bool HasControls or something works fine.
     
  9. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    Just sent you an e-mail about something I can't figure out.
     
  10. Aladinho

    Aladinho

    Joined:
    Jul 18, 2013
    Posts:
    9
    I can disable controller but when I disable it will disable all. I just want the car not to move but the rpm still increase ( Same effect as you press accelerator pedal with gear N ) I can set transmission mode to manual and change when timer end but it not quite the effect I want because the rpm back when you change transmission mode by script
     
  11. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Sorry for not responding earlier, this forum has a tendency to skip notifications to my email.

    If I understood you correctly you want the vehicle to rev in place (say before the light turns green) and then to launch itself into first gear? For this I would suggest tampering with Transmission.cs.
    What I would do is lock user into neutral and then switch to 1st when the event happens, also allowing gear shifts after this.

    This can be done by modifying Update() of Transmission.cs to look like this:

    Code (CSharp):
    1.        
    2. public void Update()
    3.         {
    4.             if(Time.realtimeSinceStartup < 15f)
    5.             {
    6.                 ShiftInto(0, false);
    7.             }
    8.             else
    9.             {
    10.                 if (transmissionType == TransmissionType.Manual)
    11.                 {
    12.                     ManualShift();
    13.                 }
    14.                 else if (transmissionType == TransmissionType.Automatic || transmissionType == TransmissionType.AutomaticSequential)
    15.                 {
    16.                     AutomaticShift();
    17.                 }
    18.             }
    19.         }
    20.  
    Replace if(Time.realtimeSinceStartup < 15f) with your variable, e.g. if(lightIsRed). What this does is tell transmission to keep in neutral while the condition is true, and then if the condition is false continue shifting as if nothing happened. This will still work with all types of transmission (Manual, Auto, Sequential) and that is why I recommend doing it this way.
     
  12. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    374
    Hi.

    New version in "Island" scene:

    "The referenced script on this Behaviour (Game Object 'Vehicle Camera Follow') is missing!"
    "The referenced script on this Behaviour (Game Object 'Vehicle Camera Mouse Drag') is missing!"

    and others.

    Can you help me, please?
     
  13. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    I just updated to the last version but found the engine stop sound is still not being played when setting the vehicle status to false. I tracked it down to the sound system being disabled as soon as stop is called. I made it work by moving "sound.Disable();" to the start of the vehicle controller's suspend function and then setting Source.enabled = true; in the engine start stop component if the engine is stopping. This works but wasn't sure if there was a better way. I thought it would probably be best to have an engine stop time and after that has passed, shut down the sound system.
     
  14. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    The warning is from Post Processing Stack missing which is available from Unity Asset Store for free. I am not exactly sure why it did not throw the warnings before since it was attached to cameras since 1.3 or so and never shipped with the package. I will do a micro update with Post Processing Stack removed since V2 is incoming, many people are using other post processing scripts and this is not something that is really needed to be included in this package.

    Edit: Micro-update will be on monday so I can bundle in other things if they appear. Sorry for the problem. Either remove the missing behaviors or import the stack and you will not get the warnings any more.
     
    Last edited: Jun 15, 2018
    Barritico likes this.
  15. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Interesting, how are you disabling / enabling the vehicles? I tested by entering the vehicle with a character which essentially calls Activate() / Suspend() - setting Active to true or false does the same thing. Timer is already implemented.
     
  16. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    Ok, sounded like we were on different versions here so I went back and checked and it looks like the update downloaded but wasn't imported properly. It seems to be working now, thanks.

    Also, sent you an e-mail about some items we want to try and do for H&D.
     
  17. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    I just noticed a weird issue that I've been able to duplicate in the tutorial scene. If you press W to move forward and release, the car starts slowing down when you release it. If you press S to begin backing up, the car doesn't begin to slow when you release it and actually seems to pick up speed. You can just press it briefly and the car will start moving backwards and not stop.

    I wanted to make sure it wasn't something I was doing so I loaded up the Island scene but couldn't get any of the cars to drive. I'm not sure how you're supposed to select one but pressing V didn't seem to switch to a car. I then tried the Tutorial scene and was able to duplicate this behavior there as well.

    Also, sent you an e-mail on the 15th about some things we need to do in D-Day that may not be out of the box things.
     
  18. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    I'm back in office and on it. Was on mobile for the weekend so could not check much out. Will check the issue above and squeeze it into a micro-update mentioned above and push it today. The 'issue' is most likely that it shifts into neutral when you release the button and going into reverse.

    As for switching vehicles - since it is a character controller - you will need to set up the inputs as per readme. Hopefully that solves your problem since that is about the only reason why something such as that would happen. If you try the built demo scene available for download it works there fine.
     
  19. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    As with the next update input manager will not throw errors if the inputs are not set but instead fall back to default hard-coded key bindings and show the warning. I will also look into replacing the character controller so it is included with the asset and the scene functions without any additional steps.
     
  20. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Fixed - remove return statement at about line 520, just after "torque = 0". It was setting the torque but immediately returning without resetting the torque on the wheels which would make wheels stay with the last value. This is most likely 1.7 only error.
     
  21. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    I assume that's in the transmission.cs file. After making the change, that seemed to fix it, thanks!

    On the input manager, I had copied the input manager settings out and the warning went away but I was still unable to switch to a vehicle. Having it default to hard coded keys would be great. I can't do that on our main project as our input manager settings are set for our PS4 setup so I have to use a separate project to use your demo scenes.

    I wasn't able to install any of the Unity default assets as they weren't an option. I just recently switch to 2017 from 5.5 and I don't know if they've moved them or done something different but I wasn't able to find the option anymore. I thought they might have been installed with another asset as I was using a test project where I install various assets to test with so it's possible they were installed in another asset and didn't show up as an option.
     
  22. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Standard assets have been removed from default installation starting Unity 2017 and have to be selected while installing or downloaded from the store separately if not installed. I am in the phase of testing the new update that will remove all the dependencies and not require following steps to make demo scene work.

    As for now to make it work:
    - Create new scene.
    - Import NVP.
    - Exit Unity and copy demo settings to project settings.
    - Open Unity and import required standard assets.
    - Done.

    My guess is that since you have not imported Character package from Standard Assets making it impossible to move. You need to be next to the vehicle's door for enter prompt to appear. Asset can also be used without character controller but you need to remove the "Character Vehicle Changer" script from _VehicleManager object and delete the character (named RigidbodyFPSController).

    New update that removes the requirements should be approved by the end of the week.
     
  23. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    Ok sounds good. It's not that big of a deal right now. I only needed to run the scene to see if that moving backwards issue was happening in the examples. Thanks!
     
  24. gameorchard

    gameorchard

    Joined:
    Mar 19, 2015
    Posts:
    8
    Hi guys,

    I'm having a bit of an issue at the moment after I created my first car - When the car is approximately under 5 Kph the wheels/suspension seems to shake, thus the car and the camera shake too. While it's over 5 Kph it drives just as smooth as I expect, and it doesn't shake while it's idle/

    I assume this is something to do with my suspension setup though I tweaked it a lot with no results.

    Thanks in advance.
     
  25. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Nah it is not you. It is either too high center of mass which PhysX does not like or Fixed Delta Time that is too high.
    I would suggest using center of mass a bit higher than center of wheels (always lower than wheel controller objects) and fixed delta time of 0.017 or lower (0.02 is default). There has been a tweak to address this issue in the mini-update that is coming out end of this week, but 0.017 or lower will still be recommended. I highlighted this in the manual.
    Hope it solves your problem.
     
  26. gameorchard

    gameorchard

    Joined:
    Mar 19, 2015
    Posts:
    8
    Cheers man, that fixed it completely. Thank you very much.
     
  27. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Version 1.7.1 has been pushed to the store and will appear as soon as they approve it.

    Changes:
    • Fixed vehicle accelerating in reverse after throttle released (1.7 bug)
    • No actions are needed on import to make demo scene work anymore.
    • Removed all external dependencies so that standard assets are no longer required.
    • Changed FPS character controller and fixed character controller getting stuck on objects.
    • Changes to make WC3D more stable at 0.02 fixed delta time.
    • Added fallback to default hard-coded inputs in case input manager is not set up.
     
  28. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    Oh great how did I miss this asset?

    I've been looking for a physics package to replace the physics in my game SuperTrucks Offroad as there are some things I'm not happy with and this might be the one!

    Have you tested 4 4-wheeled vehicles at a time on a entry level Android device with your asset?
    Do you have any stats for this?

    I'm interested to buy but obviously smooth mobile performance is imperative.

    Also, does the asset work on WebGL and Windows Store?
     
    Last edited: Jun 20, 2018
  29. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Monster truck uses as much CPU time as any 4-wheeled vehicle. You could try the mobile demo scene (which has 3 vehicles in there) and see if you like the performance - there should really be no problems as the asset is not CPU-intensive. The bigger factor for performance is the fact that the included demo vehicles and particle materials are not really mobile friendly, but I assume you will not be using them in your final product.
    My Xiaomi Mi Max that is now almost two years old and was a relatively budget phone when I got it is running the mobile (Playground) demo scene at 60 FPS no problem.
     
    Meltdown likes this.
  30. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    Ok thanks, can you answer the question about WebGL and Windows Store support?
     
  31. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Version 1.0 was initially to be demoed in WebGL but I decided that the achievable resolution and the need for lower poly models was unacceptable - i.e. the visual quality of the whole demo scene would need to go drastically down for it to run smooth in WebGL but performance-wise it will run great as long as suitable models / materials / particles are used.
    There is nothing that would prevent from working on any of the platforms as all the components are standard, only rigidbodies are used and there are no external unmanaged libraries. It has not been tested on Windows Store but since it works on desktop, mobile and consoles I do not see why it would not work there.
     
  32. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    Ok thanks for the info I will buy it this evening and let you know if I have any issues.
     
  33. Marcos-Schultz

    Marcos-Schultz

    Joined:
    Feb 24, 2014
    Posts:
    381
    Here are some bugs that are hindering me a bit:



    Other things are very good. Update 1.7.1 is very welcome.



    Important!
    if I collide at high speed with a vehicle, it's as if I hit a rock, it does not even move.
     
    Last edited: Jun 23, 2018
  34. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Hello,
    Here we go in order:

    - "Exit the vehicle while you are skating". Enter exit speed can easily be adjusted:
    upload_2018-6-23_10-5-1.png

    - Entering inactive vehicles is certainly a bug.
    - If you do not want stop lights to turn on in reverse remove the gear statement from the following, I will do this by default in the next update:
    Lights.cs, line 174: if (vc.brakes.Active || vc.transmission.Gear < 0)
    - As for the rock part - disable "Freeze When Still" under "General" dropdown if you want vehicles to move while inactive.
    - Under "kneading" I guess we are talking about damage? Since "Freeze When Still" is enabled by default on all vehicles and collisions use velocity magnitude to determine the strength of collision, that magnitude is 0 when vehicle is frozen.
    Unticking it will fix the problem (red car seems to have constraints set even out of play mode, leftover from testing).
    - Sliding vehicle - mostly due to the brake torque that is not 100% when vehicle is inactive. The jitter at the end is because vehicle switches to single ray mode when suspended (e.g. when you exit the vehicle) for performance reasons and not intended to actually drive in that mode. Single ray mode on the wheel controllers is about equivalent to default wheel collider's one ray.

    I will fix those bugs, do some testing and push the update on Monday. Thank you for the bug report.
    If you need the fixes earlier contact me via email and I will send you the affected scripts.
     
  35. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Also, one small announcement. I will be updating the version 1.7 in micro updates (1.7.1, 1.7.2, etc.) with only bug fixes until it is bug-free as it gets and make it a LTS version of kinds. Expect updates weekly or bi-weekly.
     
    Last edited: Jun 23, 2018
  36. Marcos-Schultz

    Marcos-Schultz

    Joined:
    Feb 24, 2014
    Posts:
    381
    Thanks so much for the agility in the response, this is very admirable!

    One more suggestion for the asset: it would be interesting to deactivate the speedometers when the player leaves the vehicle, because the player does not come out carrying speedometers by there, heuheueheue.

    :D

    Good luck man, the asset is very good!
     
  37. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    1.7.2 is expected to be out in about 2-3 days, will be pushing it in a few hours.

    Fixes and changes:
    • Greatly improved wheel stability at high caster angles and when hitting obstacles far off center. This greatly improves wheel stability overall.
    • Fixed being able to enter disabled vehicles if vehicle was disabled during runtime.
    • Added ‘Freeze when inactive’ option. ‘Freeze when still’ will now only work when player is in the vehicle. This is to prevent other vehicles behaving as rocks when hit by player and ‘Freeze when still’ is enabled. Also fixes other vehicles not taking damage.
    • Reset gauges to default values when not in vehicle.
    • Other minor bug fixes.
     
    Last edited: Jun 24, 2018
    Marcos-Schultz and Rotary-Heart like this.
  38. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    Freeze when still will be great. I just noticed an issue with vehicles colliding and traced it back to this. Glad this will soon be fixed.
     
  39. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Collision strength relies on velocity magnitude and when ridigbody is under constraints collision velocity magnitude is 0 and as such crash does not register.
     
  40. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    Hi I'm testing out the monster truck and when one of the tires just slightly touches my side barrier the truck gets flipped up and spins crazily. I'm using the default monster truck setup.

    Any ideas how to fix this?
     
  41. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Check if rim colliders are enabled, that would be the first step. Despite being 3D, WC3D still uses similar principles to default wheel collider and can be susceptible to overreacting when hit from the side. Rim collider is here to mitigate that.
     
  42. Marcos-Schultz

    Marcos-Schultz

    Joined:
    Feb 24, 2014
    Posts:
    381
    This does not solve the problem of the vehicle continuing to skid, after all, I can make the vehicle skate with speed = 0.
     
  43. Artaani

    Artaani

    Joined:
    Aug 5, 2012
    Posts:
    423
    NWHCoding
    Hello, I just bought this asset yesterday and was impressed with the quality of physics.

    However, once I opened a profiler, I was disappointed. Turned out, on my Intel i7 2600, each Wheel eats almost 0.4 ms! In default demo scene total time of all wheels was more than 10 ms!
    I selected a wheel and find out that each wheel have 30-70 raycasts each frame, This is huge, but I understand that, this is necessary for such level of realism, so no problem.

    I found a checkbox "Single ray mode", sound like exactly what I need, but unfortunately even with this checkbox enabled, wheel still very expensive, approximately 0.05-0.1 ms per wheel, so each, simple car with 4 wheels consumes 0.2-0.4 ms minimum. More complex cars such as 8x8 APC or Tanks have even worse performance, up to 1 ms per vehicle. Very expensive.

    As result, turned out that asset is suitable only for games which are focused just on several vehicles at once, which is quite sad.

    For example, default unity Wheel Colliders consumes approximately 0.01 ms per wheel, which is 5-10 times faster.

    Is there a way to somehow improve performance to the level of default unity Wheel Colliders?
     
  44. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    Hi NWH, I sent you an e-mail last week (7/2) and never heard back so I wanted to post here as I know sometimes you don't get my e-mails.
     
  45. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Hello,
    One very important thing here that you are forgetting is that each function call in Unity has a significant overhead when Unity profiler is called. Just try making an empty function that does nothing but return 0 and call it a thousand times and you will see significant slowdown. This is what is happening with the raycast. Experienced developers know that the only meaningful way to actually test the performance is to test it in a built product.

    Also, one thing that you forgot when comparing to the inbuilt wheel collider is that you can not profile native code in Unity. Inbuilt wheel collider uses PhysX and C++ which are not profiled on per-function basis and as such you can not reliably know how much processor time one wheel takes. Maybe by making a scene using 100 wheel colliders, noting the difference in performance and then taking the time from that.

    Here is a screenshot from built desktop demo scene (since it is in development mode there is still some overhead):
    upload_2018-7-9_20-28-35.png

    So update of 50 wheels in the scene takes 1.45ms. That is an average of 0.03ms per wheel which I would say is quite fast and much faster result, while keeping all the functionality, would be next to impossible to achieve. Of course, if I stripped the 3D aspect of it, removed the camber and rim offset, did not move the transform each time (which inbuilt collider does not do), etc., I could get it lower but then what would be the point? We already have that inbuilt.
     
  46. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    Oh wow, again? I even marked your email address as important.
    Found it and on it now.
     
  47. robert12342

    robert12342

    Joined:
    Jun 11, 2018
    Posts:
    29
    Hi, I use your physics, and I wanted to create an online game based on your physics on mobile devices and there was an optimization problem. If I add 2-3 cars to the scene then it starts to lag very much. Can eat what nibud decisions?
     
  48. NWHCoding

    NWHCoding

    Joined:
    Jul 12, 2012
    Posts:
    1,692
    The only thing I can see from that screenshot is that you have V-Sync enabled and limited to 60 FPS. My asset runs most of it's processing in fixed update which is, in this case, only 5% of CPU time or 0.7ms from what I can see in that picture. So no, it is not my asset that is causing you problems in this case but Unity waiting for the next frame since it finished the last one early (which is good).
     
  49. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I'm setting up a vehicle with NWH Vehicle Physics and have hit a snag.
    1. I set up a custom vehicle, largely by copying over the configuration from the Monster Truck. This worked as expected.
    2. I hit Play mode and started tuning values on the Vehicle Controller and Wheel Controllers to get the feel and behaviour I wanted.
    3. When I was happy, I right clicked the Vehicle Controller and selected Copy. I then stopped Play mode.
    4. I right-clicked the VehicleController and selected Paste Values. I also manually applied some changes I'd made to the WheelControllers.
    5. I hit Play. My car no longer accelerates.
    In Engine.cs, I checked that cs.input.Vertical is non-zero, but throttle always remains 0. It looks like this is because vc.transmission.Shifting is always true so the code to increase throttle is never reached. Looking further into that, transmission.lastShiftTime is set to 901.1194.

    It appears to me that my copy-paste has grabbed that value at runtime and copied it into the public variable, so now every time my vehicle is instantiated it wants to wait ~15 minutes before it'll start its engine. Easy enough to fix by adding a line to the initialisation method to explicitly set it to 0, but now I'm wondering if I've got other dodgy internal state business going on as a result...
     
    Meltdown likes this.
  50. Marcos-Schultz

    Marcos-Schultz

    Joined:
    Feb 24, 2014
    Posts:
    381
    ...