Announcement

Collapse
No announcement yet.

True rotation in Quake mods?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • True rotation in Quake mods?

    I was attempting to make a cool little platforming section in my Quoth level with rotate_entities - but the func_movewalls were making it near impossible to do without serious problems.

    For example - a ledge, you sit on it, but after a couple of seconds you get pushed into the func_movewalls and die for no reason, and it requires way too many to be any good on engine limits.

    So i started looking, and stumbled upon this thread:

    Inside3d Forums :: View topic - Tutorial: Rotating Brush Models for QuakeWorld

    And I tried the method found in here using Quoth + DirectQ, setting the origin of the func_wall, nextthink "9999999", and the avelocity, and lo and behold it actually worked! I guess the Quoth devs forgot to mention they implemented support for true rotation. The only annoying thing is you have to move the func_wall to the center of the level and light it there, but set the origin to where you want it to BE in the level.

    I have some questions about this:
    First off, using this method is there any way to change the origin of rotation to somewhere else other than the center of the level?

    Second, what does the nextthink key do? setting it to low values such as 9 causes the level to crash after that amount of seconds. Is this a bad thing setting it that high, and is there a way around using this key if it is a bad thing?

    Third, is there any way to get the player's view to rotate with the object? As it is now collision is correct but the player keeps his orientation as if he was standing on normal ground.

    Also, does anyone know what other mods support rotation like this?
    Last edited by Bloodshot; 01-02-2011, 05:04 PM.

  • #2


    True rotation for rotating doors, drawbridges and such requires both engine support and QuakeC support and map build tool support (currently only LordHavoc's hmap2 compiler supports compiling a map rotating objects --- the map compiler has treat rotatable objects differently and instead of using the minimum X, Y, Z as the "location" of the object instead must use the center point).

    Engines that support true rotation include DarkPlaces, FTEQW, probably the RMQEngine and DirectQ, ProQuake and Qrack.

    It also requires QuakeC support. Quoth is a closed-source mod, so it cannot be modified to have true rotation.

    True rotation discussion at Inside3D: rotating doors, rotating objects etc. Along with the other thread you mentioned, this thread combined with that thread pretty much covers recent discussion and implementation.

    Inside3d Forums :: View topic - Avirox's Rotation Tutorial Adapted to NetQuake

    Rotating doors and such is a rather strong bet to be a feature of Remake Quake if it does not already have this. Considering Golden Boy wrote rotating door QuakeC support in the above thread, my guess is that Remake Quake probably already supports this (although the implementation may not be complete or absolutely final as Remake Quake is still in-progress).
    Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

    So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

    Comment


    • #3
      Doing what was done in that thread seems to work with quoth, as it mimics the collision and motion from the video i watched in your DP test - doesn't that mean that It already has support for true rotation coded in?

      Also, I read in that thread that only hmap2 has support for compiling with true rotation, but I compile it with Txqbsp.exe and i get the same result - both produce an accurate collision model.

      Comment


      • #4
        Originally posted by Bloodshot View Post
        Doing what was done in that thread seems to work with quoth, as it mimics the collision and motion from the video i watched in your DP test - doesn't that mean that It already has support for true rotation coded in?

        Also, I read in that thread that only hmap2 has support for compiling with true rotation, but I compile it with Txqbsp.exe and i get the same result - both produce an accurate collision model.
        If all you want is rotating objects that perpetually rotate, you can do it with Quoth or id1 without modification. You just need the engine modification and hmap2 modification. So with Quoth or id1 you could have a spinning generator in a reactor room, for example. You just set avelocity in the entity.

        If you want rotating doors, drawbridges, to control the spinning (like start it or stop) that is where you need QuakeC support.

        If for hmap2 versus txqbsp -- if you understand how, for instance, platforms work in Quake -- eventually you'll try to do something an it will become clear how hmap2 and txqbsp differ but it isn't always immediately obvious.

        A lot of this is hard to immediately notice and you have to play around a bit. Even with txqbsp you can do some limited rotation (but the point around which it rotates will be incorrect -- but maybe with a lot of playing around you could make it look right).

        I think some of that is as clear as mud. Some parts of understanding the rotation stuff isn't immediately obvious when working with it at first. I also tried several times to see if I get txqbsp to do the rotation right, because at first I didn't understand what was changed in the hmap2 compiler.
        Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

        So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

        Comment


        • #5
          Ah, i see what you mean. So you can do very basic stuff without QC mods like indefinite spinning, but when you want things that start/stop you need to modify the QC or have something open source that you can add what you need into it.

          Comment


          • #6
            Originally posted by Bloodshot View Post
            Ah, i see what you mean. So you can do very basic stuff without QC mods like indefinite spinning, but when you want things that start/stop you need to modify the QC or have something open source that you can add what you need into it.
            Yeah.

            Like doors is controls by doors.qc and platforms by plats.qc in the QuakeC source, and getting rotating doors and pivoting platforms requires modifications to those 2 files, for instance.

            Somewhere in one of those thread, I snagged and briefly adapted some rotating doors stuff from Quake-Life (Avirox's FTE/DarkPlaces mod) to create a rotating doors example. Goldenboy started working with that some more and I think be made some other good stuff too that we haven't seen. And those things are QuakeC modifications.
            Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

            So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

            Comment


            • #7
              RMQ has true rotation, mod and engine.

              The def and fgd files are up at the rmq blog.

              There's no train yet, and no rotating of the player's view angle. We'll add those in the future.

              You can use non-hmap2 qbsp compilers for certain things, such as when you insert external bsp models as a rotate_continuous_model into a treeqbsp-compiled map. The rotating cogs in e1m6rq are external bsps, compiled with hmap2, while the main map is compiled with treeqbsp, actually.
              Scout's Journey
              Rune of Earth Magic

              Comment

              Working...
              X