Forum: PogamutUT2004

Hi!

Are you working with SVN version?

How often are you getting this warning?

The SVN version has received a fixed (3-4 weeks ago) for that.
There was a racing-conditions bug associated with weapon descriptors and missing GameInfo object inside Game module.
After the fix I've created a test case that is starting/terminating the bot over and over again to rule out this behavior (it is testing around 2000 bot runs)
and the test case is currently succeeding.

Cheers!

Jimmy
So far, I've just been downloading individual files when I've needed to fix small bugs in Pogamut. However, I would like to move to using the SVN, since a lot of changes are happening, and it looks like trying to download the right files just to fix this one bug would be very difficult.

However, Pogamut seems to consist of at least 3 different projects, and the SVN contains even more than that. Assuming that all I want to do is basically replace the files you get with the stable Pogamut 3.1 download with the latest from the SVN, and I also want to stay up to date, what is the best way to organize my projects to do this? What projects/portions of projects do I need to get?
You need to checkout only three projects to make a pogamut bot work in UT2004. They are:

- PogamutCore located in svn://amis.mff.cuni.cz/pogamut/trunk/project/Core
- PogamutUnreal located in svn://amis.mff.cuni.cz/pogamut/trunk/project/PogamutUnreal
- PogamutUT2004 located in svn://amis.mff.cuni.cz/pogamut/trunk/project/PogamutUT2004

Add these projects to your projects libraries (Add a project...)

Also you will need several libraries. Add all .jars from svn://amis.mff.cuni.cz/pogamut/trunk/project/Core/libs to your project (Add jar/folder)

Then you should be able to compile your project and make changes to PogamutUT2004/Core.

If you would have any problems making this work, just write and I'll send you an example project of a bot working on svn version.

BTW: In current repository version (3420) it is not possible to compile PogamutUT2004 project (due to a partial commit). For now use version 3393, which is ok. The bug will be fixed soon (you will see it in svn log).

Best,
Michal
I'm using the latest SVN of Pogamut, and I'm still getting errors like this:

(UT^2) WARNING 18:07:00.722 getCurrentWeapon(): There is no weapon descriptor for current bot's weapon of id: 'DM-1on1-Desolation.RocketLauncher'

for several weapons.
I still haven't solved this, but I did confirm that at the point where the warning occurs, the Collection
inventoryUnrealIdToWeaponDescriptor really doesn't contain the desired weapon. Of course, it doesn't make sense for the weapon to be the current weapon if it's not in the bot's inventory, so there is a problem.
That's weird. I was speaking about this with Jakub last week and he thought he solved it.. Seems there is some caveat there. We will look into this next week.

Best,
Michal
Good to know.

In the meantime, here's a little more information: I put in some println command at key points, and it seems that these warnings are usually (always?) preceded by the notify method of the BotKilled listener being called. This method clears the contents of inventoryUnrealIdToWeaponDescriptor , which makes sense. The warnings usually happen after this.

I think this is because the Self class is not giving up information about the current weapon when the bot dies. The getCurrentWeapon method uses the weapon that the Self class says the bot is using to look up information in inventoryUnrealIdToWeaponDescriptor .

So, while it makes sense that the bot no longer has, for example, a Rocket Launcher, immediately after being respawned, it doesn't make sense that the Self class still thinks the bot has this weapon.