-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Landblocks, logging, object factory prep work #121
Conversation
75ec1fb
to
f48c4c2
Compare
2c53932
to
4286056
Compare
Known Issue: Adjacency matrix has issues broadcasting to the correct adjacencies. Shouldn't be a big deal - I'll fix it later. |
* reverted unintentional changes * object factories, log4net, and various refactorings. still getting stuck in portal space occasionally. * rebased with latest changes, add removal of players from landblocks upon logout (i think)
…ic bug fix in Landblock.
4286056
to
b4640e8
Compare
Landblock.cs, line 289. Needs to be changed from > to >= movedObjects = movedObjects.Where(p => p.LastUpdatedTicks > p.LastMovementBroadcastTicks).ToList(); // flag them as updated now in order to reduce chance of missing an update What's happening is a player is moving on the same PortalYearTick, right before Landblock.UseTime is called. When this happens, the > fails, and the cobject isn't processed as a move. That move gets skipped over. Even though you set the LastMove to PortalYearTicks to indicate the object as processed, the next time UseTime is called, it's impossible for PortalYearTicks to have the same value as the previous call, thus, the >= won't be called in duplicate/error. |
Landblock.cs UseTime() needs a Thread.Sleep(1) as the last line of the While() loop. We also have variables that are being referenced across multiple threads. WorldObject.LastUpdateTicks and MutableWorldObject.LastMovementBroadcastTicks... I'm gonna think about this some more today. |
there are a lot of // TODO comments all over this thing.
here's what I know works:
/telepoi town1
/createlifestone
/telepoi town2
/telepoi town1
... and the lifestone is still there.
Features:
Known Issues
Mag is showing up in the commit log because I squashed a commit with his name on it when attempting a rebase. Ended up just cherrypicking into a new branch.