Bugs

Bugs

Postby Skorpio » 14 Mar 2010, 20:25

I can't drop creatures that I've picked up anymore in the new version, and I can't pick up orcs and dwarves at all.

And the game almost always crashes when I dig out walls, I mean before the walls are dug out. The kobolds move to the walls and then it crashes. It has worked only one time. I had this problem already with the old versions, but forgot to report it.

Is it actually possible to remove walls in the editor or can I only place new ones?
User avatar
Skorpio
OD Moderator
 
Posts: 775
Joined: 05 Dec 2009, 18:28

Re: Bugs

Postby andrewbuck » 14 Mar 2010, 20:55

You can remove walls in the editor. The "r" and "t" buttons control the tile type and fullness. See the game controls page on the wiki for the full list of controls. You can only pick up creatures that are on your team, in the level file I shipped with the new executable the Knights, kobolds, and dragons are your creatures; whereas the dwarves, orcs, and kreaturs are enemies.

You can drop kobolds on tiles you have claimed, or the dirt, but not on the enemy claimed tiles to the right. You can only drop the other creatures on tiles you own. I'm not sure why the game would crash when you dig out tiles. I can look into it but it may be a while since the windows build environment still doesn't allow me to debug the game. :(

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Bugs

Postby Skorpio » 14 Mar 2010, 21:06

andrewbuck {l Wrote}:You can only pick up creatures that are on your team, in the level file I shipped with the new executable the Knights, kobolds, and dragons are your creatures; whereas the dwarves, orcs, and kreaturs are enemies.

-Buck


Aha good to know. BTW we've got to find a name for the Kreatur (the tentacle monster). ;)
User avatar
Skorpio
OD Moderator
 
Posts: 775
Joined: 05 Dec 2009, 18:28

Re: Bugs

Postby andrewbuck » 14 Mar 2010, 21:09

I kind of like Kreatur actually. I assume it just means creature, but its a neat name.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Bugs

Postby Bodsda » 15 Mar 2010, 02:04

To keep everyone up to speed, here is the current TODO list.

{l Code}: {l Select All Code}
--------------- BUGS: ---------------
+  When the terminal command "load" is executed if the loaded level is from a
+  different version of OpenDungeons than the current game the game will print
+  an error message to the terminal and quit, this should be handled more
+  gracefully.
+
*  fix keyboard repeat issue (when the game crashes keyboard repeat is disabled
*  but the OS still thinks it's on, turning it off and then back on again
*  restores the functionality).  This seems to be a bug in OIS so there might
*  not be anything we can do about it.

*  Fix crash on loading a new map from the server, I think it has to do with
*  getting peices of messages in a single packet.  This assumption may or may
*  not be true, it may be that the RenderQueue is somehow processing the
*  addDestination message before the createMesh message.

*  The GameMap::cutCorners() function sometimes causes creatures to walk
*  through walls, this could be a problem with the lineOfSight function.
*  Actually I think it has to do with Creature::positionTile(), this is mostly
*  fixed although positionTile() may still need some work.  I think that this
*  is fixed now.

+  The client has code to handle when messages are split across packets, but
+  the server does not.  This needs to be added.
+
+  when the terminal becomes active if a key is held down the keyup message
+  gets caught by the terminal and the key is "stuck" down.
+
*  Client and server need to negiotiate and set a color for the newly connected
*  client.

*  Visual debugging entities for creatures dissappear after a short time.

+  Make the terminal "host" command automatically close the terminal.
+
*  When creatures are in the state CreatureAction::maneuver, they sometimes get
*  "stuck" behind an obstacle since they only locally follow the field
*  gradient.  This can be fixed by making them make use of GameMap::path() to
*  find a good path to the destination and sticking with it far enough to get
*  them to their destination.  I have partially fixed this by making the
*  creatures push a walkToTile action to their actionQueue to force them to
*  walk a ways but they could still get stuck in a "big" local minima.

*  When the game exits, many items are placed into the render queue to be
*  deleted, etc.  However, the game exits before calling
*  ExampleFrameListener::startFrame() one last time.  Some kind of mechanism
*  must be put in place to call frameStarted again to flush the render queue so
*  everything is properly freed up.

*  When the game exits during a match with lots of creatures who can see
*  enemies the game will segfault in the Creature::getReachableCreatures()
*  function because the tile that a given creature is standing on
*  (creatureTile) gets deleted from the game map and thus when the query is
*  done it returns NULL.

+  Creature class descriptions don't need to include the ".mesh" on their
+  meshName in the level file since the game engine could just add this itself
+  like it does for rooms, etc.
+
+--------------- FEATURE ADDITIONS: ---------------
+  When doing the floodfill, instead of taking an argument of tile passability,
+  use the passibility of the tile where the fill started.
+
+  Overload the GameMap::path() command to allow the calculation paths between a
+  pair of creature, a creature and a tile,  etc, do the same for other functions?
+
+  Add a parameter to the GameMap class to store the name of the map that was
+  loaded and make the terminal commands load/save automatically use this name
+  unless another level name is provided.
+
+  When a level is loaded the number of tiles, classes, and creatures loaded is
+  displayed, make this also display the number of MapLights, etc.  Possibly
+  make the save command do the same.
+
+  Add a vector of failedGoals to the Seat class similar to completedGoals.
+
+  Add a vector of sub goals to the Goal class which are added to the queue
+  after the given goal is completed.
+
+  Add a function and a datamember to the Creature class to go into a specified
+  animation state when the walk queue becomes empty.
+
*  Add tile colors to the level file and network protocols.

*  Add a seperate thread to generate a pool of 5000 or so random numbers for
*  use when needed and make the randomDouble, etc. functions consumers on this pool.

*  Begin phasing out snprintf since it is not portable.

*  Add a terminal command 'chathelp' which will lookup a help message and then
*  chat it to the people in the game, to allow for showing people how to do stuff.

*  Make the HP loaded by the creature class the max HP and make the creature IO
*  read/write the current HP.

*  implement history on the terminal.
*  implement line editing on the terminal.
   Both of these will be fixed by moving to a better terminal, see:
   http://www.ogre3d.org/wiki/index.php/CodeSnippits#Console

+  Add a keyboard controls help message under "help keys".
+
*  add a flyTo method to make the camera fly to a particular location (and
*  orientation?).

*  Store creature classes and class descriptions in maps rather than vectors to
*  allow for faster lookups.

*  Add play, pause, and single turn commands to the terminal to aid in AI
*  debugging.

*  Add a terminal command to set the number of chat messages and the time to
*  display them for (both as one command maybe).

*  Overload the << operator on the Player class, do the same for all the
*  others.  This is already done I think, at least for most classes.

+  Add upkeep rounds to the GameMap::doTurn() method.  This is also somewhat
+  complete although mana, etc, still need to be added.
+
*  Create various levels of quality for each mesh and make a RenderRequest that
*  switches to new meshes when some criteria is met (use something stable like
*  num items onscreen at once to avoid churning between mesh detail levels, or
*  change the meshes one at a time and re-evaluate).  It looks like OGRE has a
*  built in mechanism to do this dynamically.

*  Test limiting the number of render requests that can be handled per frame,
*  initial tests did not seem encouraging so maybe this is a bad idea.

+  Add terminal commands to set the max number and max display time of chat
+  messages.
+
*  Color chat messages with the color of the player who sent them.

*  Make use of std::set instead of std::vector where appropriate.

 ---------------

*  Fix the issue with Mouse move.

*  find out about separate subtraction and multiply issue in
*  ExampleFrameListener::mouseMoved(const OIS::MouseEvent &arg)

 ---------------

*  make camera center stay focused on the same point and rotate around it
*  rather than rotating the camera around a fixed point.

*  add a disconnect command to stop the running client or server thread.

bod@bod-linux:~/opendungeons$



The ones prefixed with '+' will be looked at by myself, and the ones with '*' will be looked at by AndrewBuck - of course, if anyone would like to help, please feel free.

Bodsda
User avatar
Bodsda
OD Moderator
 
Posts: 195
Joined: 18 Feb 2010, 08:19

Re: Bugs

Postby Skorpio » 30 Mar 2010, 15:21

The editor crashes if I move a light and then click on a wall. If I place a wall tile on an empty ground tile, I can click on walls again.

I've re-exported all the tiles, but I'm not sure if this bug was already there before I did that. You mentioned that you replaced/copied some of the tiles, so maybe that has something to do with it.
User avatar
Skorpio
OD Moderator
 
Posts: 775
Joined: 05 Dec 2009, 18:28

Re: Bugs

Postby andrewbuck » 30 Mar 2010, 21:01

There are several meshes missing from the list you export, for each type there should be a "104" and a "105". So there should be Rock105.mesh, Dirt105.mesh, etc. You can just make copies of the 104 meshes and name them to 105 for now (I don't remember specifically what they are used for but the game will crash without them).

If the crash isn't from this it may or may not have already been fixed. I will try to reproduce it later tonight though if I think of it.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Bugs

Postby andrewbuck » 31 Mar 2010, 00:24

Skorpio {l Wrote}:The editor crashes if I move a light and then click on a wall. If I place a wall tile on an empty ground tile, I can click on walls again.


I can't seem to reproduce this in the current build of the game (at least not on my computer anyway). It is probably either the mesh issue described above, or it was something I already fixed between building the windows code and now. If you still have this bug in the next release of the code let me know and I will give it some further investigation.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Who is online

Users browsing this forum: No registered users and 1 guest