Upspring 1.54

Upspring 1.54

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Upspring 1.54

Post by jcnossen »

Last edited by jcnossen on 27 Mar 2007, 00:38, edited 16 times in total.
User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6240
Joined: 29 Apr 2005, 01:14

Post by FLOZi »

Not tried it out yet but, YAY! :-) 8)
User avatar
Snipawolf
Posts: 4357
Joined: 12 Dec 2005, 01:49

Post by Snipawolf »

Good to see its updating.
User avatar
Das Bruce
Posts: 3544
Joined: 23 Nov 2005, 06:16

Post by Das Bruce »

Sounds promising.

/edit/ Looks promising too. :-)

/edit/ Feature Request : Equivalent of wings 'A' key, for focusing on a specific selected object or group.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Will test :-)
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Tested it. When we can call the animations via script, this will be very impressive. Glad to see this is moving along so quickly- I figured it'd be months before you could get back to this.

Three feature requests:

1. "Move Origin". Allows movement of the Origin XYZ just like Move, but doesn't move the geometry.

2. "Gridsize". Would change the sensitivity of the Move command, allowing the equivalent of "snap to grid" in most 3D applications. Would default to 0.1 units, but should be float-able. Could be combined with Move Origin or Move Part.

Basically, this would be another tool that would help translation of geometry over the format and setting up the rotational points (which is about 90% of the drudgework, as origins and part locations get all screwed up when hierarchies get made, and not all modeling software allows for manipulation of part origins natively).

3. It'd also be nice if UpSpring assumes that users want previous absolute positioning of child objects when they are Pasted onto Parents, instead of relative to the new Parent, which would also save modelers a huge amount of time. Then we could import the model as-is... fix the Origins with Move Origin, and be done and ready to animate- that'd be perfect :-)

If you don't understand why this is a really big deal, I'll send you one of the NanoBlobs models in native OBJ, and let you try to put it together with proper rotational points in UpSpring- I think one try will convince you ;)
Gnomre
Imperial Winter Developer
Posts: 1754
Joined: 06 Feb 2005, 13:42

Post by Gnomre »

At a cursory glance, the new rotation stuff seems to work properly, but there's still one major kink... it has a funky mirroring problem.

These are the exact same files:

Image

It's not just a rotation, it's a full blown mirror... as you can see, it really screws up the quick little pose I just threw together to test:

Image

It looks far more accurate than 1.3 would ever spit out though, which is very good. With 1.3 trying the same thing would give me a Saturday Night Fever-trooper at best...
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Yeah, not having it mirror everything would be boss. I'm so used to dealing with that, I kind've forgot to mention it.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Argh wrote:...
If you don't understand why this is a really big deal, I'll send you one of the NanoBlobs models in native OBJ, and let you try to put it together with proper rotational points in UpSpring- I think one try will convince you ;)
I (or Tobi) realy need to set up WebDav that way you can simply point to the file there.
User avatar
Das Bruce
Posts: 3544
Joined: 23 Nov 2005, 06:16

Post by Das Bruce »

How do we get the animation out? Is there any general documentation somewhere?

Image
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

What's the mirroring in relation to other editors and ota? I trust my own transformation code more than spring actually.

DasBruce: The idea is that animations can be exported using lua, but I'm still working on the lua interface...
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7049
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

In v1.3 only s3o were mirrored, and not 3do. 3do just had their textures up-down mirrored.

Anyway, if the order of rotation has been fixed to match Spring and TA ones, that's very woot! woot! rejoicing!

I'll test that new UpSpring and report next time I get the internet back.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

Spring renders all S3O things mirrored, last I checked. It's a Spring bug, not an Upspring bug.

I can quickly verify if you like, GEM has a tank with a secondary turret that is always on the wrong side ingame.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

Hm ok, it's probably better to fix spring then..
I've uploaded a new version
http://user.supradigital.org/jcnossen/U ... -1.4b2.exe

The swap button works now, and there is an example script of how to export animation info.
Also S3O are mirrored on save and load, but I'll remove that once it's fixed in spring.

