From: Matthias T. <mt...@gm...> - 2006-01-06 18:58:06
|
>> Do you have a stack trace where the entity is created? I reviewed >> EntitySlot and found only one where new Entities are created: >> line 171: Entity entity = gameObjects.entityType(content); > > > > You have to observe Entity creation. I have left my protocols active in > the patch so you can follow them. Just open and close some Slot > containing window and you will see. Confirmed. These are cached now. >>> C. >>> To improve sound handling, could you please make it so that whenever >>> an instance of type "games.stendhal.client.entity.Entity" is >>> invalidated, a call to its "removed()" method occurs instantly? >>> Thanks on this one! >> >> >> >> It's already done this way. Only sync perceptions (when you change >> zones) doesn't call this method. Do you need them too? > > > Well, when I say "whenever" I mean "whenever"! ;) - In the meanwhile I > have found the appropriate source location, thanks! Cool down. I *do* have my reasons why I ask these questions. I reviewed your patch. You should stop all ambient sounds on sync perceptions, no matter what entity they belong to. Sync perceptions is something like "forget all you're done 'till now, start over with this new data". The entities may not perform any cleanup, they are simply thrown away. So something like SoundSystem.get().stopAllAmbientSounds() would be the better way (and faster too). > Attached please find the sound system patch and related files. I wished > I had done more for documentation, but I have to focus on other things > now. I hope you will find it interesting to watch the current state of > realization. Looks good. Documentation is ok too. > There are some remnants of the "windowing" patch in this patch as I was > unsure if they are of further use. A solution still seems pending. Yep, it's pending. The problem still needs a generic solution. > I am also sending this patch to Miguel. Perhaps you should give him your > comments and clearify who is going to work with it. Not good. We don't need 2 devs working on the same patch. There are some collaboration tools available at sourceforge. You should use these (so I'm forwarding the mail to the dev-mailing list). Regards Matthias |