FL Animations
-
Thx!
It’s done completely via clienthooking, even the commands I enter are interpreted from the client. As soon as I have completely implemented everything (like animation object deletion etc.) I will change it so the server can start animations. I still have to test whether others see the animation played… -
-
Oh wow, that is awesome It looks like a have a whole bunch of models to do at FW:ToW now!!
-
Yes it really looks cool I hope there is no showstopper burried somewhere, I am not completeley finished with the reverse engineering stuff…
I noticed the video links do not work right now so here is my profile just klick on the v5 test
Link -
Well thanks for all your effort in this area, mate. I believe many mods will have use for the work you’re doing now. It’s not easy, and damn right frustrating sometimes, I can imagine, but you’re doing it for a great cause, so GO YOU!!
-
@Mini_me: I started it via cruise hook.
Thanks to some helpfull hints from Wodka I was able to sync the animations so that they are now triggered serverside plus you see the ones from other players:
There is still work left but it looks very promising As of that this will probably be my last video for now. I hope you understand that I first want to use it for New Universe 1.8 (which is hopefully to be released in the upcoming weeks) and after its release I will have time to release a client/server mod similar to wodkas cloak mod. -
Looks great!! I look forward to seeing your work when your mod is complete!
-
Schmackbolzen wrote:
@Mini_me: I started it via cruise hook.Thanks to some helpfull hints from Wodka I was able to sync the animations so that they are now triggered serverside plus you see the ones from other players:
There is still work left but it looks very promising As of that this will probably be my last video for now. I hope you understand that I first want to use it for New Universe 1.8 (which is hopefully to be released in the upcoming weeks) and after its release I will have time to release a client/server mod similar to wodkas cloak mod.That is exactly the answer to my question in the very beginning. Thanks for spending time on this and showing me that they do work in-game.
Even though I have read this whole topic on a regular basis, just how difficult is it add all these functions to a mod?
This is in a mod that you now have running on a server?
-
How about triggering the wings on the Lambda Shuttle so when you hit dock, they fold up. Now there would be something lol
Be a bit like adding landing gear that only trigger on the dock button, could be used for all sorts of ships, dunno if its doable tho
-
Ya, that’s what we were hoping to do with most of the animated ships we have, including cruise. We’ll see if it can be done I still have a number of ship to get animated into game.
-
@HunterKiller: The mod you see there is the first beta of New Universe 1.8 (We are currently officially running 1.7.2). The animation names are still hardcoded in my clienthook code, I only trigger them via server command as soon as a player activates/deactivates the cruise engine. When I am finished I hope you can specify the animation per ship serverside and the action which triggers / untriggers it in an ini file. So the example mod I then will release later probably contains an FLHook 1.6.1 plugin and a small vanilla example mod with the clienthook dll included.
-
I was looking around through the source code for flhook for
possible functions that could be used the generate an animation call.since you are able to trigger it with replacing the shiparch.ini line and dropping cargo:
[Ship]
bay_door_anim = Sc_open baydoor <–-------- insert your animation here
bay_doors_open_snd = cargo_doors_open
bay_doors_close_snd = cargo_doors_closenow I am only a beginning C++ programmer so I may be totally off the mark here
but is it possible to associate this structure with a player ship and call the
open_bay(void) function from the ActivateCruise hook?or is that just returning the percentage of the bay
door open or closed?void __stdcall ActivateCruise(unsigned int iClientID, struct XActivateCruise const ∾)
this would be all server side
From Common.h header:
struct IMPORT CShip
{
public:
CShip(struct CShip const &);
CShip(void);
virtual ~CShip(void);
static float const JETTISON_CLEARANCE_TIME;
void VerifyTarget(void);
enum FORMATION_RTYPE add_follow_follower(struct IObjRW *);
enum FORMATION_RTYPE add_formation_follower(struct IObjRW *);
void airlock_in(class Vector const &,class Matrix const &);
bool any_thrusters_on(void)const ;
bool check_formation_follower_status(float);
float close_bay(void);
float open_bay(void);<----- call this function};
-
I talked to Wodka how animations are synced and we agreed that it is most likely jettison cargo since there is no other network packet (at least we know of) that could trigger an animation. Thats why I created one (well it’s just via sendchat ;))
That means the only thing you probably could reach is to call server.jettisioncargo and maybe this triggers it on the other clients - but most likely not on the one who initiates it due to your parameters.
Btw. what you mention there is the starting point of my attempts, only that I worked completely clientside. I then created a new asm function with asm code out of several methods of common.dll. Took some debugging to find the right memory address for the animation name etc.
-