View Full Version : THE Ultimate Animation of Crew Thread
Madox58
11-08-10, 08:10 PM
OK.
Let us now get techy on this subject!
First I must state Credits.
Ref, Anvart, DiveingDuck, Thunder, and Skwasjer,
added in nearly everything I know on this subject.
Changeing ALL Crew animations can now be done.
:yep:
It's a BIG project for those that wish to do it.
S3D can handle the work.
I've tested it and it's totally a done deal to replace MeshAnimation stuff,
as we see fit.
The sky is now the limit Mates!
:rock:
Madox58
11-08-10, 08:11 PM
First, copy The Body_01.dat to a safe working space.
then open it with S3D,
From there open the POS_20mmTwin_UFlak.anm file.
Then export the needed MeshAnimationData as a rawchunk.
http://i108.photobucket.com/albums/n12/privateer_2006/Start.jpg
http://i108.photobucket.com/albums/n12/privateer_2006/Start1.jpg
Name this as you wish and close the file the POS_20mmTwin_UFlak.anm file.
We are done with it for now.
Back to Body_01.dat........
Here's how it looks stock.
http://i108.photobucket.com/albums/n12/privateer_2006/Original_Body_dat.jpg
Here's how it looks with that RawChunk pasted in!
http://i108.photobucket.com/albums/n12/privateer_2006/Adjusted-Body_dat.jpg
Now you can export or import MeshAnimations as you wish for the Crew!
:rock:
Just move the newly imported MA's to the correct files by rawchunk.
:arrgh!:
If you want textures as I had in a simple avi?
You'll need to add the needed stuff.
I'm not going to teach you that here.
There's plenty of S3D information to teach you how.
Talk to the SH4 Modder Guys if you need help.
They know S3D!
:rock:
Hans Witteman
11-08-10, 09:43 PM
First, copy The Body_01.dat to a safe working
Now you can export or import MeshAnimations as you wish for the Crew!
:rock:
Just move the newly imported MA's to the correct files by rawchunk.
:arrgh!:
Hi privateer,
You are giving us here the possibility to eternally mod SH3:woot:
Like i said let's make history a very present moment to share :up:
Well done mate keep that energy high:salute:
Best regards Hans
Madox58
11-08-10, 09:57 PM
Hans,
I wish nothing more then to extend this Game as it should be.
What I learn or discover?
I want it passed to others as soon as I can.
I am not an expert with S3D.
I do many things in Hex because I know that way.
S3D will do what we want in a fantastic way.
It just gets takeing use to.
:yep:
Madox58
11-08-10, 10:04 PM
Now that you can SEE the Animation running in S3D?
Export it.
You'll need the obj files to copy a better mesh to.
You want a higher mesh body?
Fine! Do it!
BUT!
As Gun Animation moves?
Does your import match?
:hmmm:
We can not change Gun Movement!
Your animations MUST match stock movements.
Hans Witteman
11-09-10, 12:13 AM
Now that you can SEE the Animation running in S3D?
Export it.
You'll need the obj files to copy a better mesh to.
You want a higher mesh body?
Fine! Do it!
BUT!
As Gun Animation moves?
Does your import match?
:hmmm:
We can not change Gun Movement!
Your animations MUST match stock movements.
Hi again my friend,
The gun animation is ok it is only when the crew is manning the C/30 i mean when he point directly at the sky the gun shoulder pad is lower to the pelvis area because of the new gun rotation axis i had to change to fit the correct gun length.
In a word i have to make the crew to bend lower to fit new gun position i will post pictures of it since it worth a thousand words:up:
I can still live with that since i never look at my gunner externally and it is only on full extent rotation i prefer my realistic C/30 with this little annoyance rather then stock flak:salute:
Best regards Hans
divingbluefrog
11-09-10, 04:55 AM
Hi,
It works great with MeshAnimationData. But did you also succeed with MeshAnimationData2?
By the way, I'm struggling for a while now with a correlated problem.
I can't export the mesh Body01 with S3D without loosing a lot of vts. The original mesh has 15206 vts. Roughly, 1751 faces connected to more than 5000 Vts (3 vts by face) and this for the three channels thus the 15000 vts. I suspect this unusual cut-out to be tied to the internal process of MeshAnimationData2.
When opening the obj files, vertices and faces are OK, but I ended up with only 1216 vts for the main and uv2 files and 1285 for the uv3 file.
Of course, reimporting this mesh in Body01.dat goes to a wracked mesh in game.
I've deciphered 90% of the internal structure of the model chunk and until now I've found nothing wrong.
Any hints will be welcome...
Philipp_Thomsen
11-09-10, 11:19 AM
Maybe now the crew will react to tense depth charging in a more realistic way, other then bend their knees and look around slowly.
Is it possible to make the crews run from one end to the other of the uboat? Would be cool to simulate crew running to the bow when crash diving.
Hans Witteman
11-09-10, 11:42 AM
Hi,
It works great with MeshAnimationData. But did you also succeed with MeshAnimationData2?
By the way, I'm struggling for a while now with a correlated problem.
I can't export the mesh Body01 with S3D without loosing a lot of vts. The original mesh has 15206 vts. Roughly, 1751 faces connected to more than 5000 Vts (3 vts by face) and this for the three channels thus the 15000 vts. I suspect this unusual cut-out to be tied to the internal process of MeshAnimationData2.
When opening the obj files, vertices and faces are OK, but I ended up with only 1216 vts for the main and uv2 files and 1285 for the uv3 file.
Of course, reimporting this mesh in Body01.dat goes to a wracked mesh in game.
I've deciphered 90% of the internal structure of the model chunk and until now I've found nothing wrong.
Any hints will be welcome...
Hi divingbluefrog,
I would like to know what is the difference between the two MeshAnimationData and MeshAnimationData02?
Best regards Hans
divingbluefrog
11-09-10, 02:04 PM
Hi Hans,
Well, it's near to the 1 million $ question...
MeshAnimationData2 is the type of animations used mainly by the crew, as on the coning tower during watch.
You can find them for example in POSW.anm. I'm able to import them in a .dat file and they indeed show in S3D. That's how I found that the first in the previous file was the one that is called when a watchman fines tune his binoculars. But once imported, I get the associated wracked mesh, thefore my question to Privateer.
I've finished with the structure of the model chunk, and there is something disturbing with the way it handles the uv3 vts.
Changeing ALL Crew animations can now be done.
:yep:
Doing the spadework on a new project once again ! :rock:
Modders got the help needed, now let's see what they're going to come up with. :ping:
Madox58
11-09-10, 06:11 PM
@divingbluefrog,
I'll be looking closer at all the animation stuff as we go along.
As soon as I have a solid answer on anything, I'll post it here.
:yep:
I mostly wanted to get people started on this as the more people
working with it?
The faster we make headway.
Hans Witteman
11-10-10, 02:09 AM
Hi Hans,
Well, it's near to the 1 million $ question...
MeshAnimationData2 is the type of animations used mainly by the crew, as on the coning tower during watch.
You can find them for example in POSW.anm. I'm able to import them in a .dat file and they indeed show in S3D. That's how I found that the first in the previous file was the one that is called when a watchman fines tune his binoculars. But once imported, I get the associated wracked mesh, thefore my question to Privateer.
I've finished with the structure of the model chunk, and there is something disturbing with the way it handles the uv3 vts.
Hi again divingbluefrog,
Yes i understand some controllers are still to identify correctly, what baffling me is that even if i pull one single vertices on any body or head we got the same wacky mesh in game, normally since i was teaching animation and morphing then changing one vertex won't screw the animation if the amount of vertices remain unchanged.
So my guess so far would be that a kind of a shell exist in an ACT file that identify the mesh integrity so finding that shell trigger could lead to success. In a word we need to find a way to lure the game engine to identify our new mesh as the original one.
Let's team on this and i am convinced we will succeed, for the moment i am pretty busy finishing my own mod and it is a hell of a task for single man but the minute i will have spare time i will focus on crew animation i would love to be able to do it because i can animate anything professionally i am in the field since the early beginning under DOS.
Best regards Hans
IIRC, MeshAnimationData2 has been conceived for characters...
MeshAnimationData - for other objects...
... the difference is that MeshAnimationData2 has two frames with the number 0 and with the same vertexes coordinates... i think, for the better pairing of sequence of different animations for the characters.
***
Added.
The cause of violations of the mesh during character animation (after export/import of character's model using S3D) is to optimize UV-coordinates (vt), S3D makes it automatically... see:
http://www.subsim.com/radioroom/showpost.php?p=840557&postcount=552
http://www.subsim.com/radioroom/showpost.php?p=840722&postcount=554
Pak3D does not optimizes UV-coordinates therefore this problem is absent... but there are many other problems... :haha:
divingbluefrog
11-10-10, 05:57 AM
Obviously I'm not as much skilled in animations as you are :)
but I can deal with basic ones.
There are three points that should light bips on our board.
- First, why put 15000 vt in a mesh if the model only use 4000 of them?
- Second and more disturbing : it seems that MeshAnimationData2 is not fully tied to the model. I made the following test : after having imported the animation in a .dat file and gotten the "classic" behavior, I kept the animation but changed the 3D model to something totally different, the pescarus mesh indeed. And the mesh got animated! It looked like nothing but nonetheless the mesh moved!
That leads me to think that MeshanimationData2 acts perhaps more like a filter for a mesh "prepared" to it.
- Third, MeshAnimationData is called inside a <notset> node but MeshAnimationData2 is called inside a MeshAnimation node. What is the true nature of the MeshAnimation controller?
A lot of questions, so few answers...But as said, we are just at the beginning of the process...
Ironically, animations aren't my main goal. At the end of August, I began a project that I had in mind for a long time. A pause in my current career was the opportunity to start. I didn't know I was opening the Pandora box. From one problem to another, I ended up Hex editing crew meshes...
I don't doubt that your TypeII will match the quality of the torpedo designed for it, so it's worth waiting...
Hans Witteman
11-10-10, 04:12 PM
IIRC, MeshAnimationData2 has been conceived for characters...
MeshAnimationData - for other objects...
Hi Anvart,
Thank mate for the clarification on this controller but what would be really helpful for the community is a list of what controllers are usable for modding sh3 i look at all of them and some i think are not usable via S3D editor i might be wrong but i would like to know the one that work.
Best regards Hans
Madox58
11-10-10, 09:12 PM
Export the MeshAnimationData2 rawchunk.
Open it with a Hex editor.
Change the SubType from 0X8005 to 0x5.
So change the hex values 0580 at address 1C
to 0500
Now import to the dat.
S3D now sees it as MeshAnimationData and exports properly.
divingbluefrog
11-11-10, 05:43 AM
You're right. It works fine. I should have imported it on an already modified mesh. My bad.
Hex editing the mesh, I can delete the third channel and import it back. No problem in game. Of course it's always easier to cut than to modify, but it's a first step.
The bad news is that Blender wracks the .obj produced by S3D.
skwasjer
11-11-10, 08:27 AM
MeshAnimationData2 is technically identical to MeshAnimationData. The import sequence in S3D is the same. The only difference is a bitflag in the first section of the data (look at privateer's post above 0x5), and as previously stated seems to be used for crew. I needed to make this a seperate controller in S3D to support this bitflag but it in fact is the same controller in game. The game knows the difference only because of that flag.
skwasjer
11-11-10, 08:29 AM
Another tip is you can also simply copy/paste the chunk, so unless you need a rawchunk for hexeditting purposes, I suggest do the easy way and just CTRL+C/CTRL+V
skwasjer
11-11-10, 08:31 AM
You can drop uv3 channel. It is not needed, nor is 4th channel. Only the first channel (diffuse) is required and the 2nd is optional (occlude).
skwasjer
11-11-10, 08:38 AM
MeshAnimationData works as follows:
Take the base mesh, and for each frame, and for each vertex, compute the delta translation.
For the computed delta's get the lower and upper bound. This is your resolution (or range). Then pack each vertex with this resolution as signed short. The narrower the resolution, the finer the accuracy of the animation. Store the resolution and the packed vertices (or texture coordinates, you can also animate textures!!), and you are done.
Take note that whenever the base model changes, the animation goes whack! Without the base mesh, you can't 'restore' the animation frames...
All the above is exactly what S3D does during import/export, and why it needs to be tied to the base model for import/export to work! Additionally, when using S3D to modify a stock animation, take additional note that S3D has more advanced compression routines than stock, so the index tables can also go out of sync requiring you to reimport not only the animation, but also the base model! Stock, no compression is done on any model, so many models contain alot of duplicate vertices and texture coordinates. This is why you sometimes see a model having 20K vertices and after reimport without modifying it suddenly has 12k vertices. This is S3D's optimization/compression feature. You CAN and perhaps should (!) turn it off during import/export (it's an option). Keep this in mind!
[edi] I wrote unsigned, but of course this should be signed...
Hi Anvart,
Thank mate for the clarification on this controller but what would be really helpful for the community is a list of what controllers are usable for modding sh3 i look at all of them and some i think are not usable via S3D editor i might be wrong but i would like to know the one that work.
Best regards Hans
Hi, Hans.
I think Skwasjer already have answered your question... and has made it on good English... :D
Hans Witteman
11-11-10, 11:47 AM
MeshAnimationData works as follows:
Take the base mesh, and for each frame, and for each vertex, compute the delta translation.
For the computed delta's get the lower and upper bound. This is your resolution (or range). Then pack each vertex with this resolution as signed short. The narrower the resolution, the finer the accuracy of the animation. Store the resolution and the packed vertices (or texture coordinates, you can also animate textures!!), and you are done.
Take note that whenever the base model changes, the animation goes whack! Without the base mesh, you can't 'restore' the animation frames...
Hi skwasjer,
First i like to thank you for your intervention in this thread and i am glad to see you are still following the SH3 mod forum an honor to have you here:salute:
It clarify a lot but i might sound like a newb on this one i mean what is the delta is it in s3d because when i do morphing in max i have a delta option in the controller menu?
And second when you say take the base mesh does it mean we cannot add a new custom character mesh?
Also i remember i post you a pm earlier this year on animation and i didn't reply because of health problem just want to apologize for not answering back now health is better fortunately:up:
Best regards Hans
Hans Witteman
11-11-10, 11:49 AM
Hi, Hans.
I think Skwasjer already have answered your question... and has made it on good English... :D
Hi Anvart,
No problem mate i think your English is enough clear for me i am not so good either in English :salute:
Best regards Hans
skwasjer
11-11-10, 12:53 PM
Hi skwasjer,
First i like to thank you for your intervention in this thread and i am glad to see you are still following the SH3 mod forum an honor to have you here:salute:
It clarify a lot but i might sound like a newb on this one i mean what is the delta is it in s3d because when i do morphing in max i have a delta option in the controller menu?
And second when you say take the base mesh does it mean we cannot add a new custom character mesh?
Also i remember i post you a pm earlier this year on animation and i didn't reply because of health problem just want to apologize for not answering back now health is better fortunately:up:
Best regards Hans
No problem, good to have you in good shape.
I was just 'tech' babbling on how the actual animation frames are stored in the DAT-file. It's not really anything you should worry about. But if you want to know, the delta is a value that is computed based on the position of a specific vertex A, in frame 1 vs the same vertex A in frame 2 (where frame 1 is the base model/frame). It's basically subtraction, and you end up with a value called delta. All delta's are compared for the highest and lowest, and this final 'range' can then be used to determine the resolution, translation and initial offset. The initial offset (float) is a value that all vertices 'inherit', the translation is a factor (short) of resolution (float), which is added to the initial offset (for each component xyz). The final value is then the actual (new) position of the vertex. The finer the resolution (which is just computed using an algoritm, and depends on each model/frame), the more 'lossless' the compression is. As you can see, this can save quite a few bytes of data, since per frame the initial offset and resolution are just merely taking up 8 bytes of data, and each vertex only 6 bytes, whereas normally each vertex would take up 12 bytes + index table. This is a factor of > 2 compression. I don't have the details (nor do I have SH + S3D installed), but I remember quite alot of space savings was achieved this way. The biggest downside of this approach though, is to uncompress, expensive multiply operations are needed. But I'm sure the devs made the right tradeoff between load times and overall game size... Todays computers shouldn't really feel the pain though, this is a decided upon like what 6 years ago?
I'll save you from how my algorithm specifically computes all this, because it is a bit more complex and not really interesting.
The option in Max has nothing to do with this specifically, but the term delta can be explained in similar way, you probably specify the maximum allowed range of the morph algorithm (I am no Max expert, and don't know this controller).
divingbluefrog
11-12-10, 08:02 AM
skwasjer, thank you again for this priceless software that is S3D, and for your help.
With your detailed informations on MeshAnimation controller, I found a way to modify the original mesh without screwing up the animation.
I did it in Hex editing because Blender doesn't give me the .obj file I'm expecting and I don't want to deal with the python scripts for importing/exporting .obj files now.
First I remove the third channel, then I only keep the 2432 first vts.
Then, as animations deal only with vertices, I remove the faces I want to delete but keep the associated vertices. Some become isolated vertices, but it seems not to be a problem.
It's how I have now in game a mesh without the faces linked to Rank-Deco informations and animations go as expected.
Hans Witteman
11-12-10, 12:34 PM
No problem, good to have you in good shape.
The option in Max has nothing to do with this specifically, but the term delta can be explained in similar way, you probably specify the maximum allowed range of the morph algorithm (I am no Max expert, and don't know this controller).
Hi Skwasjer,
Thank for your clear explanation i learn stuff this way and i like it:up:
This thread is worth gold
Best regards Hans
skwasjer
11-12-10, 04:44 PM
No problem, glad to help. Animations have been supported for a while by S3D, but I never got to do some tutorials due to lack of time so it's good that people try and discuss so the 'word gets out' on how to work with them.
Then, as animations deal only with vertices, I remove the faces I want to delete but keep the associated vertices. Some become isolated vertices, but it seems not to be a problem.
Correct, this is not a problem. It's not optimal, but it works, so good job! It surely isn't the first 'workaround' in the mod-scene ;)
skwasjer
11-12-10, 04:51 PM
And second when you say take the base mesh does it mean we cannot add a new custom character mesh?
When talking about characters that walk on other surface vessels, yes you can because these are simple mesh animations, but full new NPC's living on your boat can't be done with S3D, at least not easily and it will require much hexwork and borrowing from stock models. This is the only missing feature in S3D. I only managed to 'decode' about 75% of how those characters (and animations) are stored in the DAT-file, so it never made it into S3D... So you're basically only able to do specific adjustments using current supported features in S3D.
Madox58
11-12-10, 05:12 PM
Skwasjer,
Thanks for filling in the technical details.
:yeah:
As you stated above,
We'll need to do some Hex work here and there but nothing beyound
what most people could do if we explain it clearly.
Most of the work is going to be experimenting with the Crew Animations.
Finding the easiest and best ways to actually do them.
I think we have a good start on it all with S3D in the Tool Box.
:salute:
divingbluefrog
11-14-10, 01:07 PM
Good news : all operations on faces are allowed, add, delete and flip normals, as long as you don't touch the vertices.
This seems to be little but this will open the door to an another major breakthrough. But this is a different story...
Madox58
11-14-10, 05:31 PM
We need to get a Standard Rig built for all Crew Animations.
I would suggest a scale of 1 Unit = 1 Meter.
Then scale the exports to SH3 size.
If all future Animators use a Standard Rig We all work on the same level.
And provide a Tool to help those that wish to do some animations
but can not build Rigs.
Hans Witteman
11-15-10, 02:14 AM
Good news : all operations on faces are allowed, add, delete and flip normals, as long as you don't touch the vertices.
This seems to be little but this will open the door to an another major breakthrough. But this is a different story...
Hi divingbuefrog,
That is what we call excellent news indeed:up:
Best regards Hans
Hans Witteman
11-15-10, 02:18 AM
We need to get a Standard Rig built for all Crew Animations.
I would suggest a scale of 1 Unit = 1 Meter.
Then scale the exports to SH3 size.
If all future Animators use a Standard Rig We all work on the same level.
And provide a Tool to help those that wish to do some animations
but can not build Rigs.
Hi privateer,
When i will be finish with my mod i will do such a rig i already have human rig from previous project i did so i would just have to modify it for our crew:salute:
I wish i had more spare time to heavily test those new things i can't wait to put my dirty 3d hand on it:up:
Best regards Hans
urfisch
11-18-10, 01:30 PM
does "new animations" mean = "new crew models"?
:hmmm:
Hans Witteman
11-18-10, 03:16 PM
does "new animations" mean = "new crew models"?
:hmmm:
Hi urfisch,
So far the progress are slow but i think we could make it with perseverance nothing is impossible to dedicated people:up:
Best regards Hans
Madox58
11-18-10, 10:14 PM
does "new animations" mean = "new crew models"?
:hmmm:
That is the final goal, Yes.
Animations of dock people and life boat people was done awhile ago.
That's pretty straight forwards.
Doing new Crew animations is a round about job.
Once started?
You have to do ALL animations, edit Keyframes and placement, etc.
It is a big job, Yes.
But nothing different from what Modders have ever done before
as far as the scope of the work load.
divingbluefrog
11-22-10, 06:38 AM
I need help.
The way materials and textures are applied in the bodyxx.dat and heads is a total mess! I can't find any logic in it...
Especially for the gat material (it means neck in romanian). It seems to have its own texture but I can't find where the data are stored.
Another point is in the Body02.dat. There is an embedded texture map that is lableled Map #83. I have no idea what this tag is referencing.
Any hint will be welcome.
urfisch
11-22-10, 04:42 PM
That is the final goal, Yes.
Animations of dock people and life boat people was done awhile ago.
That's pretty straight forwards.
Doing new Crew animations is a round about job.
Once started?
You have to do ALL animations, edit Keyframes and placement, etc.
It is a big job, Yes.
But nothing different from what Modders have ever done before
as far as the scope of the work load.
ok, nice!
but is there a chance of an option, to import the animation keyframes automatically? if they are already done in a 3d programm?
Madox58
11-22-10, 11:03 PM
Keyframe and Mesh animations are 2 different things.
The Crew animations use a combination of both.
I do not know if S3D will import a set Keyframe that does not match
an existing Keyframe thing?
In other words.
If there are 30 Keyframes and I want to import 50.
Will S3D do it?
:hmmm:
I never tried it as I use a different Tool to import KeyFrame stuff.
I cannot tell on english... :hmmm:
In game we have vertexes animation.
If to tell in other words in defined moments of time, we have certain vertexes positions of object...
It is possible to name as KeyFrames.
When i did animation (for example pennants or flags) in 3ds Max i used Snapshot Tool to get 100 meshes (vertexes positions of object) through certain quantity of time/frames. For example, full animation - 800 frames (speed = 25 FPS or other), selected Range = 243... 412 frames, Copies = 100, Clone method = Mesh... and result - 100 meshes (with different or not vertexes positions). Then import in dat-file using S3D (with calculating and adjusting time-step).
skwasjer
11-24-10, 11:50 PM
ok, nice!
but is there a chance of an option, to import the animation keyframes automatically? if they are already done in a 3d programm?
No, S3D does not understand any animation file format in itself.
For mesh animations (vertex/morph) as such you sortof 'render' specific static frames (OBJ) and then import those with S3D. The timeline does not have to be strictly fps bound though, because once in S3D you can adjust timings (albeit tedious compared to 3D studio). So if you have an animation that consists of 10 unique keyframes, but is stretched variantly accross a timeline, just import the 10 frames and adjust the timings in S3D for optimum performance.
For key framed animations that animate a single static mesh (like propellers, parts of guns), there's no import option all together. You import the one mesh, and then just play with the animation controller to adjust timings and positioning of the mesh.
skwasjer
11-24-10, 11:56 PM
Keyframe and Mesh animations are 2 different things.
The Crew animations use a combination of both.
I do not know if S3D will import a set Keyframe that does not match
an existing Keyframe thing?
In other words.
If there are 30 Keyframes and I want to import 50.
Will S3D do it?
:hmmm:
I never tried it as I use a different Tool to import KeyFrame stuff.
S3D completely replaces the animation data. The frame count does not matter. Just keep in mind all the (customized) timings are lost in the process too (based on frame count and the timing settings when importing).
Madox58
04-05-11, 04:45 PM
ok, nice!
but is there a chance of an option, to import the animation keyframes automatically? if they are already done in a 3d programm?
Quite by accident I have found a way to do this.
I've started useing a new Hex Editor that allows Custom Templates and Custom Scripts.
So one could create the needed Templates and/or Scripts to extract the information from a file, then add it to an SH3 .dat file.
It's roughly $50 U.S. paperbacks to buy for non-commercial work.
Not bad for a Tool that has unlimited uses in many areas.
I've seen several Games being Modded with this Editor already!
Madox58
04-05-11, 05:04 PM
One thing I did notice about the MeshAnimationData2?
There are 2 Frames numbered as Frame 0!
:hmmm:
I'd delete the second one and see what happens.
It may be a transitional frame?
Another reason to bring this thread up?
Hans is mistaken thinking SH3 uses bones.
It's all mesh animimations based on keyframes.
It's quite simple if you follow the basics layed out.
To make it more that it is?
You are just confuseing yourselves.
urfisch
04-06-11, 02:42 AM
great to see this is further investigated!...i wish i would have more time to help. sad one, i know. but i would love to try your finds!
thanks a lot for the work so far!
:salute:
DivingDuck
04-06-11, 06:55 AM
Moin,
Quite by accident I have found a way to do this.
I've started useing a new Hex Editor that allows Custom Templates and Custom Scripts.
So one could create the needed Templates and/or Scripts to extract the information from a file, then add it to an SH3 .dat file.
It's roughly $50 U.S. paperbacks to buy for non-commercial work.
Not bad for a Tool that has unlimited uses in many areas.
I've seen several Games being Modded with this Editor already!
Laying out a bait? Give us a name to put to that holy hex editor!
Regards,
DD
Madox58
04-06-11, 07:12 AM
Moin,
Laying out a bait? Give us a name to put to that holy hex editor!
Regards,
DD
:03:
http://www.sweetscape.com/010editor/
I've already started templates and scripts to extract 3D models from 'PT Boat' files.
The goal being to create an extraction/importation Tool.
DivingDuck
04-06-11, 07:24 AM
Thanks for the quick reply, mate.
Check your gmx account. You have mail. RING! RING!
Regards,
DD
Madox58
04-06-11, 07:35 PM
Looking at the files?
I kind of see what is going on with Data2.
:hmmm:
It will take a few more days probably to have the answer as to what is actually going on.
Then it may require more then S3D to work with.
Hans Witteman
04-07-11, 04:29 AM
One thing I did notice about the MeshAnimationData2?
There are 2 Frames numbered as Frame 0!
:hmmm:
I'd delete the second one and see what happens.
It may be a transitional frame?
Another reason to bring this thread up?
Hans is mistaken thinking SH3 uses bones.
It's all mesh animimations based on keyframes.
It's quite simple if you follow the basics layed out.
To make it more that it is?
You are just confuseing yourselves.
Hi mate,
Nice to see you are still on this because i did a lot of reading in the past week and what i mean by bones is that the based mesh is always animated with bones system and if we can export the whole rig in the 3d application we can then modify the based mesh at will this mean brand new character crew and animations.
It is done frequently on many others game they just write an import/export script for the proper 3d application.
I have characters already rig with bone system and morph target for lipsynch they are rig the same ways that current studios are making them.
Just wish we will be able to put them in SH3 they are waiting for this moment:up:
Best regards Hans
urfisch
04-07-11, 05:57 AM
...seems as something great is beeing done here...
once again...
a really great community here. really...
:yeah:
Madox58
04-07-11, 07:27 AM
MeshAnimationData2 successfully exported, modified, and re-imported with NO distortions.
:up:
I'll do a few more to verify the process then we should be off and running!
:rock:
Now, there are NO bones to export nor import for SH3!
How you animate the characters does not matter.
But you must export each frame as a seperate .obj file.
Those frames are then imported with S3D or whatever Tool you happen to use.
Hans Witteman
04-07-11, 09:49 AM
MeshAnimationData2 successfully exported, modified, and re-imported with NO distortions.
:up:
I'll do a few more to verify the process then we should be off and running!
:rock:
Now, there are NO bones to export nor import for SH3!
How you animate the characters does not matter.
But you must export each frame as a seperate .obj file.
Those frames are then imported with S3D or whatever Tool you happen to use.
Hi mate,
Ok now i get it s3d just take the keyframe generated by the bones animation:up:
But so far we still cannot modify the based mesh?
Also when exporting animation frame in s3d what your workflow to make it work in game?
So if i do some morph animation then i just export it as keyframe or do i need to used the morph controller?
Best regards Hans
reaper7
04-07-11, 11:44 AM
MeshAnimationData2 successfully exported, modified, and re-imported with NO distortions.
:up:
I'll do a few more to verify the process then we should be off and running!
:rock:
Now, there are NO bones to export nor import for SH3!
How you animate the characters does not matter.
But you must export each frame as a seperate .obj file.
Those frames are then imported with S3D or whatever Tool you happen to use.
Hi mate,
Ok now i get it s3d just take the keyframe generated by the bones animation:up:
But so far we still cannot modify the based mesh?
Also when exporting animation frame in s3d what your workflow to make it work in game?
So if i do some morph animation then i just export it as keyframe or do i need to used the morph controller?
Best regards Hans
Great news Privater, hope this method will allow Hans and (everyone else working on animations) to get his new characters into SH3. What a day that will be :yeah:
DivingDuck
04-07-11, 12:50 PM
Moin Hans,
Hi mate,
Ok now i get it s3d just take the keyframe generated by the bones animation:up:
But so far we still cannot modify the based mesh?
Also when exporting animation frame in s3d what your workflow to make it work in game?
So if i do some morph animation then i just export it as keyframe or do i need to used the morph controller?
Best regards Hans
It does not matter how you create your animation. Use a bone system if you like. The SH engine will not care. All you need is a set/sequence of sequentially named *.obj files, e.g. Part_001.obj, Part_002.obj, ....
As your animation will consist of a sequence of frames, all you have to do is to export each of these frames to *.obj file format using sequential numbers. The very first *.obj file however must come with a corresponding *.mtl file. All other *.mtl files are obsolete and will be ignored by S3D.
The *.datīs 3d_model node will hold the base frame/3d object while the rest of the animation will be put into the corresponding sub node holding all needed information about the deviation of each vertex during the animation, but no 3d model data at all. Thatīs why it is vital that the number of vertices is exactly the same for all *.obj files.
So, you can alter the based mesh, as you name it. But you canīt alter this one alone. As a result the animation will not work. There is one exception though. When you extract the base mesh and alter it without changing the number of vertices and without changing the triangles regarding their vertex dependencies (donīt know if thatīs the right term) it will work. But to what use? This approach would be useful only if you want to change the texture mapping coords for the base texture or for the lightmap.
Regards,
DD
Hans Witteman
04-07-11, 01:18 PM
Moin Hans,
It does not matter how you create your animation. Use a bone system if you like. The SH engine will not care. All you need is a set/sequence of sequentially named *.obj files, e.g. Part_001.obj, Part_002.obj, ....
As your animation will consist of a sequence of frames, all you have to do is to export each of these frames to *.obj file format using sequential numbers. The very first *.obj file however must come with a corresponding *.mtl file. All other *.mtl files are obsolete and will be ignored by S3D.
The *.datīs 3d_model node will hold the base frame/3d object while the rest of the animation will be put into the corresponding sub node holding all needed information about the deviation of each vertex during the animation, but no 3d model data at all. Thatīs why it is vital that the number of vertices is exactly the same for all *.obj files.
So, you can alter the based mesh, as you name it. But you canīt alter this one alone. As a result the animation will not work. There is one exception though. When you extract the base mesh and alter it without changing the number of vertices and without changing the triangles regarding their vertex dependencies (donīt know if thatīs the right term) it will work. But to what use? This approach would be useful only if you want to change the texture mapping coords for the base texture or for the lightmap.
Regards,
DD
Hi DivingDuck,
Thank for replying, what i mean by modifying the base mesh ex; Body01 i was just trying to move the vertices around without modifying their count and the purpose was to reshape the base mesh to make ex; pant straight instead of pant in boots and to reshape the waist area to get a proper mesh to apply a reefer jacket on officers.
Even if i don't modify the vertices amount just moving them slightly screwed the mesh in game!
And i would be satisfy even without modifying the animation, simply put i want to add a better 3D crew model in game.
So far now no one was capable of modifying those crews 3D models:nope:
Best regards Hans
DivingDuck
04-07-11, 01:26 PM
Make sure your 3d proggy does not optimize while exporting. They usually do and weld close vertices together. Thus youīll end up with a lower poly count.
Btw, Iīve puzzled together the animation of one crew in a single *.dat more than a year ago. Thus I could check a particular crew animation in S3D. Therefore Iīm sure it is possible to alter. The major problem, the bodies stored in the respective *.dat file(s) serve as a base for all crew animations used ingame. And there are many!
Regards,
DD
Hans Witteman
04-07-11, 01:41 PM
Make sure your 3d proggy does not optimize while exporting. They usually do and weld close vertices together. Thus youīll end up with a lower poly count.
Btw, Iīve puzzled together the animation of one crew in a single *.dat more than a year ago. Thus I could check a particular crew animation in S3D. Therefore Iīm sure it is possible to alter. The major problem, the bodies stored in the respective *.dat file(s) serve as a base for all crew animations used ingame. And there are many!
Regards,
DD
Hi mate,
Maybe you point me in the right direction because if i am not mistaking i think S3D editor do optimization automatically by reducing vertices count?
I also remember i did try to change the Unwrap UVW layout on those body01 because ubi put the pant and sleeve overlapping so we cannot texture the pant part independently, so i just separated the pant and sleeve in independent UVW chunk but again only changing this screwed the mesh in game.
Will try to see where i can disabled the vertices optimization in S3D editor and will try again to move those vertices on mesh.
Only by moving the vertices i can achieve a lot better crew models.
Best regards Hans
DivingDuck
04-07-11, 02:15 PM
Hans,
first you should identify the source of your problem.
Export the 3d model via S3D and ...
re-import it without altering anything. Does it work ingame?
import the *.obj into your 3d proggy. Export without any changes! Does it work ingame still?
DD
Hans Witteman
04-07-11, 02:42 PM
Hans,
first you should identify the source of your problem.
Export the 3d model via S3D and ...
re-import it without altering anything. Does it work ingame?
import the *.obj into your 3d proggy. Export without any changes! Does it work ingame still?
DD
Hi mate,
Yes if i import the model and re export it without touching anything it is working fine.
But when i try to modify even very slightly like what i just attempt a few minutes ago, i just try to move one UVW layout chunk the hand more precisely and i just move it 1 unit left and here again the result :
http://i886.photobucket.com/albums/ac68/Hans_Witteman/Screwedmesh.jpg
I am very close to stop any further attempt at modifying those base character mesh it seem that no one can figured this one out so i will put the emphasis on my typIIA interior instead of waisting countless hours to fix ubi horrible mesh layout and shape.
Even in SH5 the character look bad they should seriously consider hiring an artist specialized in human anatomy.
Best regards Hans
DivingDuck
04-07-11, 02:51 PM
Did you alter any mesh or the texture coords? It looks as if youīre messing with the mesh, but youīre saying itīs the UVW mapping coords.
Hans Witteman
04-07-11, 03:02 PM
Did you alter any mesh or the texture coords? It looks as if youīre messing with the mesh, but youīre saying itīs the UVW mapping coords.
Hi DD,
Yes i just moved one UV layout part the hand, didn't touch anything else and i disabled optimize textures coordinates in S3D editor to make sure the amount of vertices remain the same and as you see without any success.
Since the beginning if someone would have been able to modify those base mesh i think we would have seen it in at least one mod.
I think the only way to solved that would be to write our own collada import/export script but i am no where near a programmer to do that.
All hope is not lost but it seem we will be stuck with those character for awhile.
Also what could work is hexing back the new vertices coordinates that are move on the mesh to fool the game engine that nothing has change?
Edit: Hexing back vertices position would not work either because of animation.
Best regards Hans
Madox58
04-07-11, 05:00 PM
Animations have been one of the last things to crack for years now.
That's why no one has modded the Crew Animations yet.
There are still unknowns that need to be solved.
The MeshAnimationData2 is interesting.
:hmmm:
Why two 0 frames?
Frame 0 with a timing of 0 seconds could be a transitional frame for
the second Frame 0 with a timing greater then 0
Or it could be something else!
Remember, if we screw up just one thing we get a mess!
SH4 rowers texture fix threw me for a loop for about a day.
S3D nor the other Tools I use could import a simple UV fix without the messed up mesh thing.
I finally fixed the problem by Hexing the texture maps section!
There are things that S3D and other Tools can not fix.
And before the Hexing gets explained?
We need solid proof it works everytime.
That means a lot of work is still needed to fully understand certain files.
It is all time intensive, brain numbing, boreing, non-profit work!
But before I move along I want to see the Crew Animations finally open to Modders.
It is my last Goal with SH3.
Hans Witteman
04-07-11, 10:20 PM
Animations have been one of the last things to crack for years now.
That's why no one has modded the Crew Animations yet.
There are still unknowns that need to be solved.
The MeshAnimationData2 is interesting.
:hmmm:
Why two 0 frames?
Frame 0 with a timing of 0 seconds could be a transitional frame for
the second Frame 0 with a timing greater then 0
Or it could be something else!
Remember, if we screw up just one thing we get a mess!
SH4 rowers texture fix threw me for a loop for about a day.
S3D nor the other Tools I use could import a simple UV fix without the messed up mesh thing.
I finally fixed the problem by Hexing the texture maps section!
There are things that S3D and other Tools can not fix.
And before the Hexing gets explained?
We need solid proof it works everytime.
That means a lot of work is still needed to fully understand certain files.
It is all time intensive, brain numbing, boreing, non-profit work!
But before I move along I want to see the Crew Animations finally open to Modders.
It is my last Goal with SH3.
The 0 frame could be linear float or maybe the morpher controller i am only speculating here but i refer to how we work in 3d and animation.
Yes i know how hard it could get some time and all this for free because the most passionate people work a lot of time for nothing except to make other happy with their work.
If only we could have a game programmer as passionate as we are here this annoyance would be a thing of the past.
Anyway for the moment i am happy at how the crew look in mod and lot of uniforms help to accept the old mesh body.
I don't think i can make them to look better except for the head that i can easily replace with custom head i made, the only thing is that they won't talk but they rarely open the mouth and when they do i prefer to look elsewhere.
Best regards Hans
TheDarkWraith
04-07-11, 10:29 PM
@Hans: can you send me the work you've been working on for the crew? I have an idea :hmmm:
And if you can also detail what you did to cause the messed up crew that would be helpful also :yep:
Madox58
04-07-11, 10:45 PM
I'm thinking the MeshAnimationData2 is based from a pose from an idle position or maybe even other positions based on different factors.
The idle position is not the same as the base mesh so animations would be distorted if based off of them as would any other cases.
The first 0 frame of 0 timing could be a placer to grab the needed base information for all following frames.
Hans Witteman
04-07-11, 11:12 PM
I'm thinking the MeshAnimationData2 is based from a pose from an idle position or maybe even other positions based on different factors.
The idle position is not the same as the base mesh so animations would be distorted if based off of them as would any other cases.
The first 0 frame of 0 timing could be a placer to grab the needed base information for all following frames.
Hi mate,
Ok i think we are getting closer now let's me explain when we build a character rig the biped system used for animation have 2 states one is the default position of the character in cross shape pose, this pose is then move to the position where the animation will took place and when on position we pass in freeform animation mode.
Maybe the first 0 is the neutral pose and the second the start of free form animation mode?
Also when i start to animate a character i have to set the first keyframe manually to define base position for each limbs.
We still think about that and comment on idea that come spawn in my mind.
Best regards Hans
Hans Witteman
04-07-11, 11:15 PM
@Hans: can you send me the work you've been working on for the crew? I have an idea :hmmm:
And if you can also detail what you did to cause the messed up crew that would be helpful also :yep:
Hi mate,
The minute i am done with some urgent request from the team i will upload it to you.
And the only thing i did was moving the hand UVW layout it is the flattened version of the hand you see in 3d software UVW unwrap window.
Best regards Hans
Madox58
04-07-11, 11:16 PM
If we follow the StateMachine animation calls?
We may find the base for each Data2
That is IF that's what is going on.
:hmmm:
Hans Witteman
04-07-11, 11:19 PM
If we follow the StateMachine animation calls?
We may find the base for each Data2
That is IF that's what is going on.
:hmmm:
Hi mate,
Could it be possible to use a decompiler to see the code executed when character animation occur with this i could probably identified what method was used for the rig and this could help you out maybe?
Best regards Hans
urfisch
04-08-11, 02:23 AM
hey hans.
the "splattered-mesh-effect" is nothing new. its produced by the game, when changing a mesh. seems as if the coordinates are mixed up. privateer stated once the new mesh can not consist of more vertices than the former model. otherwise the game mixes them up.
its just, what i experienced years ago, when trying to change the decals on the crew. it was simply impossible. even just changing the position of a vertice caused this effect.
:hmmm:
DivingDuck
04-08-11, 06:14 AM
Moin Hans,
did a few tests with S3D myself this morning. While exporting the 3d model and importing it straight back a lot of texture coordinates data got changed. Working with a crew body mesh the amount of texture coordinates got reduced while other objects from CR.dat (use a non modded version!) ended up with a remarkably higher amount of texture coords than before.
So, the question is, will the tex coords be screwed on export via S3D or on import via S3D.
Iīll have a look at that in hex asap.
Regards,
DD
Hans Witteman
04-08-11, 12:43 PM
Moin Hans,
did a few tests with S3D myself this morning. While exporting the 3d model and importing it straight back a lot of texture coordinates data got changed. Working with a crew body mesh the amount of texture coordinates got reduced while other objects from CR.dat (use a non modded version!) ended up with a remarkably higher amount of texture coords than before.
So, the question is, will the tex coords be screwed on export via S3D or on import via S3D.
Iīll have a look at that in hex asap.
Regards,
DD
Hi DD,
Yes texture coordinates even with slight modification they tend to change a lot for some obscure reason in the UVW algorithm.
I guess you already aware of that but take in consideration that S3D editor have a built in feature that optimized the vertices from UVW layout and you have to de activated on import process in import window to make sure the UVW vertices count won't be alter.
Best regards Hans
Hans Witteman
04-08-11, 12:47 PM
hey hans.
the "splattered-mesh-effect" is nothing new. its produced by the game, when changing a mesh. seems as if the coordinates are mixed up. privateer stated once the new mesh can not consist of more vertices than the former model. otherwise the game mixes them up.
its just, what i experienced years ago, when trying to change the decals on the crew. it was simply impossible. even just changing the position of a vertice caused this effect.
:hmmm:
Hi mate,
Yes it is because the vertex is move and it doesn't correspond anymore to the original vertices x,y,z, position in world space coordinates.
Take note that i didn't change the vertices count only move the uvw chunk layout.
Best regards Hans
Have you have compared vertices section of body model (in dat-file) before and after editing of UV coordinates and importing via S3D into dat-file (using hex editor)?
p.s.
http://www.subsim.com/radioroom/showpost.php?p=1533030&postcount=14
Maybe I write not clear?
The reason is known for a long time.
DivingDuck
04-08-11, 03:47 PM
Moin,
Iīve checked the 3d models against each other in hex after exporting and re-importing them without any changes applied to them. Here are my findings.
number of vertices + number of tris stays the same
number of tex coords reduces from 15206 to 3718
Iīve cut out the tex coords from the stock model and pasted them over the new tex coords. As a result the crewīs mesh ingame is still totally screwed up.
Iīve deleted the MeshAnimation Node. ---> the crew models look fine ingame, but are motionless in base pose with strechted out arms. So the basic crew mesh is not screwed as long as no animation is involved.
Iīve cut the vertices data off both models (before/after) and compared them against each other. They do not match the way they should. The vertices are stored in a different order. Some seem to depict the same value but at a different precision.
Accordingly the triangle data do not match either. Each triangle data block matches itīs vertex data block, but they can not be interchanged.
The animation base mesh is, although having the same shape and number of vertices+tris, a different one. As we know the AnimationDataChunk does not store 3d objects but the information about the movements of each vertex around itīs initial position. As the correlation between base mesh vertices and their dependent data gets lost/broken by using a different order to store the vertex data, the mesh getīs distorted as soon as the animation starts.
So, the problem lies with the export/import routine of S3D, I reckon.
@Privateer:
MeshAnimationData and the second appearance of FrameNumber 0, my understanding:
I reckon the first appearance of Frame #0 is what we are used to see/call the 3d_model base mesh for a non crew animation. The second appearance of Frame #0 is equal to Frame #0 of every "usual" frame set/animation. As we never see the "real" crew base model with strechted out arms, this first appearance of frame #0 became necessary to avoid the animation to loop through this Leonardo DaVinci like pose.
As a result weīd have to apply the very same changes to the first appearance of frame #0 as we apllied to the base 3d_model. Since the animation data chunk does not contain any tex coords this should basically work. Although I must admit that I didnīt have a look at the first frame #0 in hex yet. A major problem remains though, the CH alone comes along with more than 60 MeshAnimationData2 Chunks. Therefore, provided my approach would be successfull, one had to change the 3d_model and alter ALL 60+ 'frame #0's accordingly. Challenging. ;)
Regards,
DD
Madox58
04-08-11, 04:43 PM
@DD,
I cut a whole Data2 block and planted it in a dat with the Body01 model.
So no export nor import was done.
The animation shows the distortion anyway.
That's what leads me to believe a transitional pose is needed?
:hmmm:
It's only the MAD2 that has this double 0 frame thing.
MAD does not have it.
And by the way?
It's great to have you back looking into this stuff!
:up:
You taught me alot in the 'way back' days.
:salute:
Hans Witteman
04-08-11, 07:12 PM
Hi shipmates,
Yes indeed it is great to see DD back looking at the last modding frontier for SH3.
The character crew was a part we all craved to modify at will.
I think with all the brain power here at work in cooperation we will finally get the dream crews character on that bridge.:up:
Best regards Hans
Madox58
04-09-11, 12:22 PM
Well, haveing 2 frame 0's is no problem.
Exporting and then re-importing the animations is also no problem.
It's the weird Texture count thing with the SH3 crew models.
Now if one were to redo every animation used by SH3 Crew?
The Crew animations can be changed as far as I've tested to date.
I'm wondering if those extra texture coords are left over from the failed dynamic shadows stuff.
:hmmm:
SH4 does not show a reduction of the same type info when one exports and imports Crew models.
(It's a totally different problem there!)
And remember, S3D was aimed mostly at SH4.
Anvart is correct in the fact that exporting as an obj from other programs
changes the order of stuff.
SH3 used kashmir which did all the changes to dat format.
Who knows how that was coded to read and change the files!
...
Who knows how that was coded to read and change the files!
Using Archiver (IIRC, ZIP or RAR) extract Pack3D and explore the code (on java) ...
...
My rule for S3D:
for import - uncheck all items in Geometry section;
for export - uncheck all items in Geometry section.
P.S.
Sorry i badly understand your english... :timeout: is my problem...
Madox58
04-09-11, 10:00 PM
Hi Anvart,
Some where I have the source code for Pack3D!
Or did have at one point in time.
It may have been on a DVD I threw away.
:nope:
I never got into Java code much so never followed up on it.
Further on the tex coords stuff..........
The Body02 does not have as many and loses less on export/import.
So it seems to point even more to Dynamic Shadow uses that are not needed.
Hans Witteman
04-10-11, 04:21 AM
Hi Anvart,
Some where I have the source code for Pack3D!
Or did have at one point in time.
It may have been on a DVD I threw away.
:nope:
I never got into Java code much so never followed up on it.
Further on the tex coords stuff..........
The Body02 does not have as many and loses less on export/import.
So it seems to point even more to Dynamic Shadow uses that are not needed.
Hi mate,
Body02 is only seen outside maybe that why seem to loose less on import/export just a guess!
Best regards Hans
Hi Anvart,
Some where I have the source code for Pack3D!
Or did have at one point in time.
It may have been on a DVD I threw away.
:nope:
You know, I can't access to my disks...
and I don't recall any links to Pack3D.
I never got into Java code much so never followed up on it.
...
I watched Pack3D code a very long time ago... but I think, you can see some low-level tricks of work with numbers ... (as source code)... but it's not Kashmir. :woot:
Madox58
04-10-11, 09:35 PM
Most of the stuff from Pack3D has been replaced by S3D for most newer modders.
Older modders tend to use both for different reasons.
And some of us still Hex alot.
Both Pack3D and S3D have limits.
Hexing has only the limits of ones knowledge.
Even that is not enuff at times.
It is a fact that we can not alter the base model for any animation and expect the animations to work properly after doing so.
That has been a fact for years now.
The very best minds I have ever seen here at SubSim have proven that beyond a shadow of a doubt!
The only way to have new Crew Animations is to rebuild each and every animation used in SH3.
From the base models to every animation called by them.
The first order of business should be to determine which of the many animations are actually used in Game.
There are animations never used!
Hans Witteman
04-12-11, 09:00 PM
The only way to have new Crew Animations is to rebuild each and every animation used in SH3.
From the base models to every animation called by them.
Hi mate,
I could managed to do them in reasonable short time because the kind of animation they had was really basic and look more like robots then human to me.
Simple loop of those differents animation sequence is really no big deal to do but could we replaced the base mesh with those new ones?
Also i can make them move like real human and give them a more random type loop like on watch.
If so i will start to do them on the spot but first i need to know if it would be possible to put them in game.
Best regards Hans
DivingDuck
04-12-11, 10:39 PM
Moin Hans,
this wouldnīt be an easy task at all. This ...
http://i182.photobucket.com/albums/x241/DivingDuck/Tutorials/CH_Ani_001.jpg
http://i182.photobucket.com/albums/x241/DivingDuck/Tutorials/CH_Ani_002.jpg
... is the complete set of animations of the ChiefHelmsman alone, put together into a single *.dat. Donīt get me wrong. Itīs not a set of animation frames you see, but all animations for the CH, frozen. They just donīt dance for everybody. LOL. Had no opportunity to capture a video. If need will be, I can do so and upload it.
I have not counted them for the CH, neither have I for the other crew members. But there are a lot. :cry: Some of them I have never seen ingame.
As every crew animation calls upon the same base mesh from <Body01.dat> / <Body02.dat> youīd have to remake ALL animations for all crew at once. There would be no sense in just giving it a try for one crew member as either the new crew or the rest of them would crash due to distorted links between base mesh and animation data.
So, as long as we are not able to export the 3d object and re-import it without screwing the order of vertices, there is no way to do it easily.
I have not looked into the exported model in hex to check whether the coords got mixed up on export or import. If time permits Iīll have a look. But I guess it will come down to hex editing the object in/out.
Regards,
DD
Madox58
04-12-11, 10:58 PM
:o
Someone has been busy!!
:har:
If you export the base mesh and the animations, open them in max by useing the mass importer, export them useing the mass exporter, then re-import to the dat?
The animations work fine.
I've not planted them back in Game to see if those lost tex coords cause problems yet.
But aside from that?
The heads are all keyframed animations!
Not mesh animations. As are the hats, and binos.
:doh:
BIG JOB!
:damn:
DivingDuck
04-13-11, 10:19 PM
Moin,
:o
Someone has been busy!!
:har:
...
the busy German needed something to clear his mind. Besides I wanted to make Hans reconsider his plans. ;)
...
If you export the base mesh and the animations, open them in max by useing the mass importer, export them useing the mass exporter, then re-import to the dat?
The animations work fine.
I've not planted them back in Game to see if those lost tex coords cause problems yet.
...
Additional tex coords should not bother the SH engine. They will be ignored as the MAD/MAD2 do not hold any / does not refer to them in any way.
...
But aside from that?
The heads are all keyframed animations!
Not mesh animations. As are the hats, and binos.
:doh:
...
Adjusting the paths of the heads might turn out to be even worse than creating and importing all the animations.
BIG JOB!
:damn:
too big for my liking. ;)
DD
Madox58
04-13-11, 11:23 PM
Makes us a couple of SLACKERS don't it?
:har:
DivingDuck
04-13-11, 11:58 PM
Slackers we are.
:()1:
I am the second from the left, first row. LOL.
Regards,
Diving Slacker Duck
Hans Witteman
04-14-11, 01:50 AM
Hi shipmates,
I am still not discouraged:har: Believe me doing all crew animations would not be that long for me because i did a lot of character animation on another project and those loop are not long to do because the way interpolation controller work on bone system.
After our mod is release i could get on that but before investing time doing it i just want to be sure we can put them in game after?
Best regards Hans
DivingDuck
04-14-11, 09:51 AM
Moin Privateer,
youīve talked about exporting and successfully re-importing MAD2 after hex editing. I reckon youīve hex-cut the obsolete tex coords before exporting?
DD
"Texas Chainsaw modders" :woot:
Madox58
04-14-11, 09:56 AM
Nope.
Only thing I did was change the MAD2 to a MAD by changeing the 80 value to 00
so type 50 80 becomes type 50 00
Then exported the base mesh then the animations.
After the import/export in 3D Max I imported the animations first,
then the base mesh.
It plays fine in S3D.
We just don't have those extra tex coords.
DivingDuck
04-14-11, 10:12 AM
As seen in an earlier post of mine Iīve copied the MAD2, pasted them into a new *.dat and linked them to the <Body1> base mesh. All 88 (or so) animations work in S3D.
But, when I export a sequence and import it right back into S3D, the animation is screwed. And it does not matter whether I hex it from MAD2 to MAD first. Itīs just screwed after re-import. And thatīs strange as all needed data are available and are altered in a single process. :hmmm:
For proof of concept Iīve stripped the CH.anm to hold only a single chunk of MAD(2). I am actually filling in a completely new animation sequence to see whether it works or not. So far the new base mesh shows correctly in game. But it has not moved yet. Because of a missing call or an error of mine remains to be checked.
DD
Madox58
04-14-11, 10:19 AM
I exported the body01 and the animations.
I imported all of those obj files with the script I sent you.
I exported all of them with the other script.
Then re-imported to the dat.
Animation first, body01 (all 3) next.
Works fine in S3D
Here's the dats if you want to look at them
http://www.mediafire.com/?d8b5y45a2txd904
DivingDuck
04-14-11, 10:37 AM
Thanks Privateer. However, I was too lazy to go via Max and back. I just gave it a second try. I have proof of concept now. I just had to wait a little longer until the animation was called. It works. All other crew are screwed of course. But Iīm a wee bit wiser and pleased with myself. As you said, it can be done, but only all at once or none.
@Hans:
if you are still willing to, it is possible. But I reckon the 3d modelling might be the funnier and smaller part of it.
Time to go back to 'Slacker-Mode'. :()1:
DD
Madox58
04-14-11, 10:43 AM
:yeah:
Now that my theory has been confirmed by an outside Expert?
:woot:
It's off to 'Slacker Land' for me on this issue.
:()1:
DivingDuck
04-14-11, 10:48 AM
Iīll meet you over in 'Slacker Land'. You canīt miss me. Iīm the one with a white rose in the top buttonhole. :D
Nice teamwork, btw. :salute:
Hans Witteman
04-15-11, 03:32 PM
Hi shipmates,
Something is still puzzle me in animation import process, i know there many way it is implemented in game like meshanimationdata, keyframe etc.
But i want to clarify a few points that would help the community to achieve stuff based on crystal clear video tutorial.
Here are the main obscure points :
If you look at Anvart FLG_GE in data\animations folder you have AnimationObject controller on it but no 3d nodes is in only AnimationObject controller that represent 3 different flag states.
My question is how do i put my animation in there so i can make my statemachines controller call it with array item playAnim?
Also no one anywhere in all the forum have clearly explain how to import animation even basic stuff in game?
Skwasjer have made a small video with a coil but he never show or tell how to put it in game.
So far the only way i was able to make animation work in game is by re using stock animation from different animation in game and then i change the keyframe parameters timing or rotational value.
This point really need to be explain to the user, why making the wonderful tool that is S3D if no one can use it power?
Best regards Hans
Madox58
04-15-11, 06:10 PM
I'm not very good at tutorials but I'll see what I can whip up this weekend.
Most of what I know I figured out by studying different files in SH3 over the years.
And exchangeing thoughts and stuff with my Slacker Friend DivingDuck,
Anvart the Crazy Russian, and our missing Techno-Mage Ref.
...
If you look at Anvart FLG_GE in data\animations folder you have AnimationObject controller on it but no 3d nodes is in only AnimationObject controller that represent 3 different flag states.
My question is how do i put my animation in there so i can make my statemachines controller call it with array item playAnim?
...
... yes, with my english ... to write a tutorial ... it would be absolute madness... :haha:
... In my case, the Flag is called through equipment (*.eqp file of sub)... node cfg#F01 ... and all others things through StateMachine (control) mechanism ...
IIRC, files with animations are placed in Animations folder...
File with models and file with StateMachineClasses are placed in Library folder.
Do not understand why you asked. :o
...
If you speak about your flooding and if you can use simple animations for water, you must place them in "effect-object" in interior... i think...
DivingDuck
04-16-11, 08:04 AM
Moin Hans,
I'll post a tut when back at home. Don't have access to any computer atm.
I have made a tut for SMC called animations only recently. It shows the dependencies of all related files and nodes. Doesn't deal with S3D though, as it was just created to understand the way the they are interlinked. I'll add a S3D part.
DD
Hans Witteman
04-16-11, 01:42 PM
... yes, with my english ... to write a tutorial ... it would be absolute madness... :haha:
... In my case, the Flag is called through equipment (*.eqp file of sub)... node cfg#F01 ... and all others things through StateMachine (control) mechanism ...
IIRC, files with animations are placed in Animations folder...
File with models and file with StateMachineClasses are placed in Library folder.
Do not understand why you asked. :o
...
If you speak about your flooding and if you can use simple animations for water, you must place them in "effect-object" in interior... i think...
Hi Anvart,
If i can understand your english then it is good enough:up:
But for placing animated water plane in effect object you mean effect launcher controller? Does this have to be link via statemachines?
Best regards hans
Hans Witteman
04-16-11, 01:51 PM
Moin Hans,
I'll post a tut when back at home. Don't have access to any computer atm.
I have made a tut for SMC called animations only recently. It shows the dependencies of all related files and nodes. Doesn't deal with S3D though, as it was just created to understand the way the they are interlinked. I'll add a S3D part.
DD
Hi DD,
That would be great my friend and with your permission i would do a video tutorial out of it.
The statemachines controller are powerful trigger and i already understand the logic for the conditions but only need the correct nodes worflow to make it work.
So far if anyone is simply trying to make their animation work in game it wont work at all with the obj keyframes export it is only working in S3D and you can see the meshanimationdata add to it but will not work in game,
Just to make a test i took the pescarus meshanimationdata and i pasted it on plane and no animation show up in game.
So in a word meshanimationdata is not working alone it need to be call by node in a very strict way.
Best regards Hans
Hi Anvart,
If i can understand your english then it is good enough:up:
But for placing animated water plane in effect object you mean effect launcher controller? Does this have to be link via statemachines?
Best regards hans
I already wrote... all work through StateMachine - StateMachineWrapper...
http://www.subsim.com/radioroom/showthread.php?t=182437
#7.
... if i understand correctly your effect, you can insert your effect into existing parent object where are water flow effect...
if i don't understand your idea... you can creat new dummy-effect-object with name-prefix $Gen_ ... and two (or more) child objects - one with particles generator (and if need with new material in material.dat) and with name-prefix $... it's effect of particles over water... second child with your water model and with animation... without name-prefix.
In NSS_Uboat7_CR.sim you see InteriorEffectsManager - here are listed and divided into groups IDs of effect-objects (IIRC, parent)...
what else..? aha, in *.sim you see StateMachineWrapper controllers -
here shows the Graph names ... if your effect is new separated you must to add new controller with new Graph name... in Library folder (if you created new object and new Graph) do new file with new StateMachineClass with new Graph... if not new add into existing file your logic...
I don't remember anything anymore ...
:gulp:
skwasjer
04-16-11, 05:59 PM
http://www.subsim.com/radioroom/showthread.php?t=154550
Also see last post, with link to kickinbak, that page has the video where I imported the coil...
Hi shipmates,
Something is still puzzle me in animation import process, i know there many way it is implemented in game like meshanimationdata, keyframe etc.
But i want to clarify a few points that would help the community to achieve stuff based on crystal clear video tutorial.
Here are the main obscure points :
If you look at Anvart FLG_GE in data\animations folder you have AnimationObject controller on it but no 3d nodes is in only AnimationObject controller that represent 3 different flag states.
My question is how do i put my animation in there so i can make my statemachines controller call it with array item playAnim?
Also no one anywhere in all the forum have clearly explain how to import animation even basic stuff in game?
Skwasjer have made a small video with a coil but he never show or tell how to put it in game.
So far the only way i was able to make animation work in game is by re using stock animation from different animation in game and then i change the keyframe parameters timing or rotational value.
This point really need to be explain to the user, why making the wonderful tool that is S3D if no one can use it power?
Best regards Hans
Hans Witteman
04-16-11, 06:06 PM
http://www.subsim.com/radioroom/showthread.php?t=154550
Also see last post, with link to kickinbak, that page has the video where I imported the coil...
Hi Skwasjer,
Long time no see:salute:
Hope you are doing well my friend thank for info i will have a look at this asap and by the way i send you a pm regarding this thread :
http://www.subsim.com/radioroom/showthread.php?t=182596
If you can shed some light on this i would be more than happy :up:
Best regards Hans
Hans Witteman
04-16-11, 06:13 PM
Hi Skwasjer,
I already saw those videos i have no problem importing animation or model in S3d, the only problem i have is to make the animation work in game.
In S3D the animation play fine i have no problem on that but when you look in game it doesn't show!
So i think that for animation to work also in game i have to used the statemachines controller technique devellop by Anvart and also used by DD on his periscope.
Best regards Hans
skwasjer
04-16-11, 06:33 PM
It's not needed, I didn't need to... but then again, I was testing in SH4. It's been so long ago that I've worked on this that I can't remember all exactly, but this definately worked for me.
http://s3d.skwas.com/media/S3D_Anims.wmv
This vid shows the coil running without any specific controller attached. Although this was recorded in S3D it worked in game. The rods where made with keyframe anims. I wasn't up to the point of implementing the state machine here yet, all ran without it.
Hans Witteman
04-16-11, 06:36 PM
It's not needed, I didn't need to... but then again, I was testing in SH4. It's been so long ago that I've worked on this that I can't remember all exactly, but this definately worked for me.
http://s3d.skwas.com/media/S3D_Anims.wmv
This vid shows the coil running without any specific controller attached. Although this was recorded in S3D it worked in game. The rods where made with keyframe anims. I wasn't up to the point of implementing the state machine here yet, all ran without it.
Hi again,
For me it also working in S3d but unfortunately not in game maybe i am cursed :haha:
Best regards Hans
...
So i think that for animation to work also in game i have to used the statemachines controller technique devellop by Anvart and also used by DD on his periscope.
...
I haven't tried ... but guess... exactly same scheme will not work in SH4 ... may be ...
... and for your mod (Flooding Effect) no need to use it... you have simple case... and StateMachineWrapper. :DL
May be we speak about different mods?
It's time for bed.
FIREWALL
04-16-11, 08:41 PM
Maybe now the crew will react to tense depth charging in a more realistic way, other then bend their knees and look around slowly.
Is it possible to make the crews run from one end to the other of the uboat? Would be cool to simulate crew running to the bow when crash diving.
Reminds me of an old quote. " When in trouble or in doubt, Run to Both Ends of the Boat and Scream and Shout." :haha:
DivingDuck
04-17-11, 03:02 PM
Moin Hans,
if your animation shows in S3D but not ingame, you probably have not set the 3d_model identifier (see pic) correctly or youīve got an ID conflict.
Skwasjer is, of course, right saying that you do not need a SMC to make an animation show up ingame. But there are several hooks that might prevent your solution from working.
First thing to do is to create a new node featuring a 3d model.
You can do it by cloning (copy&paste) an existing 3d_model within S3D. BUT, this will not work without hex editing as the 3d modelīs ID will be linked to itīs properties node via an ID entry that is not accessible via S3D. (see pic below) Therefore youīll end up with an ID conflict. ID conflict will result in animation not showing ingame, not even the base mesh.
http://i182.photobucket.com/albums/x241/DivingDuck/Tutorials/Hex_Chunk_Node_002.jpg
You can use your right mouse button to create new nodes/chunks in S3D. As I donīt know what routine S3D uses to create unique IDs I prefer method #1
Second step: you have to make sure the 3d_model type/identifier is set to 0x02. (see pic below) Otherwise you will see the base mesh only without animation.
http://i182.photobucket.com/albums/x241/DivingDuck/Tutorials/Animation_004.jpg
Third step: select the 3d_model node and import your *.obj file sequence.
This is the easiest way to bring an ever looping animation into the game.
If you donīt want the animation to loop constantly, youīll have to split and put the data into several files. See pic below.
http://i182.photobucket.com/albums/x241/DivingDuck/Tutorials/Animation_002.jpg
This last pic says it all. If thereīs still something missing, ask!
Regards,
DD
Hans Witteman
04-17-11, 03:39 PM
Moin Hans,
if your animation shows in S3D but not ingame, you probably have not set the 3d_model identifier (see pic) correctly or youīve got an ID conflict.
Skwasjer is, of course, right saying that you do not need a SMC to make an animation show up ingame. But there are several hooks that might prevent your solution from working.
First thing to do is to create a new node featuring a 3d model.
You can do it by cloning (copy&paste) an existing 3d_model within S3D. BUT, this will not work without hex editing as the 3d modelīs ID will be linked to itīs properties node via an ID entry that is not accessible via S3D. (see pic below) Therefore youīll end up with an ID conflict. ID conflict will result in animation not showing ingame, not even the base mesh.
Regards,
DD
Hi DD,
Thank for that great tutorial but finally someone as pin point that without an hexeditor animation wont work in game i knew that since the beginning and i wasted countless hours trying to make animation work in game.
So since i am not good at all at hex editor can you just show me how to change that value to fix my animation? If i type the number in File Offset of S3D in Hex editor will it show me the required information to change?
Edit: After some test i follow DD advice on identification tag for 3d model and the animation is working in game wahoooo just have to make the correct statemachines class to make it work under damage state conditions.
http://www.u-boot-hahd.com/ubootwebsite/wp-content/plugins/phpfreechat/data/public/themes/zilveer/smileys/Kaleun-Cheers.gif
A thousand thank DD you did it again mate.
Best regards Hans
Hans Witteman
04-17-11, 08:07 PM
Hi again,
DD can you tell me what is your procedure to save your animation in animation folder?
Because now my water flooding work in game by changing tag ID to 2 like you mention but it is only working when i imported the meshanimationdata in my CR.dat.
If i remove the meshanimationdata it does not trigger the animation i previously saved in animation folder?
Also on game engine what is less demanding regarding animation is it better to save animation in external animation folder or to used them directly under Dat files?
Best regards Hans
Hans Witteman
04-17-11, 10:52 PM
Hi shipmates,
I did some new test on saving as .anim file, what i did is i export as raw data the meshanimationdata and import it back in .anim. file and deleted the 3d model node leaving only the noset +meshanimationdata and re link it to parent AnimationObject.
And it is still not working so i think it could be 2 main reasons, first the way i saved .anim file and second the way i build the statemachines class, so far i did only 1 states entries just to test animation trigger in game can you tell me what is wrong with this SMC :
http://i886.photobucket.com/albums/ac68/Hans_Witteman/SMC.jpg
http://www.subsim.com/radioroom/data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/4Q2uRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAA ABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAc AAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAACvyAAA AnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTNCBXaW5kb3dzADIwMTE 6MDQ6MTcgMjM6NDg6MTQAAAAAA6ABAAMAAAABAAEAAKACAAQAA AABAAACIqADAAQAAAABAAABugAAAAAAAAAGAQMAAwAAAAEABgA AARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAA gEABAAAAAEAAAEuAgIABAAAAAEAAAx4AAAAAAAAAEgAAAABAAA ASAAAAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMD AwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0 QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMD AwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAggCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBA QEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAU DDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0 UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdeP zRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent 8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEU obFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUox dkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3 x//aAAwDAQACEQMRAD8A2brRUw2EOcAQNrBucS5wY3a3+s5V/wBqYU7d75Pb03k6+W1WxzHigfackYwyD6ALsf7SKvUs3lgY7I2 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 ChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAt AAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIAADhCSU0EAgAAAAAAAgAAOEJJTQQ wAAAAAAABAQA4QklNBC0AAAAAAAYAAQAAAAI4QklNBAgAAAAAA BAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0 EGgAAAAADSQAAAAYAAAAAAAAAAAAAAboAAAIiAAAACgBVAG4Ad ABpAHQAbABlAGQALQAxAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA BAAAAAAAAAAAAAAIiAAABugAAAAAAAAAAAAAAAAAAAAABAAAAA AAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAA GYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3Agb G9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAA BugAAAABSZ2h0bG9uZwAAAiIAAAAGc2xpY2VzVmxMcwAAAAFPY mpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwA AAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AA AAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHl wZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc 09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAA AAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAboAAAAAU mdodGxvbmcAAAIiAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFR FWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnV EVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGN lbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD 0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGl nbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAA AALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXB lAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmd E91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAA AAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMA AAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAzhCSU0EDAAAAAAMlAAAA AEAAACgAAAAggAAAeAAAPPAAAAMeAAYAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMD AwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0 QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMD AwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAggCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBA QEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAU DDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0 UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdeP zRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent 8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEU obFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUox dkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3 x//aAAwDAQACEQMRAD8A2brRUw2EOcAQNrBucS5wY3a3+s5V/wBqYU7d75Pb03k6+W1WxzHigfackYwyD6ALsf7SKvUs3lgY7I2 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 p9F+1v5n52xPbgUWhoc60FocGvbY7cN5Lj73b3exzv0P+h/wai3pmM1hqmx9Ttu6ux5eCGFr62tn+a/SVse/Z/OpKbTRZsaXth8AvAkgGPftP7qdVWdOoY5jhZe703Ne1rrS5ssJ ezc0j3e5ytJKUkkkkpSSSSSlJJJJKXb9IfFZlX80z+qPyLTb9I fFZlX80z+qPyJKf/9Xcb9IfFH6d/wAnYf8A4Xq/6hiA36Q+KP07/k7D/wDC9X/UMSU2EkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSU u36Q+KzKv5pn9UfkWm36Q+KzKv5pn9UfkSU/wD/1txv0h8VY6cCem4ZA/7T1f8AUMVWyyuppsscGMby5xgCTtH/AEkOcMfnUgdtWAflRo9lOttd4FLa7wKyPUwS1r99Ox/0XSyDA3c/1U7XYb3BrDU5xG4NbtJI/eSo9iqw6213gUtrvArM9Kr9xv3BL0qv3G/cEFOntd4FLa7wKzPSq/cb9wS9Kr9xv3BJTp7XeBS2u8Csz0qv3G/cEvSq/cb9wSU6e13gUtrvArM9Kr9xv3BL0qv3G/cElOntd4FLa7wKzPSq/cb9wS9Kr9xv3BJTp7XeBS2u8Csz0qv3G/cEvSq/cb9wSU6e13gUtrvArM9Kr9xv3BL0qv3G/cElOo1rtw0PKy6v5pn9UfkS9Kr9xv3BS40GgHASU//X2bfoj6H02fzn0fpt/wDBP9D/AMNsWR/hx/yd9FvPHLv5v+X/AOi15Qkp8O0lk+j62foj+g/0iz6fHFH0P+F/759lT4P9Kb/QPpu/mP536D+P5f8A6JXkaSefkl5Fb+kPMPuCS8PSVVlfcEl4ekkp9w SXh6SSn3BJeHpJKfcEl4ekkp9wSXh6SSn3BJeHpJKfcEl4ekkp/9k4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAAUAB oAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvA HQAbwBzAGgAbwBwACAAQwBTADQAAAABADhCSU0EBgAAAAAABwA CAQEAAQEA/+ERLWh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGF ja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6T lRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTp uczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4yL jItYzA2MyA1My4zNTI2MjQsIDIwMDgvMDcvMzAtMTg6MTI6MTg gICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL 3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI +IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zO nhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1 sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuM C9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29 tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zO mRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI geG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL 3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp0aWZmPSJodHRwOi8vbnM uYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0c DovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtcDpDcmVhdG9 yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNCBXaW5kb3dzIiB4b XA6TWV0YWRhdGFEYXRlPSIyMDExLTA0LTE3VDIzOjQ4OjE0LTA 0OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxMS0wNC0xN1QyMzo0O DoxNC0wNDowMCIgeG1wOkNyZWF0ZURhdGU9IjIwMTEtMDQtMTd UMjM6NDg6MTQtMDQ6MDAiIHhtcE1NOkluc3RhbmNlSUQ9Inhtc C5paWQ6MEMzOTc1QjA2RTY5RTAxMUJFRTdENkREODUwOUVDNjg iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEIzOTc1QjA2R TY5RTAxMUJFRTdENkREODUwOUVDNjgiIHhtcE1NOk9yaWdpbmF sRG9jdW1lbnRJRD0ieG1wLmRpZDowQjM5NzVCMDZFNjlFMDExQ kVFN0Q2REQ4NTA5RUM2OCIgZGM6Zm9ybWF0PSJpbWFnZS9qcGV nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6S UNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHRpZmY6T3J pZW50YXRpb249IjEiIHRpZmY6WFJlc29sdXRpb249IjcyMDAwM C8xMDAwMCIgdGlmZjpZUmVzb2x1dGlvbj0iNzIwMDAwLzEwMDA wIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiB0aWZmOk5hdGl2Z URpZ2VzdD0iMjU2LDI1NywyNTgsMjU5LDI2MiwyNzQsMjc3LDI 4NCw1MzAsNTMxLDI4MiwyODMsMjk2LDMwMSwzMTgsMzE5LDUyO Sw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0MzI7NkE 0QzAwQTA2RjY0RDM3RjZGOTVBMTlCM0VEMEM1N0UiIGV4aWY6U Gl4ZWxYRGltZW5zaW9uPSI1NDYiIGV4aWY6UGl4ZWxZRGltZW5 zaW9uPSI0NDIiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpOY XRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM 3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2O DY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU 2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyL DM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQ xNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxN Dk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg 3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzL DQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDg sOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyM ywyNCwyNSwyNiwyNywyOCwzMDs1NjA5NTU5MUNBNUEzNDU1OEF BOEQyODA5RTFFODQ3RSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmO lNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN 0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MEIzOTc1QjA2RTY5R TAxMUJFRTdENkREODUwOUVDNjgiIHN0RXZ0OndoZW49IjIwMTE tMDQtMTdUMjM6NDg6MTQtMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQ WdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIvPiA 8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc 3RhbmNlSUQ9InhtcC5paWQ6MEMzOTc1QjA2RTY5RTAxMUJFRTd ENkREODUwOUVDNjgiIHN0RXZ0OndoZW49IjIwMTEtMDQtMTdUM jM6NDg6MTQtMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkF kb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIgc3RFdnQ6Y2hhb mdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4 gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94Onhtc G1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V 0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgW FlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAA AAAAAAAAAAAABAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWN wcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrc HQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVo AAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAA ANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQ MAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8A AAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSA xOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAA AAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0I gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81E AAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAA G+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAA AAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d 3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWV jLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjE gRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAA AAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3V yIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZ XNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24 gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlI FZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfL gAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAAB XH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAA AJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABk AHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAd wB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0AD VANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+A UUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAck B0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCc QJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM 4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgY nBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB 3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNI I5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKa gqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN 3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHE iYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGo UixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+ hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm 3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7H KMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Q fvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKI zgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJoc mtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqN SpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4 WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxN Cs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA 4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPi A+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEik TORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mp SfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63Tw BPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJU j1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1 pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj 1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcq ZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5 iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDo ZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mS SZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNih R6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6 mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHW skuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7ur W7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRP NG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcB dyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOY N5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////uACFBZG9iZQBkgAAAAAEDABADAgMGAAAAAAAAAAAAAAAA/9sAhAAIBgYGBgYIBgYIDAgHCAwOCggICg4QDQ0ODQ0QEQwMDAw MDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQkICAkKC QsJCQsOCw0LDhEODg4OEREMDAwMDBERDAwMDAwMEQwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAz/wgARCAG6AiIDASIAAhEBAxEB/8QA8AABAAMBAQEBAAAAAAAAAAAAAAEFBgQDAgcBAQEBAQEBAQA AAAAAAAAAAAABAgMEBQYQAAAFAgMHBAMBAAMBAAAAAAABAwQFE QIQFAZAUDEyNRY2MCFBEyASBxVgIjM0EQACAgADAwYLBgIIBQQ DAAACAwEEABITESIFcTIjMxSUECAhQZFCsuJz0wZQMVJiszUwQ 0ByglNjJDQVYFGSooNhRFRkgfKTEgABAgIDCQwFCwIHAAAAAAA BABExAiESA0DwQVFhgZGhIiAwUHGxwdEyotLiBBBCkrIT4fFSY nKCwpPTNAUjUzNDY4PD4xX/2gAMAwEBAhEDEQAAANURZKEsoEoEoEoEoEoEoEoEoEoEoEoEoE oEoEoEoEoEoEoEoEoEoEoEoEoEoEoEoEoEoEoEoExMWVHNdO2K b57Z6Z5eO+4z557nxzqr0XB386HLYAAAAAAAAAAAAAAAAAAAAA AAAAAAExMWSikLxwjuYnGfQz+0vxZ6M/tL8WH7S/Fh+0vxYftL8WH7S/Fv0Dy61LheHXc4R3OEdzhHc4R3OEdzhHc4R3OEdzhHc4R3OEdz hHc4R3OEdzhHc4R3OEdzhHc4R3OEdzhHc4fs64JQJiYsVVrVS3 dLpeQzHFe4z9Pxs+DzfV59lhRs324vd1n37cyI7OQUH6Pl958z pfj8p2AAAAAAAAAAAAAAAAAAAAAZ7Q546gATExYqrWql1gAGb0 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 VPZy4egZ+xmVSOh/BHQ/jZC4ejUq/Gzlw9D2B0B0B0/b42UuHo+1Ke+zlw9Gnt8HaC9wdp02QuHpEVRT3p709h+p7GXD0/ce9SqYIFUiMqbEXD1K+4qY+KnsRcNxFw3EXDcRcNxFw3EXDcRc KlXGpbcXC/9P39qH+tb/0r/wBaJUptn//aAAgBAQABBQAz96mKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKm KmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKm KmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKmKm Lub/gl3MNQPF2aDWWkkr7dSXkhfqa9umjPPXC7PUzpvHSz+RboXalV tTPVCx3b6u5g4aoOhe0bqOL4BgTdCBjUmqUYzRVUgGtweMmz9O 6Hj7kboePuv31dzEdBUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUx UxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUx UxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxUxWuN3 NhLIqPJrs5EdnIjW7ZbS7K/Vzsxfq52Yv1c7MX6udmL9XOzF+rnZi/Vzsxfq52Yv1c7MX6udmL9XOzF+rnZjSkUeoojs5EdnIjs5EdnI js5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIj s5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIjs 5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIjs5EdnIjs5ERt110d jdzYOfKZs7sjf8AbYP6Jcsgt9Uka0NpqOi0bICHUaypR6raQ0s zmZvT8Y1jpG2Mil4aW07phZ+6i2EbPRbHUcmwV0hE/wC09h0LNHfy+z9NKbtjOm43c2Dnyl20QeoFCMf21ppRXVSNn8g kTFn8gkTFn8gkTFn8gkTFn8gkTFn8gkTFn8gkTFn8gkTFn8gkT Fn8gkTFn8gkTFn8gkTGj4FbTkPu2M6bjdzYOfKfxkn6h3q6gWs uQ1S8fJqaqfne/n5Jpf3JcnLtdYu17I/UV0jLv9VsI+Uk3ajFVjLyS5utWybht3Gqc5ByK8tGWSc5lVNQr IuEtQKKP2E5ISMtuaM6bjdzYOfKfxfQUZIqrQscvYrpGMUUuho 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 zeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMe b0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0Rjz eiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb 0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0Rjze iMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0RjzeiMeb0 R4k8vh4Pw6LT6qbPatUqzJWU6axMfLG2Pvjzjj934p3r3Mfu/FO9e5itaqX+Iv12GoibZZlEtI5V5QTpdblMhN62MWti0rLMyxU PTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjPTbeHbn0810y2bdbTzbAHNlzVM/M1NCz1faldjHij7/ABOtqNaKgG0yY0xOYXvMQoTIR6MzTLVGYfymalWv+78U717mP3 finevcx+78U717mP3finevcx+78U717mP3finevcx+78U717mP 3finevcx+78U717mP3finevcx+78U717mP3finevcx+78U717m P3finevcx+78U717mP3finevcx+78U717mP3finevcx+78U717 mP3finevcx+78U717mP3finevcx+78U717mP3finevcx+78U71 7mP3finevcx+78U717mP3finevcx+78U717mP3finevcx+78U7 17mP3finevcx+78U717mP3finevcx+78U717mP3finevcx+78U 717mP3finevcx+78U717mP3finevcx+78U717mP3finevcx+78 U717mP3finevcx+78U717mKhGUkRIXJEUzMzMhG2ZmfLM+JPL4 fp/ku/oxgREzXqWaiyJZkssrLKgOIMJExzARDulhTIocUoEFipsdauw1 ZQdpKjXpqu2s2dZnz1ZMfT9yvQjiDk3oldWVS2GlsgoRuoZPTZ Or7UrUy/6W3p6lTix3k3OJ3OJcDc5HCuMlYO9WyW1CytAKYkjrsKCepopQ TAT1SQ1tTgPF30AG3X4hwie15LK61hdzaeoDmXDGySdqWkxNWo hVgNLLYVu4+oeJ8W4NbK4q69DKdJD2HSXCJam0QstKNANYWoTr QXE5U5AWvHBeMWckP+muFcPaap8kvWysDKQffvZOIbQdu9VYDH 1Lbv1NeHWeIQm6lbzKuytWhw9ocNlFVGcyXKVnUuMsdJ1Q7+Pp 6xV4XLKNjh1h9jjUE6dewdC2VinDIMqatAoJOmKO0DoZzPDuL1 anYO2cBs2G1K7rGlDq/El14PpWsYazARLRcxq9Tf/BjinDkUh4UnhXF6FIroOcZlWtk0Hy3tDGKHS09RZgAZQ3WanWY t1vp/hlrhnHF0H/7Ym2k06tgbEDDqAvsXmtsdj1tBoN33r1Ky1tyY4pw/6k7R/uNq9wZQxxmbEFIEduAE88jY0inMMaZD/h72OGoRwZ0M4jw9zBovr3FqRZCzKQfeQq5avVqulusPth6Rkt5 LydBitxVNIUtCySLV5sPiXlJt0/8Ab26k0rFcAXkf0XaVNXmzmpm4osmXUe0s2TLm8uXNm0UanNyZ 9W5zdPtI6fZKv2bT+Ar2I8SeXw/T/Jd/RjE17ETK5kS3SICggKGAQmuRMZExEt0sARFZZpmDBFluywcyyg wmQNpAWUxEt4cU0KcFfs7JMnGImWUyATEYyavVajd2ypZsUpTl M1As0g1OJIHbk1MoGWzbo6mXblzZc1vJzNTQrdX2pvYw1OJIHb k1MoGWzbo6mXblzZc1vJzNTQrdX2pvYw1OJIHbk1MoGWzbo6mX blzZc1vJzNTQrdX2pvYw1OJIHbk1MoGWzbo6mXblzZc1vJzNTQ rdX2pvYw1OJIHbk1MoGWzbo6mXblzZc1vJzNTQrdX2pvYw1OJI Hbk1MoGWzbo6mXblzZc1vJzNTQrdX2pvYw1OJIHbk1MoGWzbo6 mXblzZc1vJzNTQrdX2pvYw1OJIHbk1MoGWzbo6mXblzZc1vJzN TQrdX2pvYw1OJIHbk1MoGWzbo6mXblzZc1vJzNTQrdX2pvYw1O JIHbk1MoGWzbo6mXblzZc1vJzNTQrdX2pvYw1OJIHbk1MoGWzb o6mXblzZc1vJzNTQrdX2pvYw1OJIHbk1MoGWzbo6mXblzZc1vJ zNTQrdX2pvYx4a8lsbn1TYqBiCIxCT+5ajnIeZQG4ntNawPOoM lOt9m0/gK9iPEnl8P0/yXf0Y8biNl3ErHDaPCzFTIpIB7JmVg42ug0XC0oFg5dNS8mVjG sL+XxPTrKlPD5WtbWuMZc1q1NABUlD27Sh2WBAGsNmQQVv9HSG hw4TtWht51OcaAWVNgJZBEyvr7Dz7masDObqKXv6bOI06sP4eP C6/EmIawVEsSJ8tyEK2y12RYwKyIE7nWh6/1C2HR2VK5Dh5yIdA+KYWQ27R34cRn1mbfAV/zMVeFGkWLsbF9qXLSkXaJP02/wCXiqBZQ5nbNfeA9DJhDW8MBSWjTcZRZzSKbrezrKB0YzMBsTm XmHot/Uz9Fizw5dJsVUE1Y3cjsksQULYJESAr8/Pp6Vpx7m+C8DwlwbXnKxgu00V+VmzL0T7SrPn8yN7+XnxSsScB Ululb2xGyIYJQotv3xsdCx/t4TUsthdptkXl5BiRpGvtUCUEPm/0mfnetmz4shw+spdqu6lIMljoS2vZsaOZbH0159TJkzqW1OmzV TYYYZMRwYKLGCvKFuysXkCmmrX2Z4R2fTyyEZ2WVN3+owjiTq4 1osiLFKFmrOQoiYkiyL2F+X/9ccd4hLrsBUjiMVWENDsYzXJgpgREe3kYZP5saZetiRisLKddl atdtS2RYLrUBk00QshYA66dQtZfP3APJgFFVEaDrLaKLUNmWy9 AnJ56+nAgrahwCzXMt0ej38cO6EEcNu1rNivlZqG0QJEJNoktc oPKwi0wY0d/ePd+x6fwFexHiTy+H6f5Lv6MeNLrS2ZzGFthTnJFoRt2A8EmsL AeUtxws5xfixYWaiGLTFucS2MWWoqAFRgayA1EAqX1RBirAaiq tcbMSlbXAZnbNbGH2gGi6N5ZZxzdJqYcua8QD6w0WgMkMTXHPA qiBmMmzVPeDexbqurwab8jNoJIt6QAFgUTm2gQCpeUl5ebn5+B 4hon2gDhodM7TFkL0NQU59GD0twi0971sAoa+wAWhIxnZ5Aqs1 q487+W2c35/XzYderwwG2JmWhDm6MkWzMcVpPs4sLLvMFWf/q8DKdxerXbGxgTMxtiJ2/eMwUeWPNiOIEmJtQma2rO3qpLPIbNuXnRhyBQyReClGR2HmcAg pYgQYbCYrROcytMgyeriOIBDRsQMAUi90AcCMgMuVB6TzEZ6xw GeK1Xg761Xh9cBX2d1drz2D+F0WU5dzyb62Ys0NL/AC1uXTYXmLemxJE7e25hzkZc0t31MLvGopcvJsiGthZSrqiYgT hDTX/LY1ZmH9gcFxIVF2kpk/K1kqgyHITAryegDSHdJoK1C3t7fLEXKqTFwwwF5nNMFi0hNgKU wyUoCIB3FAAfY9P4CvYjxJ5fD9P8l39GPEZNfhlpywYxOqJVoE iUZKPLDLAHszgXODEWBWat9iyWzLmElMJJxOQjDngXNPFukusv s9AYK0ZNPtMiQakMr01JaTlT1YnqhnaLQAOj3qnGLKn11WgzlH Z7DBXsiJKWGKdxI/8AyGQCS52fHFUtBqQ4UcAbSU7KcSAHtDasYI8x5FrWTTbuMXut DFHss1YXdh863ErB8PECrkAEooahrNaSZ1ZrXzMdgc6RtCxaWw K2msGtESUBvhekGrqDpahBqluBv4Ky8HVo7W2ioCRYkmGuWZcg 6ImRGCiKQEejPoS6TE2bLMow5yNiQc6dqDIDIhBWoIhk6ZmTRV/fEOUzZQSRm5IwTJFbJUO2BKBl+XQ1MpgelqauQs+TLiz/AJDVrotVqcOB0RO2xpZmMAgHIIdoCA0yeTPX0efi1RaoQBAKap onJSYtkx3wkA0yElF9xt+z6fwFexHiTy+H6f5Lv6MeIwbNDiZk L7JAdO/NZRA2w16y01Xa29lbvEatT1fVxMWFSlhvsu0ikZIRbYY0M0rIw 25DHmnirdfYRFemcsrgFcosRmCVmE2pcQ6R7cxgNcM+UMVeEuu oYmqhtUJdUlsQJQIpesCfkXbSI5e0b3PPItWOJ1mWAKvxGUNhZ pz5HVxUAye1mRyC7OvOjIHr9Lig3hr6NJ9ILCyBVEhrFFglnMh XXaWSiHRH+czPi9B2Yg7tqrbKRXsgZq6G0IiTnrOzfi3M/r5cKkrQklHEG8RSEKmC6cXQajPUmC37EkLBAN0cmT18JKTrPam xbeI3qkWkSNxmsQSmWq6Rc5MjtT8W5v4PiUNWCSTCYrpUS5KYy bDsHqkt2nkkUdAs1AeTPjiNRJDSWy3WtrtOVFgGwoEFAAC7CWB Iur9JqjzOr/EFt1hUiGhWSL9yAaYS02EsBY1gBGqMdLvf1+f9n0/gK9iPEnl8P0/yXf0Y8YO22k1tTbp6zBXmy7M2XPMbdm2MSqncRYZEZpBLQMoGJ iM2wJmdm2cJm0RDD2QleUDPemJLe0xLIAiBEbD6MB554gktZMS xad6u8Z2u6k5gljIpb/LsF0B/3ngZYsGKkqGTYw52CIjG0iKZ80YSQy5cWG9nRD670EbMhN2CL1 rLLpgRanV/mzeA6MHtsrWDjXsnyAwiACzbMvlJZ+f7Qp/AV7EeJPL4fp/ku/ox41M4uV6LCq2hVYuRmVBatSZGQ1a+eZATy7HD+LFaGcRp8RcF a3JHRHTERJlTKJhL7c5tonvan9jdxUqMeFebbm1lsYUBGo6rYU uImfWIyiBxF3iKf9uJ58MoV6rWqImGizLjNekZiQ7GFpj1uRZm al4SFS52SVzMlO21GbbEf/Ct0C//AKEzE0rQTxDKiVtXG2Zdu7CGO1OYW/8A49kvztxRdd4ay0mhxCGVa14qzra6xJICiW6hrYAWJWwc9hlg gVmPUaAY4vYCjKSu0+IV2ZIpqU5hyMUyCU/5pmcIIjZeZ0bM+XSAsdtRwxS1tpKV2tQpiQcBMluedsOknCa98 BZnydKX2hT+Ar2I8SeXw/T/ACXf0Y+3qfwFexHiTy+H6f5Lv6Mfwpx9J1igjruYFuvMRtyl2R +unb/zIz1lR+dvqJxfivfFozPD2VbEEiwaht2tBimaVaskWCuNhp/zBJP/ANwfqtzWC4gcJ4oKq5rUOZnD3CpBdCsC1HCXS/y/7pa8Mfcv1+IdJGm2s4HyMSAkS2kpFMBMSnq9HOIlvmWDXxOtpU 4gsh9nSvyxO5vr4ldP7v8A6o/+PFO3aKnetToqVwu1IFZXtbOW1QAs5amYulHS6UVB06tHft1g4 sYXD4raVqubURCiljWwLjKpYhfaVjqAPZWG1hBo6asW89tiBLg CrjEIWqdRzhsQyJlq2HkPTEcgZC/BkxVNVrtoSsZG1tWWp5OdtSIK/wCgfsun8BXsR4k8vh+n+S7+jH29T+Ar2I8SeXw/T/Jd/Rj+BcuKiJZXQ1wQW2RkgCTjNsmJ2bYxbWnjnCrF6qtxzQBc60k gCNi8kXCMSHTLPubmJnZt2Rt2Rifqa/xBp1SrlbKioE6ALy6giE6faTYC+cRWcpszbgB0YP7Zw8BuKiox dZNjUE13HdnCdU1JysA4POGTJ/i/hZWZRWPFQtjRCtFgpQRmmLUH2nRgxDQzF/ps2ccn5sWmDsi+KuLmESYQtfYnisPuQZNJSy6Lman88d/Op0W0wVgKdRsIBsEqX2XMrgAnKVsHOyF6jS3cvMTulqhVmgsuJ TcigxA2J0RIq5WwZFiUiZL08uf/AC+cN/cZl6SjJVASViw6paJrihKmIboEAOFJarHH/pQYNfW5mdbNzFWvTtdniUWWkMrFgGYSkF6kTlZlDVIuicne527 u4+m7rrRSdwYG4ECuAbJV2NzluZgITXu6RLH7Lp/AV7EeJPL4fp/ku/ox/AtUs+n2lLE6mzNl1BkM2XbG3Zt/54fTbeqwuws0nI1GQUCYyE5dtqY27J8DHqBgw2Dg6+u6a3Sc/ZUlk1Rz7dpZU4OuCTMGEoylrnNPbXKGIGGNYbBWoxzAoS0vyb5 YfrKLNYaFhjFsYs9VYisGLYswYohWAh0RB/3FiEjW2rgLC9hGw9o2yg7MFJkUlqkO0pL+zhiiURw1AVWExrTO VLkjXGoZkzMBMMhbm1fz7o4SK1EUodNoGMa1rJdIErUY1pmxpa ZyHSme7/UDC40zgFuO1Cxc4Vk1jNYyasThbul3xBomAephDtfTSCnIsLHU Fhg7JPRPS1JoMCUO9v8A9jnY4ejh7JVRombYrtJrzmZWSQEHOa UqWAsLo8h/k0/sun8BXsR4k8vh+n+S7+jH8OxXr8Ps2ezHC2MXNcRzEsHbI1nqP mND1MPiUMrsrs0WqdkkoKQBseVRtDZkaHr4GhXqLebBVCJN0rz OcTdgFEKblUCq7Wm3aR+oKSwpLKoJg12NSYbJkD6rorvVl0wEl 5izLdn3/wC5XiKNriVVFspGBrMesGzJ8yIWRQe96vkxw9LEtb29/Z4JS2sybhHmnSWzziI5JybudnMUzGgtxSc2CpxMqZAy8IZJqg5 CAKR0GZt7215u0McUr1WonTU1hQaCkHTILAjhaiCdR2XSH8eIm J2xPliY+y6fwFexHiTy+H6f5Lv6Mfw7svpX2rY+HIbRudlGRmu hRZ4XbqGcwaC6wN31Ofi4TUNri14EkLDBa2QCuhGZjBY/MUkot42kwuceJciJRK1V3VLxCDVC5JPE1MTqLeWdVn1MnxgPFY JAmrWiyyze2AAMsWnLccAqDJobwsLZI5ADIGqzEXGMtC2JGYFd y0pW7921CnAifzdHv+vimxDhQ6lYGyEmEsEtw1EBDBqnyg0spZ 90vxc3ABVtCFpN53Ea7mKli4J5tklmoWqI4hdgwzQ0Px/kxX13VbdlD7T5m7TixXKLjNZg9mloZSAsumzW9vECMREDERERG yIiP+UfZdP4CvYjxJ5fD9P8l39GP45XLssFAc81Ja/LERJSRigGEIDA7zCjJgLSIZCz25YcpiT8k7PKt4rZH/5DxB4VrjN4lk6K8bZKFjIxJFs5nPHLm5/q4sjFiY7IJMaRrYAyAFkMkmQQFgQPcLs5N39zEW5a3JLCTKorv l8GEZzEqsL7SGQN8syur3+ZgHpOGKaMGsxnbBCUbRKJ/wDWPsen8BXsR4k8vh+n+S7+jH8fiNSsOd76rlKDbEbTNZCMbSm BjaU+fC6KpExhSLnEljMFpsrQQ19TZO4biNRh+IKuK9nhtSeGN PhJoK9JhPanuEJrN6MjbPZshZSsABKz6SejwxJIsViYyDNNnsk RBZBEiUPDoFOQtnrxrGW+eDt2OIdoUUFEJzXp2Zp2xOy1fto8n 5a4/kyY4e9VBzaiUPS22JIgBJ5JkZym4HTAaJZ8qvw5M+KtWapLng9 fSWZNXluFFiu+NORkiATCpv8AaFq6R39Y8H9RDw5rDcx0f7Zqo hwCaa6AYRSzs2bNU3sljdW31z3MUaDSg2VkLUZR90kAwM7Nvq/8vsen8BXsR4k8vh+n+S7+jH29T+Ar2I8SeXw/T/Jd/Rj+O+HEoFS6pDDsDBpge1JzS4JIIJWzrBzhu44fX4JdonTbJRe dwxK11q69YYm2ACVkRLe7OYsaY52dq6uu/C68cSiw2b12u/hcAqNKoknQqxOUIfEiYJVqkzRZm09PW6THBH/7kpDeIrJ7+IXDTVSDIWEqr5uzWF5WZjZkyC1mmem9fNxxGpPEU ixdInIVBpmvWkQCZZdiR7WqdQ86z1NBlf1AYG/w+zUkr75o8TMCbCDNzUGmAhbqoLAkGfVymF6y9MmhqYtTw7i0c RAZ4fAcSkEHC3WbEKsVsqAUqcishZCjWXq77OZjidG3ZK5NGwK 1WGisWEBoU/YcIBStokwozCsN3Br4nW0qcQWQ+zpX5Ync318Sun93/wBUf/HjjV1V81Pjg2tTrlCcpEntEzkEl6jNAsrS3/53SdHpgN1dviMCyeFdo4cboSJMtxLyZpBADqyuOz9FlPcyZvXM l0Ct10VgFeym5wA2wBplhuSia5NbIt2jmXbWsNE86fsSn8BXsR 4k8vh+n+S7+jH9BNdYMgsYxxxtmdptKWMLemecZFP2bT+Ar2I8 SeXw/T/Jd/Rj+PNxE7IrmDHjsicyIKNePunmqzmOX1gxcuqELCu0RVo1ilka kKHp2LirXuWWnq6g5RUYaaNTc38RdAJKm+nw1yqxbBkDu2TrmU nlktwcm7/h+pmxbWFQnPRaVSrrHVPVNiBtSRRXTYcAguT5iXcz/oHjNpBoHSFra7SBJhJbNoEVsqywyzP84lYZYqDlFR6ZRrVn+XZ Bc6k+0A/f9xmJ/ZVP4CvYjxJ5fD9P8l39GP45AcZhKJgon7pifJMYq0IUYV6cxNa FOash3ZDrVmDSzCZZ859J6+JqhWypmuunlhjImEpkjSIlBZgJZ GRCwS1fz4bXhTMrmjYY2bD5dLQEQFsWZZ2gTgAEMwt5uASElIr GBGTImFMRGzeYySMy/MZZvsun8BXsR4k8vh+n+S7+jH8c7JgTJiREFL2ZzMygFrDNIjm MyEd4suLFrjiK9NKRghKu9lmZjy7YISr1yzc3IK9UmFihore6L tmahx2ewJpIVkydVUp1ALyB0bBXmWev1QFguGgwpsjJD5VMhUm I5yWFiQ0DaI7xKBuoO9u7hYZxO6dKvWXCZMa1ubbVE8tMAsqFC tAs05ecfrfgxSFC3u7VamkyOz2BYk4XLukVKdQS2aeUGCvMs9b q1ng663znAmrKZU0Qzo26wCwghZGvIWYRPm72F8QtWlVajYGVu slCRnPGYI6bJlKY9Ut7Ha+HvXcRO3KyuYMEpHySImM5Nu3yc7B 2TrzVMHOQSSKDKJSwlbxBubZyerJ/1z+xqfwFexHiTy+H6f5Lv6MfxzrEZKmZA1tDZmBiyhizjb5Jym IzlnnY4hZt2EduvQjpqlWUBB1WS5LWrJzzezUy5+mDOoNP82At HdXPEe2jfa6EFCSkUzU0xRrSYRoet2g+l3+b0eAbNoZoJstvIq wqYbD3icHJ2NSRNWZ7jFegBbw9JuYTwa1xBDa1aa3ZzVVNbIis 0HdJJWXCeeFZN0F5ed+TB3kWhW4rq74QapMYyVopksohi5LMGY xPMOQvUP1lcOrQTu0XnWXWoygKU2DYTxKJZqERIexC9MT3989M cRWaTQXExMdnc2uXk+6NSuamZfy5sdnrGyYjbIlYa2wW2fLvMe ZtKPy6mHpuWlWtV7bAklBIyk4yawZg3WM0Zz3Obu/j+xqfwFexHiTy+H6f5Lv6MfxYbceuuuZywbjEBkpiZy7TmI27I wKK1+s5x7cqluAynZGadgiUz90YIznKIxMlM/dER5ZnCrdU86HDmWWyRmY/9RKBIZ/KUYeoCIzrMBLxADKRNkAYRujO0crQIjHcAefzT8LbTyypQBMaU RJTAhGYpyjEkXkj1Yw9aGkxtVQPsJFTZaAHBSMErJqau4XQZNf/AA8KsoLMlwCxZbJjaJRmGcpRBR5PxfZFP4CvYjxJ5fD9P8l39G P4vDXE9VXLZOBsWOqApqWRAmRnVmHPI7uovP8AjxwxT+LUOIs7 URLCiGmQjFS1BkcTZtyUbSD+7y/mzYZToSItskKjayMwAop6YiDOoj6PMGUDEt7DKl5K+KVRvBcZV QAJXYSYlLK4psvYPRWstkhe/Sb/ANmOKdh4QFablrh9lLAiuHRKOsT0lkPNBqJTmkPVF/LNhliLM0sjxtPe/jO1XT1WAYpp7p9pnSzpHIxQpHs+oB83FHLTJLD4XYq8WKsaxex pQnRHUI4FjRyuFDCPTTzc4LxcRYrLo6Va1sQsFqgQ2MkCMEExA tIN92kenqZv6uLXFTrkHCGUUgHFJbW7PMKlzpbtF0t0iBw5T0v +zfxw2Y8sTVTsn/xj9kU/gK9iPEnl8P0/yXf0Y+3qfwFexHiTy+H6f5Lv6Mf0Dh+rR4rY10VybxAL+VMy1Y ExmQry35QIiz5a/wAMD3ccOa0pNh1UEZlMyRFKxmSKZ8szM44jNpaQe4Lh8HmRgTP iM23hnSWzeublMQy9Nk/w8cVBawVttwZiuIEZM66DYWyPOZyRFODXxOtpU4gsh9nSvyxO5 vr4ldP7v/qj/wCPFlCatVjP9vrQN6wUi6pJOsdPUyqYUuHZmHpq2+AdJh0UrUV rI2+K2AhjFLB0JsntVENr22PbtIegT2ciDP8A5heLS2FLBpgy7 KxgIlimrCKlf7vvOwbQA90i0P62LVIUt4baNtNyTswhsmViwpF 4xFLbC8ssLULMQH/mMJ4fZszc7NxYUBZctOrK2cPOxsnTWtYmJmQ6ilqLT3Px56tl3 EjbmTwy2xcqQMF2yxNVypyrzQvIOccvSav8zT6L7Ep/AV7EeJPL4fp/ku/ox/QBUorQLCIEAG7bgRGI2QIxDtkREYVWQORKQFah2zOwQjKMbS2z 90YaNeCiHNN5wTDOM7JzHkhhFpiRb2mvKv8ALh0ogtthkudJmb JkyiB+9hHlHKIiIDuB6niWLKQnWtFBPYZmZTljYIxLCLIsfUUG VYfh+x6fwFexHiTy+H6f5Lv6Mf0ThwVSzVdGy+7XgRmWAokDtE tknBKFxtEQ6zLp4ZeMQv5bN3aIyyGRWruMRNYVa9mCAFwI6r5Q nmatjfwylU4eDgh41EuOxK8zTrRdDMMKZkXkziZ75ZsnRnn6Ph gVaDXzeQi1YgBccpXYLIPlShyyyyLM+uyqGRfPwllsc0OmRHp6 qObET992xVEvv/l58W+MUS0z7E2zXLapuUoWRhOZROQzZMeobF4pRNqy7h77KlzY v1hrNKZr2WvXAaNXoAldcwboDvag6zBw1TakCKWV4lyzdK5RZM 0reB2K9XUHUCN5WoglnnXYPFBzbSKImPbG12sDO6tLNJcBqQBS TFSdjKrfzq0vW3rKhoidKnar1LFrX2HttQnIa06ZZ8hWB1MzV7 u8vU5gGQU5tZC4kxsscISKuHugDy5E7CkgPog/KINdznYtrsIGu6o2FEAM1RkTUt6zzSCvLINjMOXdP1j/AKfT+Ar2I8SeXw/T/Jd/Rj+iKuGG2wgDWo9s+QWyMsjLtyzm0g+/A1JrEFcYcEKW5yxkLE5nLKFsHOoi5qj6Nf8ALEMRYhPSw4bMFm PrQT2UT2ZtnUbmXm+tz8UyStiZogKq8pe5fRhMEK26bB11xMcx +oP/AFeB1SyOdDwJTQ2zG0DjKUbRmCjaM+bFfWXn7KeoiJmd0shK2+ Sd7o2GO9h9ThxlVm0tdaw9huss7OuSmFJJzuhIM5aJ7wq/u8NgVRseAqbE7ZiVgMgAbJnyDAyW6OGJ0ZkHGlrIkzmSOvC4SU lJZtzQV/Xy7/rYMDr7RYNkDjOflG6UHajnfzSj+x/LyYexAZDsEJunbM5iABUM70zs6NYDu/0+n8BXsR4k8vh+n+S7+jH9EXSYGUXJY4HbfJtUQwYTGzybrBMd 78f4MU22ltrzfgSROk41QLSyo1bAr0UsbtDo2mO+envY0DjRsE 22tSvKWYabtBjM2WBH7wLJ+f18UzhxEF4ROuYqaQ5TmBAmkITF cTIsoE/SzFgC4ldRTFkzCysNBUFMffA6kjmwzitWRtoBeuJKOJE1xvEQG OYS3N4cW6xrnSq1pszY27pSEQbFxGz7xWxB87e1fy4Wi4tyLZq 1JVCHsCShctNSnirSe0RE+jX0pZOrxT4vZFtYbY5oTovMh2DmM soqzklfrWdPQ/Ph9BDJOxW2a8QB5BzCLBiW5dLaQMEhHP7B4XweIpBJqU2GXbnZ SPVYasiFaLtYx0/xhzxwVi2Jq/zNiqtSVtssLszDWTIXXWbMuVectzIv8eEE58yFgIctilsaEKnZ sc01AYJTvda4lr/NiK+wnWZZXXICDNMe0NFI57AgaVnsLUFRmJs/tf02n8BXsR4k8vh+n+S7+jH9EBMOlBgcFDRjNOQolbg+8etSbF 5vU5/q4Rb10gpE1yUDK+qxU12609mbLBGuLxgVuyqzFlHf9XCrFG6C7 K3XGZ2olgSu63XYvILlb4EIZG5//FvY4W6Sq2mcPrpqMK5Uh8kKCziyvOoHZXbx7/TepudHgBsG8ICZkez2X1p8v4prMTJ/28DVjMahHJ0pk0pHZs32Nk2H/WMsVKhWyllZ+qyxl3mq5s1z3uaSRUoj/wAPPhfG2WFTov117a+2xA6JImv2omTsr5j1hUCQ6T8WOGVXNqW mcLE0om5S7QkknAxEGgnj046YdODQ9fot/F25WrNvzdcs4rVoSslwCQR99hyFkPQ/izb/ADPWwfGWCaDsVlVyptgJNcqNrNpGo2rKS1vUL1efgH0LoKuLdc YLXIlq9O6zWYuVC5M5gKF5WanqdXv4CnQtwhB0g4ZchqpabK4Z tkqKGKFLuldvkDg3+q3MOmtdFFOy6rZsIJMsZLKpKy5HaoQAMC usSElH+PP/AE2n8BXsR4k8vh+n+S7+jH29T+Ar2I8SeXw/T/Jd/Rj7ep/AV7EeJPL4fp/ku/ox9vU/gK9iPEnl8P0/yXf0Y+3qfwFexHiTy+H6f5Lv6Mfb1P4CvYjxJ5fD9P8AJd/Rj7ep/AV7EeJPL4fp/ku/ox9vU/gK9iPEnl8P0/yXf0Y+3qfwFexHiTy+H6f5Lv6Mfb1P4CvYjxJ5fD9P8l39GPt6 n8BXsR4k8vh+n+S7+jH29T+Ar2I8SeXw/T/Jd/Rj7ep/AV7EeJPL4U2GiWtXzwlgGayHUiIPZKyHnQOOus96sfMx11nvVj 5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sfMx11nvV j5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sfMx11nv Vj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sfMx11n vVj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sfMx11 nvVj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sfMx1 1nvVj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sfMx 11nvVj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sfM x11nvVj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96sf Mx11nvVj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96s fMx11nvVj5mOus96sfMx11nvVj5mOus96sfMx11nvVj5mOus96 sfMwCVxlWsYAB8s7BGNkR5fEnl/wCBZ5fBq23LQuZywbSgB2z5tpTGBdXYLVH5RYBQQz5vIQ+TxIY kxYuduwwmCidk7J8sf+vgzpMWDEyMkEwUbRnYUbY84zg1CYkxe zUCJiSHN5RzR5s2Mr3rUWUj2GYjOUecW9PNH1ixBDO2J8sTHli Yn7Znl8HD4qDtYF1JyWSWCERBb5iMjuD62+OKaVtcapi1Zea5N SZeZAYQQgWXJmksi2Ef9vDGZrYOClYLiRvlsBD4jo5ryfR87Pl 7L0en/Zw5nDSuSk0VpaT4cTNSS22CriyRZPRf3BB/g4pqdZuOp7LJkeyzV2TtXKwPOyXFAzqaesz/ALcUoqa6rDDdQehpNiIY6Z0nKFk5Ojy5s6d3n/nxQSB2DrA0RumiWE4liE7JmVbX7zIDU097FWuJWqlQjtybBU9j oMmTKSYFclP5kyQkRErP1g44k0kWrDrC6uRwzYAZ2jAubMVyne We9oAWrkzAro82GIcFpg6HEFwJA2M/lHs+YTkzIpiS0tQjPAAcOfWNUbSKHqCvIgMZMpbKr80+sHS583 4PtmeXxLHVdWX+o6n7p63/AA/x4VzOYPVcz7vU/J+HwVP9J1bOt/1f3f8At/8AD/vPt7//2Q==
Best regards Hans
urfisch
04-18-11, 02:34 AM
hey dd.
nice to see you that fully passioned in duty again!
:yeah:
very nice progress here!
:salute:
DivingDuck
04-18-11, 02:45 AM
Moin Hans,
Make sure the files are all placed in the correct folder.
Interior.dat >>> goes without saying
Animation.dat >>> LIBRARY folder
Animation.anm >>> ANIMATIONS folder
Next, the SH engine is very strict regarding naming conventions.
The SMC entry in your Interior.dat contains the SMC Controller that defines the 'GraphName'. Letīs say 'Hans_Graph'. The game engine is now checking the LIBRARY folderīs *.dat files for a SMC named 'Hans_Graph'.
The 'Hans_Graph' SMC defines the events your animation is triggered by and holds the name(s) of the animation(s) to play. Letīs say 'Hans_Dance'. Once the condition to run the animation is met, the game engine checks the ANIMATIONS folderīs *.anm files for an 'AnimName' named 'Hans_Dance'. This 'Hans_Dance' contains one or more sub items containing another 'AnimName' entry. Letīs call it 'Hans_Limbs'.
When 'Hans_Dance' is called by 'Hans_Graph', the correlated MAD will be linked to 'Hans_Limbs' and the game engine will check the Interior.dat for any 3d_model by the name of '<Hans_Limbs>'. The brackets are vital! If '<Hans_Limbs>' is found, the animation will play.
How to create this setup?
Import the animation to your Interior.dat
cut the MAD (<notset> (10/05) + child node)
paste it into your newly created 'Hans_Animation.anm' just behind an 'AnimationObject' node
create needed entries and links for the 'AnimationObject'
http://i182.photobucket.com/albums/x241/DivingDuck/Tutorials/Animation_001.jpg
Next, your SMC has to be built. For testing reasons it is advisable to use a setup that will call the animation on load with no conditions to be met. Thus you ensure the animation is imported correctly at last.
As for your SMC, it will not work this way. When your condition 'true' is met, the pointer is directed to entry #1, but there is none. Hence the animation will play once only or not at all. Donīt know how the game engine handles this "error".
'GotoEntry=0' should do the trick. But I strongly recommend to use a more advanced setup, even for an ever-looping basic test.
Use 4 StateEntries for a start:
Start (entry 0)
as you did, condition 'true' will be met on start up
points towards entry #1 (Idle)
Idle (entry 1)
define conditions to trigger the animation
points towards entry #2 (Animation)
Animation (entry 2)
define conditions to stop the animation here (GotoEntry #3 (Stop))
define conditions to change the animation here (GotoEntry #??)
if no interfering condition is met loop to entry #2 (Animation)
Stop (entry 3)
stop (all) animation(s)
point back to entry #1 (Idle)
Moin UFi,
but donīt tell my wife. ;)
Regards,
DD
Hans Witteman
04-18-11, 03:17 AM
Moin Hans,
Make sure the files are all placed in the correct folder.
Interior.dat >>> goes without saying
Animation.dat >>> LIBRARY folder
Animation.anm >>> ANIMATIONS folder
Next, the SH engine is very strict regarding naming conventions.
The SMC entry in your Interior.dat contains the SMC Controller that defines the 'GraphName'. Letīs say 'Hans_Graph'. The game engine is now checking the LIBRARY folderīs *.dat files for a SMC named 'Hans_Graph'.
The 'Hans_Graph' SMC defines the events your animation is triggered by and holds the name(s) of the animation(s) to play. Letīs say 'Hans_Dance'. Once the condition to run the animation is met, the game engine checks the ANIMATIONS folderīs *.anm files for an 'AnimName' named 'Hans_Dance'. This 'Hans_Dance' contains one or more sub items containing another 'AnimName' entry. Letīs call it 'Hans_Limbs'.
When 'Hans_Dance' is called by 'Hans_Graph', the correlated MAD will be linked to 'Hans_Limbs' and the game engine will check the Interior.dat for any 3d_model by the name of '<Hans_Limbs>'. The brackets are vital! If '<Hans_Limbs>' is found, the animation will play.
How to create this setup?
Import the animation to your Interior.dat
cut the MAD (<notset> (10/05) + child node)
paste it into your newly created 'Hans_Animation.anm' just behind an 'AnimationObject' node
create needed entries and links for the 'AnimationObject'
Next, your SMC has to be built. For testing reasons it is advisable to use a setup that will call the animation on load with no conditions to be met. Thus you ensure the animation is imported correctly at last.
As for your SMC, it will not work this way. When your condition 'true' is met, the pointer is directed to entry #1, but there is none. Hence the animation will play once only or not at all. Donīt know how the game engine handles this "error".
'GotoEntry=0' should do the trick. But I strongly recommend to use a more advanced setup, even for an ever-looping basic test.
Use 4 StateEntries for a start:
Start (entry 0)
as you did, condition 'true' will be met on start up
points towards entry #1 (Idle)
Idle (entry 1)
define conditions to trigger the animation
points towards entry #2 (Animation)
Animation (entry 2)
define conditions to stop the animation here (GotoEntry #3 (Stop))
define conditions to change the animation here (GotoEntry #??)
if no interfering condition is met loop to entry #2 (Animation)
Stop (entry 3)
stop (all) animation(s)
point back to entry #1 (Idle)
Moin UFi,
but donīt tell my wife. ;)
Regards,
DD
Hi DD,
Fantastic answer and food for my brain:up:
Will test that further on this afternoon because i must go to sleep soon i test all sort of stuff all night long and now i am exhausted.
Only one thing i still don't understand maybe you already have explain in this post so i apologize if it the case but how do you save your .anim in animation folder?
And if i understand correctly i don't need MAD in CR.dat with this method?
Best regards Hans
Hans Witteman
04-18-11, 03:34 AM
Hi DD,
Check your pm mate:up:
I am going to have some rest now:salute:
Best regards Hans
DivingDuck
04-18-11, 03:49 AM
Hi Hans,
Hi DD,
...
Only one thing i still don't understand maybe you already have explain in this post so i apologize if it the case but how do you save your .anim in animation folder?
And if i understand correctly i don't need MAD in CR.dat with this method?
Best regards Hans
the file that goes to the ANIMATIONS folder is basically nothing else than a *.dat file. But it has to be saved using the *.anm extension. I hope that was the answer you were seeking for.
And yes, the MAD must be cut from the CR.dat. This is necessary to be able to call different animations for the same base mesh, depending on SMC entries. If you donīt cut the MAD from the *.dat, the animation will loop endlessly and will not respond to SMC. Or it may even not show up at all. Didnīt check that until now.
Regards,
DD
Hans Witteman
04-18-11, 04:02 AM
Hi Hans,
the file that goes to the ANIMATIONS folder is basically nothing else than a *.dat file. But it has to be saved using the *.anm extension. I hope that was the answer you were seeking for.
Regards,
DD
Hi DD,
Yes that what i though but when you save it do you deleted afterward un neccessary nodes?
And do i have to change the windows in S3d that ask to keep same headers?
What i did for this one was to import my animation on water plane temporarily and i did a simple copy paste of noset+meshanimationdata.
After i created a new data file and append a AnimationObject controller and then paste my noset+meshanimationdata and link it as child of AnimationObjec.
Is this procedure sound good to you?
Many thank
Best regards Hans
DivingDuck
04-18-11, 04:10 AM
The procedure itself sounds okay to my ears. But the devil is in the detail.
You should make a habit of deleting unneeded nodes or at least changing their IDs as they might cause ID conflicts and hence CTD.
When you copy and paste anything, always change the IDs to be unique. Otherwise they will cause problems that are exceptionally hard to track down or even CTD.
As for the S3D headers, I donīt know. I still use the hex editor very often. So, Iīve never seen a dialogue asking to keep headers or something similar. At least I donīt recall it.
After youīve copied and pasted the <notset> (10/05) node + itīs child MAD, youīll have to adjust the 'AnimationObject' entries to "find" that new node! See the pic Iīve posted last. That should be it.
DD
PS: Get some rest now! ;)
Hi shipmates,
I did some new test on saving as .anim file, what i did is i export as raw data the meshanimationdata and import it back in .anim. file and deleted the 3d model node leaving only the noset +meshanimationdata and re link it to parent AnimationObject.
And it is still not working so i think it could be 2 main reasons, first the way i saved .anim file and second the way i build the statemachines class, so far i did only 1 states entries just to test animation trigger in game can you tell me what is wrong with this SMC :
...
Best regards Hans
:woot:
First you have choose the method that you want to use for your Flooding... or method which i described (IIRC) in 2009 ... or standard StatemachineWrapper ... or mixed method ...
If you have a simple animation i recommend standard StateMachineWrapper ...
... If i understand correctly DD proposes to use the first method ...
I find it hard to understand the nuances of your conversation ...
Hans Witteman
04-18-11, 02:07 PM
:woot:
First you have choose the method that you want to use for your Flooding... or method which i described (IIRC) in 2009 ... or standard StatemachineWrapper ... or mixed method ...
If you have a simple animation i recommend standard StateMachineWrapper ...
... If i understand correctly DD proposes to use the first method ...
I find it hard to understand the nuances of your conversation ...
Hi Anvart,
We need the first method to be able to control the flooding with HasFloodIn and No_Flood condition.
Don't worry if sometime you don't understand the nuance because sometime i have difficulty to understand my own words:har:
Best regards Hans
Hans Witteman
04-18-11, 04:11 PM
Hi DD,
I made the new SMC with 4 entries states can you have a look at this because i am sure i made a mistake in it i was taking flooding in engine room and it didn't trigger the animation?
Here it is :
http://i886.photobucket.com/albums/ac68/Hans_Witteman/SMC_Flood.jpg
Best regards Hans
skwasjer
04-18-11, 05:00 PM
Moin Hans,
if your animation shows in S3D but not ingame, you probably have not set the 3d_model identifier (see pic) correctly or youīve got an ID conflict.
Skwasjer is, of course, right saying that you do not need a SMC to make an animation show up ingame. But there are several hooks that might prevent your solution from working.
First thing to do is to create a new node featuring a 3d model.
You can do it by cloning (copy&paste) an existing 3d_model within S3D. BUT, this will not work without hex editing as the 3d modelīs ID will be linked to itīs properties node via an ID entry that is not accessible via S3D. (see pic below) Therefore youīll end up with an ID conflict. ID conflict will result in animation not showing ingame, not even the base mesh.
You can use your right mouse button to create new nodes/chunks in S3D. As I donīt know what routine S3D uses to create unique IDs I prefer method #1
Second step: you have to make sure the 3d_model type/identifier is set to 0x02. (see pic below) Otherwise you will see the base mesh only without animation.
Third step: select the 3d_model node and import your *.obj file sequence.
This is the easiest way to bring an ever looping animation into the game.
If you donīt want the animation to loop constantly, youīll have to split and put the data into several files. See pic below.
This last pic says it all. If thereīs still something missing, ask!
Regards,
DD
You have to excuse me since it's been too long, but I'm a bit confused by that statement, because as far as I know S3D does allow editting those ID's... I don't see anything weird, the 4/100 chunk has 3 id's in a row, the id, parent id and model id. The model chunk has just one id, it's own. Your hex screenshots show all of them, and S3D understands (and shows) all of them... So really, I am confused that you say S3D does not understand them :D
I need no hex work to make animations work - even more advanced ones - it can all be done in S3D... (I mean, I did it myself)
And yea, the funny misplaced box in the model pane was some left over unfinished (but useful) thingy that I left in, but totally forgot about... :88)
Tip: you can copy existing structures by pressing CTRL+SHIFT+C on the top node, and then pasting in new DAT (or ANM), and then just assign new ID's in S3D (the 'New' button next to the ID-field). If you have trouble starting from scratch, this may help.
Hi Anvart,
We need the first method to be able to control the flooding with HasFloodIn and No_Flood condition.
...
Best regards Hans
This method has been tested 100 times ...
It's wonder do at StateMachineWrapper... with trick's logic, using StartTimer, StartEffect, TimerElapsed, StopEffect and so on... :har:
...
Why you don't use HasFlood? for more detailed logic?
...
i think you made not correct logic...
...
but sorry, DD is your consultant... it's time for bed.
Hans Witteman
04-18-11, 08:52 PM
You have to excuse me since it's been too long, but I'm a bit confused by that statement, because as far as I know S3D does allow editting those ID's... I don't see anything weird, the 4/100 chunk has 3 id's in a row, the id, parent id and model id. The model chunk has just one id, it's own. Your hex screenshots show all of them, and S3D understands (and shows) all of them... So really, I am confused that you say S3D does not understand them :D
I need no hex work to make animations work - even more advanced ones - it can all be done in S3D... (I mean, I did it myself)
And yea, the funny misplaced box in the model pane was some left over unfinished (but useful) thingy that I left in, but totally forgot about... :88)
Tip: you can copy existing structures by pressing CTRL+SHIFT+C on the top node, and then pasting in new DAT (or ANM), and then just assign new ID's in S3D (the 'New' button next to the ID-field). If you have trouble starting from scratch, this may help.
Hi mate,
I know what your mean because it did work without hexing anything the only thing that was not working because of the small box where it show a number i just had to change the 0 for 2 like DD mention and suddenly the magic went on in game.
But i have see that in some animation you did for sH4 you have it at 0 and it was working correctly so maybe we only need to put number 2 for Sh3.
Best regards Hans
Hans Witteman
04-18-11, 08:57 PM
This method has been tested 100 times ...
It's wonder do at StateMachineWrapper... with trick's logic, using StartTimer, StartEffect, TimerElapsed, StopEffect and so on... :har:
...
Why you don't use HasFlood? for more detailed logic?
...
i think you made not correct logic...
...
but sorry, DD is your consultant... it's time for bed.
Hi Anvart,
Keep in mind i am still a noob regarding SMC but if you have an idea that would make it work in the best way possible feel free to give advice it is not only DD on this one it is you, privateer,Skwasjer and me.
Also i saw that you have an action that is call SetVisible in your flag can you tell me what is the name for hiding it i guess SetInvisible???
We are all working in cooperation mode on this one so the more brains the better:salute:
Best regards Hans
Hans Witteman
04-18-11, 09:02 PM
Hi mate,
Just want to apologize because i derived your thread on water flooding and it is suppose to be only on crew animation just let me know if you prefer that we continue this topic in the thread Graphical flooding?
Best regards Hans
Madox58
04-18-11, 09:22 PM
NO! By all means carry on as you were!
:yeah:
This thread is becomeing what it was intended for!
The Ultimate Animation Thread!
This is the stuff everyone wants to know.
We want to know the failures and successes!
...
Also i saw that you have an action that is call SetVisible in your flag can you tell me what is the name for hiding it i guess SetInvisible???
...
Best regards Hans
I don't remember this ...
or you saw DD stuff...
or you saw my experimental version, where i remove pilot actions was lazy ...
SetVisible work in SH4 ... in SH3 it's not working ...
Keep in mind i am still a noob regarding SMC but if you have an idea that would make it work in the best way possible feel free to give advice it is not only DD on this one it is you, privateer,Skwasjer and me.
I don't know many things about your work and poorly understand you ...
I need to know/understand your idea ... I don't want to impose you their views ...
What sort of hierarchy of animated objects you use?
What sort of animations you use? and how many?
I thought, you use next minimum of basic animations ...
for example:
1) Mesh Animation Type 10/5 for water surface
2) Object Animation Type 10/1 - Water Up
3) Object Animation Type 10/1 - Water Down
4) and may be ... Object Animation Type 10/2 - small rotating and swinging water ...
...
... and i can't experiment ...
Hi mate,
I know what your mean because it did work without hexing anything the only thing that was not working because of the small box where it show a number i just had to change the 0 for 2 like DD mention and suddenly the magic went on in game.
But i have see that in some animation you did for sH4 you have it at 0 and it was working correctly so maybe we only need to put number 2 for Sh3.
Best regards Hans
:rotfl2:
Maybe i finally understood what you were saying ...?
You talked about the type of mesh? It's edited into S3D very simply ...
... look:
http://www.subsim.com/radioroom/showthread.php?p=1177807&highlight=animmeshtype.jpg#post1177807
# 25
...
... don't confuse ... These versions of games are diffirent (SH3 and SH4).
Hans Witteman
04-19-11, 04:14 AM
I don't know many things about your work and poorly understand you ...
I need to know/understand your idea ... I don't want to impose you their views ...
What sort of hierarchy of animated objects you use?
What sort of animations you use? and how many?
I thought, you use next minimum of basic animations ...
for example:
1) Mesh Animation Type 10/5 for water surface
2) Object Animation Type 10/1 - Water Up
3) Object Animation Type 10/1 - Water Down
4) and may be ... Object Animation Type 10/2 - small rotating and swinging water ...
...
..
Hi Anvart,
This description is almost exactly what i want to do except for step 4 i just use animated Noise modifier on water mesh but the rest is spot on i have an animation for water up and another one for water down.
I want to link it via SMC with HasfloodIn to trigger water up and to link it to No-Flood to trigger water down.
Best regards Hans
Hi Anvart,
This description is almost exactly what i want to do except for step 4 i just use animated Noise modifier on water mesh but the rest is spot on i have an animation for water up and another one for water down.
May be you speak about 1) anim.
I'm talking about water reaction (moving) as result of sub moving...
I want to link it via SMC with HasfloodIn to trigger water up and to link it to No-Flood to trigger water down.
Best regards Hans
I'm talking about the situation of stable water level without Flood-In and Flood-Out ...
DivingDuck
04-19-11, 04:42 AM
Moin,
@Skwas:
No offence meant, S3D certainly understands and handles all 3 IDs. But you can not change a 3d_modelīs ID without loosing correlation to the properties node (4/100) as there is no way to change the third ID in S3D. At least Iīve not seen any so far. And since I prefer to use my own IDs, I got used to alter these two via hex. Nevertheless S3D remains a very powerful tool to use for SH modding. Donīt think Iīd ever tackled the task of an animated engine for FM_NI without S3D.
@Anvart:
Stay tuned, my friend. And donīt abandon us. Your input is most appreciated. I did not have a look at StateMachineWrappers until now. So, if you say they might do the job as well and/or even better, then it is definitely more than just worth checking. Anyway, first I will give Hans a hand trying to make it work using SMC before I deal with the unknown (to me) StateMachineWrappers.
@Hans:
'HasFloodIn' is certainly derived from the 'EffectManagers.act', but where did you derive the entry 'Engine_Rooms' from? If this value is defined nowhere in any SHIII file, then the engine will not be able to make use of it because it does not know what this value represents.
Never had a go at 'HasFloodIn' but I guess it needs a numeric value or a flag for yes/no rather than a "location". But Iīm far from sure about this. Remains to be proved.
Your SMC is a bit screwed. Iīll have a look at it.
Regards,
DD
urfisch
04-19-11, 04:59 AM
Moin UFi,
but donīt tell my wife. ;)
Regards,
DD
sure i will, not! :) wie blöd wäre ich denn... ;) du füllst mit deinen hervorragenden kenntnissen eine lücke hier!
i am really looking forward this progress here...
Moin,
@Skwas:
No offence meant, S3D certainly understands and handles all 3 IDs. But you can not change a 3d_modelīs ID without loosing correlation to the properties node (4/100) as there is no way to change the third ID in S3D. At least Iīve not seen any so far. And since I prefer to use my own IDs, I got used to alter these two via hex. Nevertheless S3D remains a very powerful tool to use for SH modding. Donīt think Iīd ever tackled the task of an animated engine for FM_NI without S3D.
:o
i don't understand...?
I've never seen a problem change IDs in the model Type 1/101 or in the node Type 4/100 through S3D when creating objects from scratch ...
If necessary, you can again to import a model with all the properties in dat-file via S3D ...
@Hans:
'HasFloodIn' is certainly derived from the 'EffectManagers.act', but where did you derive the entry 'Engine_Rooms' from? If this value is defined nowhere in any SHIII file, then the engine will not be able to make use of it because it does not know what this value represents.
...
Explore SH3 engine ...
IIRC, the folder Library and one (or more) of files with SMClasses for effects (with Graph prefix).
@Anvart:
Stay tuned, my friend. And donīt abandon us. Your input is most appreciated. I did not have a look at StateMachineWrappers until now. So, if you say they might do the job as well and/or even better, then it is definitely more than just worth checking. Anyway, first I will give Hans a hand trying to make it work using SMC before I deal with the unknown (to me) StateMachineWrappers.
...
Regards,
DD
Yes, only experiment can prove or disprove our hypothesis ... :timeout:
Hans Witteman
04-19-11, 02:56 PM
Moin,
@Hans:
'HasFloodIn' is certainly derived from the 'EffectManagers.act', but where did you derive the entry 'Engine_Rooms' from? If this value is defined nowhere in any SHIII file, then the engine will not be able to make use of it because it does not know what this value represents.
Never had a go at 'HasFloodIn' but I guess it needs a numeric value or a flag for yes/no rather than a "location". But Iīm far from sure about this. Remains to be proved.
Your SMC is a bit screwed. Iīll have a look at it.
Regards,
DD
Hi DD,
Look at GraphFl_02 in library folder this is the one who use Engine_Room and HadFloodIn .
But we can used any compartement because we are not going to make individuals water mesh for each compartments because it is not going to look good if you have a hatch or a door open.
So if we get flooding in only one compartment that will trigger the water level raising for all the boat but logically water raising in one compartment would move to others so for me this solution seem plausible.
Also if someone have and idea about how high the water level should be just tell me so i can adjusted the new animation for it?
Best regards Hans
http://img824.imageshack.us/img824/4783/graduation.gifhttp://img824.imageshack.us/img824/4783/graduation.gifhttp://img824.imageshack.us/img824/4783/graduation.gifhttp://img824.imageshack.us/img824/4783/graduation.gif http://i9.photobucket.com/albums/a75/Panzer_Kamerad/smileys/shady.gif http://img824.imageshack.us/img824/4783/graduation.gifhttp://img824.imageshack.us/img824/4783/graduation.gifhttp://img824.imageshack.us/img824/4783/graduation.gifhttp://img824.imageshack.us/img824/4783/graduation.gif
*goes away* http://i9.photobucket.com/albums/a75/Panzer_Kamerad/smileys/sweat.gif
Keep up the good work, guys ! http://i9.photobucket.com/albums/a75/Panzer_Kamerad/smileys/mdr.gif
skwasjer
04-19-11, 04:51 PM
Hi Anvart,
Keep in mind i am still a noob regarding SMC but if you have an idea that would make it work in the best way possible feel free to give advice it is not only DD on this one it is you, privateer,Skwasjer and me.
Also i saw that you have an action that is call SetVisible in your flag can you tell me what is the name for hiding it i guess SetInvisible???
We are all working in cooperation mode on this one so the more brains the better:salute:
Best regards Hans
I think just use param 0 or 1, but look at Anvart's post:
SetVisible work in SH4 ... in SH3 it's not working ...
skwasjer
04-19-11, 05:01 PM
Moin,
@Skwas:
No offence meant, S3D certainly understands and handles all 3 IDs. But you can not change a 3d_modelīs ID without loosing correlation to the properties node (4/100) as there is no way to change the third ID in S3D. At least Iīve not seen any so far. And since I prefer to use my own IDs, I got used to alter these two via hex. Nevertheless S3D remains a very powerful tool to use for SH modding. Donīt think Iīd ever tackled the task of an animated engine for FM_NI without S3D.
None taken, I was just confused because you 'can' change the id. On a model node you can change the ID like any other chunk. If the model is linked to a node, the node is updated automatically. If you want to assign a new model ID to a node, that's also possible, just CTRL+click the 'model-id' in the node view (just above the assigned materials) or if none is set (0x0) you can simply click in the editbox. :D
Madox58
04-19-11, 05:09 PM
@skwasjer,
Can you post a complete list of key commands for S3D?
Hans Witteman
04-19-11, 07:22 PM
@skwasjer,
Can you post a complete list of key commands for S3D?
Hi mate,
Excellent idea and also i am updating a SMC conditions list that the DW sent me so we can know which conditions work as expressions.
Are you aware of any expressions that can set object visibility on/off switch kind off?
Best regards Hans
skwasjer
04-20-11, 09:13 AM
@skwasjer,
Can you post a complete list of key commands for S3D?
Most shortcuts are displayed in the menu, or in tooltips (model viewer buttons).
The most interesting:
CTRL+SHIFT+C (copy branch)
CTRL+SHIFT+X (cut branch)
CTRL+F8 I think, in modelviewer (displays framerate + object dimension)
And some keys like CTRL+1..5, or something to toggle the 3D render modes.
I can't compile a list easily, because I don't have anything SH-related installed atm. But most (I think all actually) special case shortcuts are also listed in readme. So if anyone else is willing to compile a list, the info is all there...
skwasjer
04-20-11, 09:20 AM
Check out the /cfg folder in S3D install dir. It has a text file with autocomplete function for SMC conditions... If you edit it, S3D will show it. I did not get to implementing it for the SM-action though.
There's also a commands.txt file there which is also used for autocomplete but in this case for game commands.
Hans Witteman
04-20-11, 09:41 PM
Hi shipmates,
I did some further tests and one thing i have to say is that SMC are confusing
http://i886.photobucket.com/albums/ac68/Hans_Witteman/Kaleun_Confused.gif
I understand part of the logic but i don't know where should i used the true conditions?
Edit: After further test i think that HasFood and NoFlood are strictly for particle system damn http://i886.photobucket.com/albums/ac68/Hans_Witteman/Kaleun_Mad-1.gif
Will have to take another route i think i have and idea will go test that right away.
Best regards hans
Hans Witteman
04-21-11, 04:53 AM
Hi shipmates,
There is one chunk with no information it is call Eof (type 1002/0) anyone know what is it?
Also info on the blend controller and the ExtAnimCtl would be welcome.
Best regards Hans
danasan
04-21-11, 11:00 AM
Hi Hans,
let me make an uneducated guess on "EoF" :
It might be: End of File and could be used by the OS to find the end of a file if it is f.x. in a couple of fragments on the HDD or simply when to end computing the file.
danasan
I thought those 'End of line' mechanics are a thing from the past....or (Tron movies!:88))
Marking chunks in dat-files...
Chunk: Type 0, subType 0, dataSize 0 ---> Data block begin (game data);
Chunk: Type 0, subType 1, dataSize 0 ---> Data block end;
Chunk: Type 1002, subType 0, dataSize 0 ---> End of File.
...
the rest... look hints in S3D...
Hans Witteman
04-21-11, 03:52 PM
Marking chunks in dat-files...
Chunk: Type 0, subType 0, dataSize 0 ---> Data block begin (game data);
Chunk: Type 0, subType 1, dataSize 0 ---> Data block end;
Chunk: Type 1002, subType 0, dataSize 0 ---> End of File.
...
the rest... look hints in S3D...
Hi Anvart,
Thank for explaining mate, desperately searching for a trigger conditions for the flood but it's not easy because choice are very limited.
I know order work but it would be darn stupid to make the user call the flooding with keyboard shortcuts, it would be like asking the user to commit suicide in his own boat!
I wonder if dll code injection could give us that trigger?
Best regards Hans
reaper7
04-21-11, 04:40 PM
Hi Anvart,
Thank for explaining mate, desperately searching for a trigger conditions for the flood but it's not easy because choice are very limited.
I know order work but it would be darn stupid to make the user call the flooding with keyboard shortcuts, it would be like asking the user to commit suicide in his own boat!
I wonder if dll code injection could give us that trigger?
Best regards Hans
May be something h.sie could help with in his exe patch
http://www.subsim.com/radioroom/showthread.php?t=174225
Hans Witteman
04-21-11, 10:28 PM
Hi shipmates,
After lot of testing i finally had some success with some conditions!
http://www.u-boot-hahd.com/ubootwebsite/wp-content/plugins/phpfreechat/data/public/themes/zilveer/smileys/Kaleun_Party.gif
The Hullintegrity is working i can trigger the animation with it also the OnHitGreaterthan it is working but non practical i will try others conditions tonight.
But at last we have a conditions that is working so in worst case scenario we can have hullintegrity to trigger the animation so imagine you pass the 90% Hullintegrity and then it trigger the water flooding animation so if i made the water raising level animation really slow then it could become an acceptable way of making it work.
But still if you managed to repair your boat i need a conditions to stop the water flooding?
At least when your hullintegrity start to lower it always mean you are getting damage not necessary flooding but for immersion factor i think we could live with flooding link to hullintegrity!
What your opinions gentleman's?
Edit: It is getting better and better it also work with the conditions HasDamageOn whoopiiiiii this one have a counter condition call NoDamageOn so this way it is more realistic.
Best regards Hans
FIREWALL
04-21-11, 10:39 PM
My Opinion ? Thank You ALL for all the hard work. :salute:
Hans Witteman
04-21-11, 10:47 PM
My Opinion ? Thank You ALL for all the hard work. :salute:
Hi mate,
Thank my friend and now it is even better it also work with HadDamageOn and i can stop it with NoDamage.
My wish was to control it via HasFlood and NoFlood but these conditions are not working unfortunately but hey i can live with flooding trigger by underdamage condition since now repairing your boat will trigger the flood to recede:yeah:
Best regards Hans
FIREWALL
04-21-11, 11:18 PM
Thx Hans :salute: This mod takes SH3\GWX to another level. :yeah:
Hans Witteman
04-21-11, 11:37 PM
Thx Hans :salute: This mod takes SH3\GWX to another level. :yeah:
You are welcome mate and i think that flooding trigger by under damage is a pretty acceptable solution.
Now i will only have to make the water raised slowly and another animation with water lowering slowly and we have more immersion factor.
Before putting the final touch i will wait to see if DD or privateer had a better solution than mine like i say ideally i would have link it with Hasflood but it working only on particle systems not on meshanimation.
Another way would have be to make you trigger the flood via keyboard command but this one sound goofy!
i can picture it Kaleun CTRL+F and flood raising
http://i886.photobucket.com/albums/ac68/Hans_Witteman/Kaleun_Rolf.gif
Best regards Hans
Hans Witteman
04-22-11, 12:48 AM
Hi shipmates,
Ok so now everything is working fine except for 1 point when i enter the no damage state conditions the water recede animation loop!
Any advice on how to arranged the SMC to make the loop stop when No_Damage?
There must be a way to ask for the animation to play on No_Damage and to start another conditions that stop the animation?
I know i could have used the StopAnim but i would not have the water receding this way.
Best regards Hans
Hans Witteman
04-22-11, 01:44 AM
Hi shipmates,
Unfortunately i ran into another problem when the conditions/actions StopAnim is launch the water animation stop the animation loop when the water is up instead of down:damn:
There must be a way! Sorry for the false alarm i am getting there just need to figured out a way to do it via SMC
There always something more to figure when you play with those SMC.
Best regards Hans
skwasjer
04-22-11, 06:58 AM
You can use timers to run parallel with the animation. Set the timer to be triggered at the same length the animation runs, and when the timer triggers, then stop the recede anim and jump back to the initial loop where you check for damage. You have to really carefully plan the code flow to prevent any problems. Or perhaps I don't understand correctly, dont know...
Hans Witteman
04-22-11, 12:28 PM
You can use timers to run parallel with the animation. Set the timer to be triggered at the same length the animation runs, and when the timer triggers, then stop the recede anim and jump back to the initial loop where you check for damage. You have to really carefully plan the code flow to prevent any problems. Or perhaps I don't understand correctly, dont know...
Hi skwasjer,
By the way i loved your band tune:up:
Even if i used timer they won't make the animated water invisible:hmmm:
I think the only way is to make another actions calling a second water mesh that would be under the boat floor .
Because what i have notice so far is that you can add as much actions as you want and they are all triggered one after the other.
I just tried to find an invisibility expressions and i think there is none for SH3 can you confirm that?
Best regards Hans
Madox58
04-24-11, 01:45 PM
CharacterFX is a free program that you can create animations with.
http://www.insanesoftware.de/index.php?page=cfx/downloads.php
The nice thing about it is it will export the frames in .obj format.
The only problem for the moment is the format of the obj file.
It writes the files like below:
v 0.02144128084182739 16.46680068969727 1.034090995788574
vn 1.939297472608459e-10 -0.4577800035476685 0.8890659809112549
vt 0.7589399814605713 0.861952006816864
v 0.1356922835111618 16.5162239074707 1.034090995788574
vn 0.4263010025024414 -0.1938360035419464 0.8835700154304504
vt 0.7687140107154846 0.8661220073699951
I'm correcting the exporter plugin to fix the output format.
Why this program better than, for example, 3ds Max or Carrara and so on? excluding free?
Madox58
04-24-11, 03:43 PM
Hi Anvart,
Maybe not better for full scale work.
But for animations for SH3?
Very easy to use, does the obj exports very nicely (With the modified scripting I'm working on),
many free existing skeletons can be imported, modified and saved very quickly.
I'm haveing a blast with it right now.
:haha:
The modified obj importer/exporter will scale the obj files up/down.
An obj scaled to SH size is very tiny on importing to this program.
100 times scaleing is about right.
...
The modified obj importer/exporter will scale the obj files up/down.
An obj scaled to SH size is very tiny on importing to this program.
100 times scaleing is about right.
:hmmm:
There is no need, i think... using the zoom, you can get a larger image.
and it's a very old program... and program has problems with materials (import, export)... need to write new scripts (plug-ins) in Lua.
http://img193.imageshack.us/img193/8985/charfx.jpg
Madox58
04-25-11, 04:22 PM
:hmmm:
There is no need, i think... using the zoom, you can get a larger image.
and it's a very old program... and program has problems with materials (import, export)... need to write new scripts (plug-ins) in Lua.
The Scripting is already deep in process.
The scaleing part is done and the materials are being corrected.
The format of the obj output has been changed and an .mtl file is created now.
There's a few more lines of code to do to get it to read an mtl on import but
that's pretty minor stuff at this point.
It may be old but it's a very easy program for beginners to use.
What can you say about Automatron 1.2 for 3ds Max?
http://www.lotsofrobots.com/automatron/rvd/Automatron_1_12.zip
Madox58
04-26-11, 03:45 PM
I'll have to give it a try but it looks promiseing.
And it's right in my price range.
:O:
I can't look at... but may be you... esp. Tools folder... format 3ds Max 2010... :haha:
................................ (http://fonline.ru/vanburen/)
P.S. What do you think about Messiah Studio 5.0 (animation & rendering)?
http://www.projectmessiah.com/x6/download.html
Madox58
04-29-11, 04:31 PM
The first link is interesting.
:hmmm:
I've not tried Messiah yet but I plan on it.
:yep:
The early version of the script mod for CFX 1.3.4 should be completed this weekend.
Most of it is a re-write of the CFX included object importer/exporter.
It does not work with obj files as we need them for S3D importing.
The goal is to make it so easy.................
A CaveMan could do it!
:har:
Madox58
04-30-11, 02:00 PM
The final solution is in the pipeline now.
Aces is going to do some textures for us first.
I have a new model and a new skeleton for that model that anyone can use.
Once We have finished that bit of work?
All files involved will be posted for Downloading.
All software, includeing the customized work, is free!!
The only thing We claim Copyrights to is the 3D work, texture work, and any scripting/code I did.
Get ready to be blown away!!
:rock:
MCHALO12
05-09-11, 02:47 PM
Hi mates,
I want to allude to the new teaser of the "Flakmonkey's Interior with crew" mod Diving Duck and me are currently working at. It shows a couple of already finished animations of the new crew members.
http://www.subsim.com/radioroom/showthread.php?p=1660528#post1660528
This post is only a guidepost, please give feedback in the accordant thread.
Best regards, MCHALO12.
Madox58
05-09-11, 08:39 PM
@ MCHALO12 and SlackerDuck,
:rock:
Outstanding Mates!!
:salute:
Regards
urfisch
09-05-11, 02:49 PM
any news on this here?
Madox58
09-05-11, 03:35 PM
I say that because most people don't understand animations to start with?
It's a subject way beyond simple Modding at this time.
When DD and others that know the animations system say it's a job they will avoid?
That's enuff for me!
Can it be done?
YES!!
But you will need a very large Team or a VERY long time to complete the needed work!
:woot:
I agree totally...
skwasjer
09-06-11, 08:22 AM
Well, animations isn't all that difficult really, but animations in SH-series is ;)
urfisch
09-06-11, 09:17 AM
Well, animations isn't all that difficult really, but animations in SH-series is ;)
yes, this is a real problem.
:-?
Admiral Von Gerlach
09-10-11, 03:40 PM
This looks very promising..are there any beta versions of this to try out yet? thanks for the hard hard work men.
Hans Witteman
07-03-12, 01:07 AM
Hi guy's,
Sorry to resurrect an old thread but like you all know i often work on different aspect of the mod many month after we start the talking so here my latest on crew replacement.
After trying almost every possible way to add another crew model like body01 and body02 i have to admit that it is not working at all!
WHat i did was cloning body01 and call it body03 changing all id number and it simply doesn't show up it is probably the same hardcoded stuff as the sub nodes.
So my point was to completely replace the crew with at least 2 differents body mesh to correctly represent crew member uniforms and officers alike but unfortunately it seem impossible so i won't spend that outrageous amount of time only to replace one body mesh with just another better one.
I though of using body02 the one with the rain gear but when storm will appear we would loose the rain gear on kiosque.
Currently with the help of Anvart we are trying to figure out a way to add another deck gun crew men aka the re loader with a shell in his hand but i am affraid this will be the same hardcoded situation.
I will keep you inform of anything new.
Best regards Hans
Hans Witteman
07-03-12, 10:36 PM
:hmmm:
More correct, i'm trying to convey their thoughts to Hans... but so far without success.
:D
Hi mate,
I think only DD or privateer can put the final answer here!
At least i didn't model these new crew members for nothing since they will be in the new game.
Best regards Hans
Madox58
07-04-12, 12:12 PM
SH3 has the paths to body01 and body02 hardcoded into the sh3.exe file.
I'd think that was for the controller that kicks in when weather is bad/not bad to change it's path.
There's also some animations coded for body02
That would be needed to render the correct animation in bad weather.
Since all crew animations are based on body01 and body02,
Why would you need a body03?
Animations would give the Loader the proper movements.
Or am I not understanding something?
:hmmm:
Hans Witteman
07-04-12, 02:08 PM
SH3 has the paths to body01 and body02 hardcoded into the sh3.exe file.
I'd think that was for the controller that kicks in when weather is bad/not bad to change it's path.
There's also some animations coded for body02
That would be needed to render the correct animation in bad weather.
Since all crew animations are based on body01 and body02,
Why would you need a body03?
Animations would give the Loader the proper movements.
Or am I not understanding something?
:hmmm:
Hi mate,
Glad to see you still taking a peek here from time to time.
I understand what you mean maybe it is the way i explain that put a little confusion here.
What i mean is that my goal was to have different body mesh for each different crew like one uniform (body_01) for regular crew and body_03 for officers since the mesh are different and body_03 was my attempt to add another body mesh because i knew body_02 was for the rain gear crew.
But as i can understand it is hard coded so the possibility to add a third body crew mesh is impossible.
Maybe there is a way to use body_02 without loosing the rain gear crew that i don't yet understand?
I know so far replacing body_01 is working if all animations are re done but that would be way too much work just to replace one body mesh with a better looking one since i wouldn't be able to give officers and crew different uniforms.
I am all ear for any possible ways to achieve it but i doubt there is a solution if it like the submarines nodes then we can't add another crew aka body_03 for officers uniforms.
Best regards Hans
Madox58
07-04-12, 02:22 PM
Without a MAJOR hack to the exe? No other body can be added as an extra.
You could try calling it in the animation files as those do contain paths to body01 or body02.
It would be easy enuff to test by changeing a few animations and haveing a body03 folder ready.
It's always been most of the main modders in the animation areas opinion that the work is in re-doing all the animations.
That is a project no one is willing to undertake because of the size and scope.
It's easy enuff to do but a bitch to actually get imported and the timeing adjust right for each animation!
A better Tool is needed before I for see advancements in this area.
Hans Witteman
07-04-12, 02:54 PM
Without a MAJOR hack to the exe? No other body can be added as an extra.
You could try calling it in the animation files as those do contain paths to body01 or body02.
It would be easy enuff to test by changeing a few animations and haveing a body03 folder ready.
It's always been most of the main modders in the animation areas opinion that the work is in re-doing all the animations.
That is a project no one is willing to undertake because of the size and scope.
It's easy enuff to do but a bitch to actually get imported and the timeing adjust right for each animation!
A better Tool is needed before I for see advancements in this area.
Hi mate,
Yes Rodger that unfortunately that what i was thinking and this probably apply again to the the 3 deck gun crew so adding a fourth as a loader would also be impossible.
I though of making one crew member holding a shell standing between CT and deck gun that could be call via keyboard command but that would be plain silly to ask the player to do so in my own opinion.
The main point of all of this was just to be able to have distinct and realistic uniform for both regular crew and officer so i won't do all that work
only to get back to statu quo with one body mesh fit all ubi style!
Edit: At least i can modify the deck gun crew to fit the new height and position of the 88 mm i am currently finishing off.
Well i always go from wonder to high disappointment since i mod this game but the overall experience is still a very pleasant one!
Best regards Hans
Madox58
07-04-12, 03:14 PM
I see no problem with adding a Crew member to load the Gun.
You'd only need the proper animations and placing him and so forth.
Doing a body03 MAY be possible depending on createing a lot of custom animations stuff.
We determined long ago it was a MAJOR undertakeing to mess with Crew animations.
:D
I'm pretty sure we covered the basics in this thread on how-to make it work should one attempt it. DD and others actually released the proof at one time.
We know the rules SH3 uses. Until those rules are changed?
We need to work within them.
Another point,
Only by haveing the files can I actually see what you are trying to do.
Other then that? I've offered the best advise I can at this time.
Hans Witteman
07-04-12, 03:47 PM
I see no problem with adding a Crew member to load the Gun.
You'd only need the proper animations and placing him and so forth.
Doing a body03 MAY be possible depending on createing a lot of custom animations stuff.
We determined long ago it was a MAJOR undertakeing to mess with Crew animations.
:D
I'm pretty sure we covered the basics in this thread on how-to make it work should one attempt it. DD and others actually released the proof at one time.
We know the rules SH3 uses. Until those rules are changed?
We need to work within them.
Another point,
Only by haveing the files can I actually see what you are trying to do.
Other then that? I've offered the best advise I can at this time.
Hi again mate,
I already try by cloning and remaping ID forDMY_Soclu03_88mm_UDeck_Gun_High but it doesn't show up on deck when i fill the deck gun crew slot only 3 of them appear as usual the fourth one i clone as the loader is not there.
I remember also that DD was able to extract every single pose as obj for crew animation do you know how he did this? This will help me fixing the deck gun crew animations and to also fix my flak gun crew guy.
I can send you the file but the only thing i did was cloning the DMY_Soclu03_88mm_UDeck_Gun_High and i call it a different name DMY_Soclu04_88mm_UDeck_Gun_High maybe it is because of the new name DMY_Soclu_04 that the exe. don't recognize!
Best regards Hans
Hans Witteman
07-04-12, 03:50 PM
Doing a body03 MAY be possible depending on createing a lot of custom animations stuff.
Sorry do you mean for the regular crew for body_03 or for the deck gun crew?
Best regards Hans
Madox58
07-04-12, 03:54 PM
Hans,
I started this thread to get Modders to work in this area more.
I'd be remiss to not offer whatever help I can!!
Send me a link by PM to any files your messing with and I will look at them.
:yep:
Hans Witteman
07-04-12, 03:57 PM
Hans,
I started this thread to get Modders to work in this area more.
I'd be remiss to not offer whatever help I can!!
Send me a link by PM to any files your messing with and I will look at them.
:yep:
Ok will do so latter on today but i think for the DMY_Soclu04_88mm_UDeck_Gun_High that i answer my own question since the exe. don't see DMY_Soclu_04 as a valid node and simply ignore it!
Best regards Hans
Madox58
07-04-12, 03:58 PM
Sorry do you mean for the regular crew for body_03 or for the deck gun crew?
Best regards Hans
Remember, body01 is for no weather, body02 is bad weather and has rain gear.
Your Loader needs to use body01 in fair weather, body02 in bad weather.
You only need the animations and other support files to have him.
Hans Witteman
07-04-12, 04:04 PM
Remember, body01 is for no weather, body02 is bad weather and has rain gear.
Your Loader needs to use body01 in fair weather, body02 in bad weather.
You only need the animations and other support files to have him.
Thank mate this is a good reminder to keep in mind!
Best regards Hans
Madox58
07-04-12, 04:08 PM
I don't understand your Soclu problem.
:hmmm:
There is no hard code to prevent placeing a new node on deck.
Given the right support files? It should work.
Hans Witteman
07-04-12, 04:11 PM
I don't understand your Soclu problem.
:hmmm:
There is no hard code to prevent placeing a new node on deck.
Given the right support files? It should work.
Yes indeed i often use the clone technique for many other models or part and they all show without any problem but when i tried it with the DMY_Soclu03_88mm_UDeck_Gun_High renaming to DMY_Soclu04_88mm_UDeck_Gun_High it simply doesn't show up to my surprise!
So that why i figure it doesn't recognize the DMY_Soclu04_88mm_UDeck_Gun_High but that is only my opinion of course.
Best regards Hans
Madox58
07-04-12, 04:18 PM
But did you place a Node on the Gun or Deck as needed?
Then call it correctly?
See, it's a fine dance We play with somethings and is easily overlooked at times.
You telling me what you did and me seeing it are 2 totally different things.
:haha:
I could waste alot of time tommorow trying to duplicate this,
Or you can send me your files to check.
I'll not be wasteing time trying to duplicate errors.
You decide.
:salute:
By the way? I'm being pretty much of a Richard now days.
:O:
Hans Witteman
07-04-12, 04:24 PM
But did you place a Node on the Gun or Deck as needed?
Then call it correctly?
See, it's a fine dance We play with somethings and is easily overlooked at times.
You telling me what you did and me seeing it are 2 totally different things.
:haha:
I could waste alot of time tommorow trying to duplicate this,
Or you can send me your files to check.
I'll not be wasteing time trying to duplicate errors.
You decide.
:salute:
By the way? I'm being pretty much of a Richard now days.
:O:
Don't worry i already send you files in the past so i will do so again without any problem!
Just that at the moment i am not at my worksation and was just trying to figure out why it doesn't show up and since i begin that mod i did a lot of backtracking stupid errors and this time i don't see it .
Like they use to say sometime by looking at the trees we don't see the forest behind it!
Best regards Hans
Madox58
07-04-12, 04:33 PM
Some of the best work from modders come from allowing others to see what we overlook.
That outside view is most important in a hard subject such as animations.
:yep:
Yes indeed i often use the clone technique for many other models or part and they all show without any problem but when i tried it with the DMY_Soclu03_88mm_UDeck_Gun_High renaming to DMY_Soclu04_88mm_UDeck_Gun_High it simply doesn't show up to my surprise!
...
I sent the sample files to you, where showed that you should use models of the body for additional new socket... as is done in Body01.dat (DMY_Poz01 node) and add to this node head/eye models, for example from OFF_Head01.dat, and add a model of the helmet, for example, from OFF_Helmet01.dat, and delete all the rest that is not need, bumpmap feature (Type13 part of material, ConfigureBumpMap and so on) should be deleted too.
Use ExtAnimCtl controller with indication of the new animation, use angle brackets in the names of animated objects... what is not clear? ie to do what UBI, I and others have done already.
For the appearance/disappearance an additional crew, can be used animations through StateMachineCtrl...
Try,try... and buy. :-))
The easiest option make working files for you... but I do not have opportunity to do it on my computer... it does not have SH3, since the game does not even start.
...
A similar theme was in http://www.subsim.com/radioroom/showthread.php?t=154572&highlight=additional+crew ## 3, 7...
:nope: picture with example of coding was lost...
...
thus, i "wash my hands".
P.S. Picture for http://www.subsim.com/radioroom/showthread.php?t=154572&highlight=additional+crew # 7 is found and restored. :sunny:
Hans Witteman
07-05-12, 01:09 AM
I sent the sample files to you, where showed that you should use models of the body for additional new socket... as is done in Body01.dat (DMY_Poz01 node) and add to this node head/eye models, for example from OFF_Head01.dat, and add a model of the helmet, for example, from OFF_Helmet01.dat.
Use ExtAnimCtl controller with indication of the new animation, use angle brackets in the names of animated objects... what is not clear? ie to do what UBI, I and others have done already.
The easiest option make working files for you... but I do not have opportunity to do it on my computer... it does not have SH3, since the game does not even start.
Hi Alex,
I didn't have time to take a look at the file you sent me but i will tomorrow and many thank for helping on that because without you guys HAHD wouldn't be what it is now.
Best regards Hans
Hans Witteman
07-05-12, 01:13 PM
Hi guy's,
Ok after checking Anvart file i finally understood why the fourth deck gun crew was not showing it is simply because i did not include a 3d model of the body node i was thinking in instance mode just cloning the Soclu node without any 3d model attach to it.
Duplicating an existing deck gun crew member doesn't work but adding a new one with body_01, head, eyes, meshanimation etc work fine.
Great now we will have deck gun loader but i will have to find a way to animate it so that doesn't look silly i mean animating a crew member to load a shell in gun is no big deal but making the shell disappear as he put it in it is another task also making the shell re appearing in his hand is another one.
In the worst case i will just have him to hold the shell standing behind the breechblock it will already be more realistic then no loader at all.
Best regards Hans
You guys actually cracked this nut?! :rock:
Awesome!
... i finally understood why the fourth deck gun crew was not showing it is simply because i did not include a 3d model of the body node i was thinking in instance mode just cloning the Soclu node without any 3d model attach to it.
...
OK, Hans.
I will repeat for all.
In the game there are a few standard crew sockets, which are fully controlled by the program:
*** Interior crew
DMY_Soclu_CH
DMY_Soclu_N
DMY_Soclu_WP
DMY_Soclu_HF
DMY_Soclu_HA
DMY_Soclu_PM
DMY_Soclu_RA
DMY_Soclu_SN
***Watch crew
DMY_Soclu_UZO
DMY_Soclu_POS_NW
DMY_Soclu_POS_NE
DMY_Soclu_POS_SW
DMY_Soclu_POS_SE
***Watch crew (clothed)
DMY_Soclu_UZOR
DMY_Soclu_POSR_NW
DMY_Soclu_POSR_NE
DMY_Soclu_POSR_SW
DMY_Soclu_POSR_SE
***Flak, Gun crew
DMY_Soclu01_88mm_UDeck_Gun_High
DMY_Soclu02_88mm_UDeck_Gun_High
DMY_Soclu03_88mm_UDeck_Gun_High
DMY_Soclu_20mmTwin_UFlak_High
DMY_Soclu01_37mmM_UFlak_High
DMY_Soclu02_37mmM_UFlak_High
...
Custom crew sockets (and duplicates) are not controlled by program, so we have to build a hierarchy of the crew socket by hand with all models (i showed it to you in the sample files and see http://www.subsim.com/radioroom/show...dditional+crew (http://www.subsim.com/radioroom/showthread.php?t=154572&highlight=additional+crew) # 7)... further into the action takes a standard controller ExtAnimCtl, as everywhere... and animations of appearance/disappearance for the various crew commands - Man_the_deck_gun, Man_the_deck_and_flak_guns, Periscope_depth, Snorkel_depth, Dive, Crash_dive and so on.
...
About new model of the crew...
In SH3 are encoded folder names ../data/Crew/Body/Body01(02) and parameter BodyIdx (see crew_config_*_*.cfg too). File names (Body01.dat, body2.dat) are not encoded.
It is not known how the program determines BodyIdx, reading the above folders. We can assume this is done by the names of folders and/or by the names of nodes in body*.dat - DMY_Poz01(02), <Body01(02)>...
...
A few questions.
How do you create a new model of the crew?
You have created a new file called Body03(??).dat, cloned from Body01.dat? You replaced models and renamed nodes to DMY_Poz03, <03_DMY_Head>, <Body03> and so on...?
In the end you have cloned and renamed all the stuff where you have the names of body parts and ammunition?
My God, what a huge amount of work ... I feel dizzy. :doh:
:Kaleun_Sick:
...
:haha:
joke...
... or you just replaced meshes of body parts and replaced all animations?
... a lot of work too. :hmmm:
P.S. ... enough for today's speeches.
Hans Witteman
07-06-12, 01:22 AM
You guys actually cracked this nut?! :rock:
Awesome!
They don't call us the nutcrackers for nothing:k_rofl:
Best regards Hans
Hans Witteman
07-06-12, 03:37 AM
Hi shipmates,
Here we go again let me explain i can have 3 re loader for the deck gun with custom animation no problem this work flawless but my newly created problem is that those new deck gun crew member are still there on deck even after i removed the deck gun crew?
I am currently looking at other controlers that can help and i see some that might help but if anyone is having a straight to the point better idea then feel free to lay a hand.
I hope it is not going to required again the keyboard command call from the player to see those guys loading the damn gun!
Best regards Hans
SquareSteelBar
07-06-12, 04:17 AM
Maybe you missed to append it as child chunk somewhere?
Hans Witteman
07-06-12, 11:32 AM
Maybe you missed to append it as child chunk somewhere?
Hi mate,
I did the same as for the other deck gun crew their parent is all the 88 mm deck gun base.
There is a lot of controlers that have never been experiment so far so maybe the answer lie in one of them so i will have to do further testing.
Best regards Hans
Hans Witteman
07-07-12, 01:17 AM
Anyone on this guy's?
Madox58
07-07-12, 02:52 PM
So why don't you connect to the crew that appear instead of the gun it self?
The gun is always there.
The crew is not.
Hans Witteman
07-08-12, 01:53 AM
So why don't you connect to the crew that appear instead of the gun it self?
The gun is always there.
The crew is not.
Hi Jeff
I will still have a problem with this method because the deck gun additional loader crew member will be there all the time.
The only way i can see this working so far is probably via keyboard command to call them when deck gun is in use by player.
I was hoping for an all automatic solution but i will have to test something else with other controllers.
Maybe linking them to particle effect when gun fired need some testing.
Best regards Hans
So why don't you connect to the crew that appear instead of the gun it self?
The gun is always there.
The crew is not.
:haha:
Sorry, Jeff.
Hans can not connect custom crew member to some member of gun crew...
because in file there are only Dummy 'sockets' for crew members of gun...
:03: if you about files in folders ..\data\Crew\Body\ and so on, don't forget, this objects are for all crew.
Hope, i said clearly.
...
I see (as i wrote already) StateMachineCtrl animation stuff only.
...
I see, almost no one understands me? http://img70.imageshack.us/img70/9291/fishq.gif
... because i do not see the relevant questions/answers to my replies from anybody. :hmmm:
Hans Witteman
07-08-12, 11:23 AM
:haha:
Sorry, Jeff.
Hans can not connect custom crew member to some member of gun crew...
because in file there are only Dummy 'sockets' for crew members of gun...
:03: if you about files in folders ..\data\Crew\Body\ and so on, don't forget, this objects are for all crew.
Hope, i said clearly.
...
I see (as i wrote already) StateMachineCtrl animation stuff only.
...
I see, almost no one understands me? http://img70.imageshack.us/img70/9291/fishq.gif
... because i do not see the relevant questions/answers to my replies from anybody. :hmmm:
Hi Alex,
Jeff solution would work but it will lead me to the same problem the gun loader would be standing behind the deck gun when crew on watch, they would only vanish when submerged but to make them vanish underwater is no big deal with the visible underwater controller.
Most of the time after reading your information 2 or 3 times i always understand what you mean.
So far i have no luck making them disappear when i remove the deck gun crew:Kaleun_Mad:
Best regards Hans
Hi Alex,
Jeff solution would work
What's that you saying? :D
... but it will lead me to the same problem the gun loader would be standing behind the deck gun when crew on watch, ...
What relation the watch crew have to the gun crew?
You also write that the problem remains...
...
What prevents you to use StateMachine System for animation of guns loader with crew commands: appearance --> Man_the_deck_gun, Man_the_deck_and_flak_guns; disappearance --> Watch_crew, Periscope_depth, Snorkel_depth, Dive, Crash_dive and so on... as i did in mine mods for DFantenna, Flag on turm, Pennants on turm and so on.
... and if you want, you can make an appearance/disappearance guns loader by pressing keys on the keyboard too (optional !!!).
... and see http://www.subsim.com/radioroom/showpost.php?p=1905671&postcount=207
Sorry... I must write the same thing repeatedly... what times? :woot:
Hans Witteman
07-08-12, 01:38 PM
What's that you saying? :D
What relation the watch crew have to the gun crew?
You also write that the problem remains...
...
What prevents you to use StateMachine System for animation of gun crew member with crew commands: appearance --> Man_the_deck_gun, Man_the_deck_and_flak_guns; disappearance --> Watch_crew, Periscope_depth, Snorkel_depth, Dive, Crash_dive and so on... as i did in mine mods for DFantenna, Flag on turm, Pennants on turm and so on.
... and if you want, you can make an appearance/disappearance gun crew member by pressing keys on the keyboard too (optional).
... and see http://www.subsim.com/radioroom/showpost.php?p=1905671&postcount=207
Hi mate,
Ok if i understand correctly you are saying that in fact i can use statemachine even without the need to call them via keyboard command?
I will look at this later on today again thank a lot for helping on this.
Best regards Hans
Hi mate,
Ok if i understand correctly you are saying that in fact i can use statemachine even without the need to call them via keyboard command? ...
Yes, of course... and on the same principle you can animate the stopper for the gun barrel.
... and you must understand, your guns loader will be immortal. :haha:
P.S.
Picture for http://www.subsim.com/radioroom/showpost.php?p=1147498&postcount=7 #7 is found and restored. :sunny:
Hans Witteman
07-08-12, 04:20 PM
Yes, of course...
... and you must understand, your guns loader will be immortal. :haha:
P.S.
Picture for http://www.subsim.com/radioroom/showpost.php?p=1147498&postcount=7 #7 is found and restored. :sunny:
Hi Alex,
Good i always dream about having highlander type gun crew!:k_rofl:
Best regards Hans
Hi, Hans.
List of all SH3 commands (you can see them in sh3.exe):
{CMD_Unknown, CMD_User_commands, CMD_Help, CMD_Console, CMD_Pause_game,
CMD_Time_compr_reduce, CMD_Time_compr_increase, CMD_Time_compr_normal,
CMD_Go_back_to_prev_cam, CMD_Free_camera, CMD_User_free_camera, CMD_Replay_camera,
CMD_Interior_fore_camera, CMD_Interior_aft_camera, CMD_Interior_radio_camera,
CMD_Conning_tower_camera, CMD_Conning_tower_periscope, CMD_Conning_deck_camera,
CMD_Periscope_camera, CMD_Obs_periscope_camera, CMD_UZO_camera, CMD_Binocular_camera,
CMD_Deckgun_camera, CMD_Flakgun_camera, CMD_A01gun_camera, CMD_A02gun_camera,
CMD_Cycle_flak_cam, CMD_Final_page, CMD_Net_Final_page, CMD_Net_Spectator_page,
CMD_Activate_event_cam, CMD_Deactivate_event_cam, CMD_Try_deactivate_event_cam,
CMD_Close_event_cam, CMD_Focus_on_event_cam, CMD_Navigation_map, CMD_Navigation_2D_map,
CMD_Attack_map, CMD_Attack_2D_map, CMD_Helmsman_view, CMD_Navigator_view,
CMD_Weapons_officer_view, CMD_Hydrophone_view, CMD_Toggle_hydrophone_view, CMD_Radar_view,
CMD_Toggle_radar_view, CMD_Watch_view, CMD_Captains_bed_view, CMD_Crew_control,
CMD_Captain_log, CMD_Toggle_captain_log, CMD_Mission_order, CMD_Radio_messages,
CMD_Toggle_radio_messages, CMD_Recognition_manual, CMD_Activate_hydrophone,
CMD_Deactivate_hydrophone, CMD_Toggle_hydrophone, CMD_Rotate_hydrophone,
CMD_Activate_radar, CMD_Deactivate_radar, CMD_Camera_on_unit, CMD_Camera_on_next_unit,
CMD_Camera_on_prev_unit, CMD_Remote_camera, CMD_Command_room_free_camera,
CMD_Radio_room_free_camera, CMD_Conning_tower_free_camera, CMD_Museum_camera,
CMD_Weapons_mng,CMD_Cam_zoom_in, CMD_Cam_zoom_out, CMD_Cam_zoom_cycle, CMD_Cam_wheel_zoom,
CMD_Cam_tight_toggle, CMD_To_left, CMD_To_left_fast, CMD_To_left_slow, CMD_To_right,
CMD_To_right_fast, CMD_To_right_slow, CMD_To_up, CMD_To_up_fast, CMD_To_up_slow,
CMD_To_down, CMD_To_down_fast, CMD_To_down_slow, CMD_Move_forward, CMD_Move_forward_fast,
CMD_Move_backward, CMD_Move_backward_fast, CMD_Strafe_left, CMD_Strafe_left_fast,
CMD_Strafe_right, CMD_Strafe_right_fast, CMD_Strafe_up, CMD_Strafe_up_fast,
CMD_Strafe_down, CMD_Strafe_down_fast, CMD_Rot_left, CMD_Rot_right, CMD_Rot_up,
CMD_Rot_down, CMD_Rise_periscope, CMD_Rise_whole_periscope, CMD_Lower_periscope,
CMD_Lower_whole_periscope, CMD_Stop_periscope, CMD_Rise_obs_periscope,
CMD_Rise_whole_obs_periscope, CMD_Lower_obs_periscope, CMD_Lower_whole_obs_periscope,
CMD_Stop_obs_periscope, CMD_Lock_target, CMD_Unlock_target, CMD_Toggle_lock_target,
CMD_Lock_guns_target, CMD_Set_tgt_sel_value, CMD_Set_telegraph, CMD_Set_telegraph_by_off,
CMD_Get_depth_under_sub_keel, CMD_Toggle_TDC_autoupdate, CMD_Sonar_rotate,
CMD_Radar_rotate, CMD_Radar_toggle_on_off, CMD_Radar_toggle_sweep_focus,
CMD_Radar_toggle_range, CMD_Order_maintain_depth, CMD_Change_hydrophone_volume,
CMD_Sonar_ping, CMD_Heading_to_view, CMD_View_to_heading, CMD_User_cmd_end, CMD_Crew_cmd, CMD_Maneuver_officer, CMD_Propulsion_standard, CMD_Propulsion_recharge, CMD_Rise_snorkel,
CMD_Lower_snorkel, CMD_Toggle_snorkel, CMD_Rig_for_silent_running,
CMD_Secure_from_silent_running, CMD_Toggle_silent_running, CMD_Maneuver_dive,
CMD_Precision_dive, CMD_Set_speed, CMD_Set_throttle, CMD_Ahead_slow, CMD_Ahead_one_third,
CMD_Ahead_standard, CMD_Ahead_full, CMD_Ahead_flank, CMD_Back_slow, CMD_Back_standard,
CMD_Back_full, CMD_Back_emergency, CMD_All_stop, CMD_Set_course, CMD_Set_rudder,
CMD_Rudder_hard_to_port, CMD_Rudder_hard_to_starboard, CMD_Rudder_amidship, CMD_Set_depth,
CMD_Maintain_current_depth, CMD_Dive, CMD_Surface, CMD_Periscope_depth, CMD_Snorkel_depth,
CMD_Knuckle_port, CMD_Double_knuckle_port, CMD_Knuckle_starboard,
CMD_Double_knuckle_starboard, CMD_Deploy_decoys, CMD_Crash_dive, CMD_Emergency_surface,
CMD_Depth_changing, CMD_Maneuver_officer_end, CMD_Navigation_officer,
CMD_Choose_destination_point, CMD_Plot_course, CMD_Return_to_course, CMD_Search_pattern_1,
CMD_Search_pattern_2, CMD_Search_pattern_3, CMD_Report_time_to_turn,
CMD_Report_time_to_course_end, CMD_Report_range_to_course_end, CMD_Report_depth_under_keel,
CMD_Report_weather, CMD_Navigation_officer_end, CMD_Weapons_officer, CMD_Activate_deckgun, CMD_Activate_flakgun, CMD_Activate_A01gun, CMD_Activate_A02gun, CMD_Deactivate_gun, CMD_Gun_manual_mode, CMD_Fire_gun, CMD_Open_torpedo_tube, CMD_Close_torpedo_tube,
CMD_Open_sel_torpedo_tube, CMD_Close_sel_torpedo_tube, CMD_Toggle_open_close_torpedo_tube,
CMD_Fire_torpedo, CMD_Select_torpedo_tube, CMD_Select_tube_1, CMD_Select_tube_2,
CMD_Select_tube_3, CMD_Select_tube_4, CMD_Select_tube_5, CMD_Select_tube_6,
CMD_Select_single_tube_index, CMD_Select_salvo_tube_index, CMD_Cycle_torp_tube,
CMD_Cycle_fore_torp_tube, CMD_Cycle_aft_torp_tube, CMD_Set_salvo_mode,
CMD_Set_torpedo_depth, CMD_Set_torpedo_speed, CMD_Set_torpedo_pistol,
CMD_Set_torpedo_straight_run, CMD_Set_torpedo_2nd_gyroangle, CMD_Set_torpedo_leg_length,
CMD_Set_torpedo_pattern_angle, CMD_Set_TDC_bearing, CMD_Set_TDC_target_range,
CMD_Set_TDC_angle_on_bow, CMD_Set_TDC_target_speed, CMD_Set_spread_angle,
CMD_WP_Target_nearest_merchant, CMD_WP_Target_nearest_warship, CMD_WP_Target_nearest_ship,
CMD_WP_Target_recommended, CMD_WP_Identify_target, CMD_WP_Solution_to_target,
CMD_WP_Fire_torpedo, CMD_WP_Compute_solution, CMD_WP_Solution_on_map,
CMD_WP_Report_tubes_status, CMD_WP_Report_damage, CMD_Weapons_officer_end, CMD_Watch_officer, CMD_WA_Target_nearest_merchant, CMD_WA_Target_nearest_warship,
CMD_WA_Target_nearest_ship, CMD_WA_Target_recommended, CMD_DGuns_Fire_at_will,
CMD_DGuns_Hold_fire, CMD_DGuns_Short_range, CMD_DGuns_Medium_range, CMD_DGuns_Long_range,
CMD_DGuns_Aim_hull, CMD_DGuns_Aim_cmd_deck, CMD_DGuns_Aim_weapons, CMD_DGuns_Aim_waterline,
CMD_DGuns_Update_target, CMD_AAGuns_Fire_at_will, CMD_AAGuns_Hold_fire,
CMD_AAGuns_Short_range, CMD_AAGuns_Medium_range, CMD_AAGuns_Long_range,
CMD_AAGuns_Aim_fighters, CMD_AAGuns_Aim_bombers, CMD_AAGuns_Aim_any,
CMD_AAGuns_Closing_targets, CMD_AAGuns_Any_targets, CMD_AAGuns_Update_target,
CMD_Man_the_deck_gun, CMD_Man_the_flak_gun, CMD_Man_the_deck_and_flak_guns,
CMD_Watch_crew, CMD_Report_nearest_visual_contact, CMD_WA_Report_damage,
CMD_WA_Engage_target, CMD_Watch_officer_end, CMD_Radio_operator,
CMD_Report_nearest_radio_contact, CMD_Send_contact_report, CMD_Send_patrol_report,
CMD_Radar_one_sweep, CMD_Radar_continuous_sweep, CMD_Radar_turn_off, CMD_Gramophone_toggle,
CMD_Gramophone_play, CMD_Gramophone_stop, CMD_Gramophone_prev, CMD_Gramophone_next,
CMD_Radio_operator_end, CMD_Sonar_operator, CMD_Repeat_last_report,
CMD_Report_nearest_sound_contact, CMD_Report_nearest_warship_sound_contact,
CMD_Hydrophone_normal_sweep, CMD_Follow_nearest_sound_contact,
CMD_Follow_nearest_warship_sound_contact, CMD_Estimate_range_to_contact,
CMD_Precise_range_to_contact, CMD_Sonar_operator_end, CMD_Crew_cmd_end}
...
For control the behavior of the crew (StateMachine Control) are used commands between the labels CMD_Crew_cmd and CMD_Crew_cmd_end... the so-called crew commands.
Crew commands are divided into groups CMD_Maneuver_officer, CMD_Navigation_officer and so on.
The so-called conditionally 'free' crew command (my term) is the 'crew command' under which there is no significant action. E.g. with executing CMD_Watch_officer crew command we see a small animation (rotation of the head/body) and hear the words 'Yes, sir'.
For the stock game, 'free' crew commands can be considered CMD_Watch_officer, CMD_Watch_officer_end, CMD_Radio_operator, CMD_Radio_operator_end, CMD_Sonar_operator, CMD_Sonar_operator_end... and may be CMD_Maneuver_officer, CMD_Maneuver_officer_end, CMD_Navigation_officer, CMD_Navigation_officer_end, CMD_Weapons_officer and CMD_Weapons_officer_end.
I hope everyone understands that in Commands_*.cfg all commands are written without 'CMD_' prefix.
I wrote about this when i proposed a method of animation of any object using StateMachine Control... and even tried to keep a record use of 'free' crew commands in the mods through the permits system the use of mine method... but most readers did not understand the essence of theme and 'poured dirt' on me.
So now I do not know how many 'free' crew commands have been used in the mods.
...
I hope i answered your question, Hans. :salute:
Hans Witteman
07-09-12, 02:27 PM
Hi, Hans.
List of all SH3 commands (you can see them in sh3.exe):
{CMD_Unknown, CMD_User_commands, CMD_Help, CMD_Console, CMD_Pause_game,
CMD_Time_compr_reduce, CMD_Time_compr_increase, CMD_Time_compr_normal,
CMD_Go_back_to_prev_cam, CMD_Free_camera, CMD_User_free_camera, CMD_Replay_camera,
CMD_Interior_fore_camera, CMD_Interior_aft_camera, CMD_Interior_radio_camera,
CMD_Conning_tower_camera, CMD_Conning_tower_periscope, CMD_Conning_deck_camera,
CMD_Periscope_camera, CMD_Obs_periscope_camera, CMD_UZO_camera, CMD_Binocular_camera,
CMD_Deckgun_camera, CMD_Flakgun_camera, CMD_A01gun_camera, CMD_A02gun_camera,
CMD_Cycle_flak_cam, CMD_Final_page, CMD_Net_Final_page, CMD_Net_Spectator_page,
CMD_Activate_event_cam, CMD_Deactivate_event_cam, CMD_Try_deactivate_event_cam,
CMD_Close_event_cam, CMD_Focus_on_event_cam, CMD_Navigation_map, CMD_Navigation_2D_map,
CMD_Attack_map, CMD_Attack_2D_map, CMD_Helmsman_view, CMD_Navigator_view,
CMD_Weapons_officer_view, CMD_Hydrophone_view, CMD_Toggle_hydrophone_view, CMD_Radar_view,
CMD_Toggle_radar_view, CMD_Watch_view, CMD_Captains_bed_view, CMD_Crew_control,
CMD_Captain_log, CMD_Toggle_captain_log, CMD_Mission_order, CMD_Radio_messages,
CMD_Toggle_radio_messages, CMD_Recognition_manual, CMD_Activate_hydrophone,
CMD_Deactivate_hydrophone, CMD_Toggle_hydrophone, CMD_Rotate_hydrophone,
CMD_Activate_radar, CMD_Deactivate_radar, CMD_Camera_on_unit, CMD_Camera_on_next_unit,
CMD_Camera_on_prev_unit, CMD_Remote_camera, CMD_Command_room_free_camera,
CMD_Radio_room_free_camera, CMD_Conning_tower_free_camera, CMD_Museum_camera,
CMD_Weapons_mng,CMD_Cam_zoom_in, CMD_Cam_zoom_out, CMD_Cam_zoom_cycle, CMD_Cam_wheel_zoom,
CMD_Cam_tight_toggle, CMD_To_left, CMD_To_left_fast, CMD_To_left_slow, CMD_To_right,
CMD_To_right_fast, CMD_To_right_slow, CMD_To_up, CMD_To_up_fast, CMD_To_up_slow,
CMD_To_down, CMD_To_down_fast, CMD_To_down_slow, CMD_Move_forward, CMD_Move_forward_fast,
CMD_Move_backward, CMD_Move_backward_fast, CMD_Strafe_left, CMD_Strafe_left_fast,
CMD_Strafe_right, CMD_Strafe_right_fast, CMD_Strafe_up, CMD_Strafe_up_fast,
CMD_Strafe_down, CMD_Strafe_down_fast, CMD_Rot_left, CMD_Rot_right, CMD_Rot_up,
CMD_Rot_down, CMD_Rise_periscope, CMD_Rise_whole_periscope, CMD_Lower_periscope,
CMD_Lower_whole_periscope, CMD_Stop_periscope, CMD_Rise_obs_periscope,
CMD_Rise_whole_obs_periscope, CMD_Lower_obs_periscope, CMD_Lower_whole_obs_periscope,
CMD_Stop_obs_periscope, CMD_Lock_target, CMD_Unlock_target, CMD_Toggle_lock_target,
CMD_Lock_guns_target, CMD_Set_tgt_sel_value, CMD_Set_telegraph, CMD_Set_telegraph_by_off,
CMD_Get_depth_under_sub_keel, CMD_Toggle_TDC_autoupdate, CMD_Sonar_rotate,
CMD_Radar_rotate, CMD_Radar_toggle_on_off, CMD_Radar_toggle_sweep_focus,
CMD_Radar_toggle_range, CMD_Order_maintain_depth, CMD_Change_hydrophone_volume,
CMD_Sonar_ping, CMD_Heading_to_view, CMD_View_to_heading, CMD_User_cmd_end, CMD_Crew_cmd, CMD_Maneuver_officer, CMD_Propulsion_standard, CMD_Propulsion_recharge, CMD_Rise_snorkel,
CMD_Lower_snorkel, CMD_Toggle_snorkel, CMD_Rig_for_silent_running,
CMD_Secure_from_silent_running, CMD_Toggle_silent_running, CMD_Maneuver_dive,
CMD_Precision_dive, CMD_Set_speed, CMD_Set_throttle, CMD_Ahead_slow, CMD_Ahead_one_third,
CMD_Ahead_standard, CMD_Ahead_full, CMD_Ahead_flank, CMD_Back_slow, CMD_Back_standard,
CMD_Back_full, CMD_Back_emergency, CMD_All_stop, CMD_Set_course, CMD_Set_rudder,
CMD_Rudder_hard_to_port, CMD_Rudder_hard_to_starboard, CMD_Rudder_amidship, CMD_Set_depth,
CMD_Maintain_current_depth, CMD_Dive, CMD_Surface, CMD_Periscope_depth, CMD_Snorkel_depth,
CMD_Knuckle_port, CMD_Double_knuckle_port, CMD_Knuckle_starboard,
CMD_Double_knuckle_starboard, CMD_Deploy_decoys, CMD_Crash_dive, CMD_Emergency_surface,
CMD_Depth_changing, CMD_Maneuver_officer_end, CMD_Navigation_officer,
CMD_Choose_destination_point, CMD_Plot_course, CMD_Return_to_course, CMD_Search_pattern_1,
CMD_Search_pattern_2, CMD_Search_pattern_3, CMD_Report_time_to_turn,
CMD_Report_time_to_course_end, CMD_Report_range_to_course_end, CMD_Report_depth_under_keel,
CMD_Report_weather, CMD_Navigation_officer_end, CMD_Weapons_officer, CMD_Activate_deckgun, CMD_Activate_flakgun, CMD_Activate_A01gun, CMD_Activate_A02gun, CMD_Deactivate_gun, CMD_Gun_manual_mode, CMD_Fire_gun, CMD_Open_torpedo_tube, CMD_Close_torpedo_tube,
CMD_Open_sel_torpedo_tube, CMD_Close_sel_torpedo_tube, CMD_Toggle_open_close_torpedo_tube,
CMD_Fire_torpedo, CMD_Select_torpedo_tube, CMD_Select_tube_1, CMD_Select_tube_2,
CMD_Select_tube_3, CMD_Select_tube_4, CMD_Select_tube_5, CMD_Select_tube_6,
CMD_Select_single_tube_index, CMD_Select_salvo_tube_index, CMD_Cycle_torp_tube,
CMD_Cycle_fore_torp_tube, CMD_Cycle_aft_torp_tube, CMD_Set_salvo_mode,
CMD_Set_torpedo_depth, CMD_Set_torpedo_speed, CMD_Set_torpedo_pistol,
CMD_Set_torpedo_straight_run, CMD_Set_torpedo_2nd_gyroangle, CMD_Set_torpedo_leg_length,
CMD_Set_torpedo_pattern_angle, CMD_Set_TDC_bearing, CMD_Set_TDC_target_range,
CMD_Set_TDC_angle_on_bow, CMD_Set_TDC_target_speed, CMD_Set_spread_angle,
CMD_WP_Target_nearest_merchant, CMD_WP_Target_nearest_warship, CMD_WP_Target_nearest_ship,
CMD_WP_Target_recommended, CMD_WP_Identify_target, CMD_WP_Solution_to_target,
CMD_WP_Fire_torpedo, CMD_WP_Compute_solution, CMD_WP_Solution_on_map,
CMD_WP_Report_tubes_status, CMD_WP_Report_damage, CMD_Weapons_officer_end, CMD_Watch_officer, CMD_WA_Target_nearest_merchant, CMD_WA_Target_nearest_warship,
CMD_WA_Target_nearest_ship, CMD_WA_Target_recommended, CMD_DGuns_Fire_at_will,
CMD_DGuns_Hold_fire, CMD_DGuns_Short_range, CMD_DGuns_Medium_range, CMD_DGuns_Long_range,
CMD_DGuns_Aim_hull, CMD_DGuns_Aim_cmd_deck, CMD_DGuns_Aim_weapons, CMD_DGuns_Aim_waterline,
CMD_DGuns_Update_target, CMD_AAGuns_Fire_at_will, CMD_AAGuns_Hold_fire,
CMD_AAGuns_Short_range, CMD_AAGuns_Medium_range, CMD_AAGuns_Long_range,
CMD_AAGuns_Aim_fighters, CMD_AAGuns_Aim_bombers, CMD_AAGuns_Aim_any,
CMD_AAGuns_Closing_targets, CMD_AAGuns_Any_targets, CMD_AAGuns_Update_target,
CMD_Man_the_deck_gun, CMD_Man_the_flak_gun, CMD_Man_the_deck_and_flak_guns,
CMD_Watch_crew, CMD_Report_nearest_visual_contact, CMD_WA_Report_damage,
CMD_WA_Engage_target, CMD_Watch_officer_end, CMD_Radio_operator,
CMD_Report_nearest_radio_contact, CMD_Send_contact_report, CMD_Send_patrol_report,
CMD_Radar_one_sweep, CMD_Radar_continuous_sweep, CMD_Radar_turn_off, CMD_Gramophone_toggle,
CMD_Gramophone_play, CMD_Gramophone_stop, CMD_Gramophone_prev, CMD_Gramophone_next,
CMD_Radio_operator_end, CMD_Sonar_operator, CMD_Repeat_last_report,
CMD_Report_nearest_sound_contact, CMD_Report_nearest_warship_sound_contact,
CMD_Hydrophone_normal_sweep, CMD_Follow_nearest_sound_contact,
CMD_Follow_nearest_warship_sound_contact, CMD_Estimate_range_to_contact,
CMD_Precise_range_to_contact, CMD_Sonar_operator_end, CMD_Crew_cmd_end}
...
For control the behavior of the crew (StateMachine Control) are used commands between the labels CMD_Crew_cmd and CMD_Crew_cmd_end... the so-called crew commands.
Crew commands are divided into groups CMD_Maneuver_officer, CMD_Navigation_officer and so on.
The so-called conditionally 'free' crew command (my term) is the 'crew command' under which there is no significant action. E.g. with executing CMD_Watch_officer crew command we see a small animation (rotation of the head/body) and hear the words 'Yes, sir'.
For the stock game, 'free' crew commands can be considered CMD_Watch_officer, CMD_Watch_officer_end, CMD_Radio_operator, CMD_Radio_operator_end, CMD_Sonar_operator, CMD_Sonar_operator_end... and may be CMD_Maneuver_officer, CMD_Maneuver_officer_end, CMD_Navigation_officer, CMD_Navigation_officer_end, CMD_Weapons_officer and CMD_Weapons_officer_end.
I hope everyone understands that in Commands_*.cfg all commands are written without 'CMD_' prefix.
I wrote about this when i proposed a method of animation of any object using StateMachine Control... and even tried to keep a record use of 'free' crew commands in the mods through the permits system the use of mine method... but most readers did not understand the essence of theme and 'poured dirt' on me.
So now I do not know how many 'free' crew commands have been used in the mods.
...
I hope i answered your question, Hans. :salute:
Hi Alex,
Yes and thank you very much to take the time to put this handy information for all to see.:Kaleun_Salute:
Best regards Hans
Madox58
07-10-12, 08:09 PM
:haha:
Sorry, Jeff.
Don't worry Alex,
You have things well under control and I have a bigger fish to fry elsewhere.
:D
... and I have a bigger fish to fry elsewhere.
:D
:up:
Good luck, my friend!
Regards, Alex.
Jeff-Groves
05-30-24, 01:21 PM
https://www.snipershide.com/shooting/attachments/arise-dead-thread-png.8018656/
Years down the pike and I had to read this whole thread to refresh things I had forgotten! I also found that there's somethings I now know that were never covered or We had no way to do easily.
I'll touch on those things in following posts. Most will never understand nor use the Tools I support but it's a repository for knowledge that should be saved.
I'll also have to update the SH4 Animations stuff in that thread.
I'm really gonna miss the few Guys that understand all this.
Mister_M
05-30-24, 01:30 PM
Would you have the knowledge and skills to make the deck gun crew turn the wheels with their hands much faster when they want to pivot the gun or move the barrel up and down? :hmm2:
I have already corrected the animation of the wheels so they can turn much faster, but I have no idea how to modify the animation of the crew... :06:
Jeff-Groves
05-30-24, 01:35 PM
Would you have the knowledge and skills to make the deck gun crew turn the wheel much faster when they want to pivot the gun or move the barrel up and down? :hmm2:
I have already corrected the animation of the wheels so they can turn much faster, but I have no idea how to modify the animation of the crew... :06:
That would be a solid YES! There's several ways to do just that.
Now if one reads back in this thread? There's things that need done with a hex editor.
I use 010 and write scripts that do the heavy lifting.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.