Jump to content
Eternal Lands Official Forums
Sign in to follow this  
Learner

Resyncs in console mode

Recommended Posts

From the newest CVS, if you go into consol or the map and wait, you will start resyncing for now apparent reason. If you are in the main scene, it doesn't happen.

 

Has anyone made a change that could prevent actors from using up their commands?

Share this post


Link to post
Share on other sites

I normally spend most of my time in console mode.

I spent a fair bit of time idling on 2002, and I didn't see this at all in one of the smaller(inside) maps while I was there(which could be hours in console).

but when I was sitting near molgor, after a while(say, 10min) it started.

 

thought I doubt that players were walking by that often, I know animals will wander past molgor. could it be related to that?

Share this post


Link to post
Share on other sites

Looks like actors stay busy for a long time when the animation they're supposed to be doing doesn't exist (like bunnies having to stand up or sit down), thus filling up their command queue.

Share this post


Link to post
Share on other sites

hmm, sorry figured it was commited.

 

Vegar had me add get_tmp_actor_data() to the consolewin

Share this post


Link to post
Share on other sites

I've restored having get_tmp_actor_data() in draw_scene, which did fix this bug. Better to have it there again then having to remember to put it in every screen.

Share this post


Link to post
Share on other sites

It's not supposed to be there really.

 

The purpose of get_tmp_actor_data() is to have the same x, y, z pos and rot of the actor throughout the renderer.

Share this post


Link to post
Share on other sites
It's not supposed to be there really.

 

The purpose of get_tmp_actor_data() is to have the same x, y, z pos and rot of the actor throughout the renderer.

184858[/snapback]

Yes, but if it isn't called when your in the consol, you get lots of resynce errors. It may be something it does is affect the actor commands as to whether they should run or not.

Share this post


Link to post
Share on other sites

The problem is that the animation timer isn't updated when the tmp structure isn't loaded, so that the animation never advances to the next frame. See actor_scripts.c, animate_actors(), line 419. Since the animation is never updated, some animations[*] are never finished, the actor remains marked busy forever, and the command queue fills up.

 

[*] apparently most of the animations can be finished in some other way, but the sit_down and stand_up commands don't. Why is still a mystery to me.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×