scripts/exampleExporter.lua contains a script that writes some animation data to a text file. It's a little comment-less at the moment though.
I'm not sure what is needed for someone to write a BOS exporter... currently the exported file looks like this:

Code: Select all

Object LeftTurret2
 Current Pos:-14.000, 28.000, -18.000
 Current Rotation:-0.000, -0.768, -0.000
 Current Scale:1.000, 1.000, 1.000
 AnimProperty position with 2 keys
  Key time: 0.00,  Vector3: -14.000, 28.000, -18.000
  Key time: 2.00,  Vector3: -14.000, 28.000, -18.000
 AnimProperty rotation with 2 keys
  Key time: 0.00,  Rotation: -0.000, -0.768, -0.000
  Key time: 2.00,  Rotation: -0.000, 0.890, 0.000
 AnimProperty scale with 2 keys
  Key time: 0.00,  Vector3: 1.000, 1.000, 1.000
  Key time: 2.00,  Vector3: 1.000, 1.000, 1.000
With some adaptation it would be possible to only write the changed key frames, and convert the "rotation" to degrees instead of radians.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

I don't mind Spring mirroring s3os since Upspring mirrors my objs upon import and the result is the correct way around.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

I've created a new lua script that attempts to export a bit of BOS code like this:

Code: Select all

Move FrontTurret to z-axis 1 speed[-11];
Move RearTurret to z-axis -8 speed[11];
Turn LeftTurret2 to y-axis 9284 speed<8647>;
Sleep 2000;
Turn RightTurret1 to y-axis 9648 speed<9648>;
Turn RightTurret2 to y-axis 9648 speed<9648>;
Turn LeftTurret1 to y-axis -7099 speed<-7099>;
Turn LeftTurret2 to y-axis -6917 speed<-16201>;
Sleep 1000;
Move FrontTurret to z-axis 28 speed[13];
Sleep 2000;
Turn FrontTurret to x-axis -10922 speed<-14563>;
Turn FrontTurret to y-axis 9102 speed<12136>;
Turn FrontTurret to z-axis 0 speed<0>;
Sleep 750;
However the BOS tutorials I found where a bit vague on units...
- What's the unit for turn speed?
- What's the range and unit of rotation?
- What value do I have to scale position with?

http://user.supradigital.org/jcnossen/U ... -1.4b3.exe contains it (BOSExporter.lua). OPK format has changed between b2 and b3 btw.
SpikedHelmet
MC: Legacy & Spring 1944 Developer
Posts: 1948
Joined: 21 Sep 2004, 08:25

Post by SpikedHelmet »

Its really goign to suck if/when the Spring devs fix the mirroring... because then we'll all have to go and un-mirror all of our S3O's.. :S
User avatar
FizWizz
Posts: 1998
Joined: 17 Aug 2005, 11:42

Post by FizWizz »

Wouldn't it be better now than later (or never) though?
maestro
Posts: 352
Joined: 08 Jun 2005, 11:10

Post by maestro »

Hi, I notice the welding system is still the same (smoothing divided by separated UV island.... :shock: )
Archangel of Death
Posts: 854
Joined: 28 Jan 2005, 18:15

Post by Archangel of Death »

Ever notice that note in the weapon.tdf for OTA that said turnrate is in 65k degrees? Well, not quite... but anyway.

- What's the unit for turn speed? Degrees per second sorta, I'm mostly certain. When you place it in <>'s, then its multiplied by the angular constant of 182 before compile, to get it into Spring's rotational units.
- What's the unit for turn speed? 65520 (uncannily close to 2^16) is equivalent to 360 degrees, based off the angular constant. But Spring is -180 to 180, so thats -32760 to 32760. Or is it actually using 32768 in the engine...
- What value do I have to scale position with? I'm fairly sure that its the same as the position values in the model (at least in 3dobuilder, but you would know best if they are exactly the same in Upspring), however I have managed to confuse myself on the particulars in past OTA modding...
Last edited by Archangel of Death on 27 Sep 2006, 08:23, edited 1 time in total.
Post Reply

Return to “Engine”