fabianschuiki / OpenSkyscraper

Open source tower simulation game inspired by SimTower.
openskyscraper.org
GNU General Public License v2.0
574 stars 68 forks source link

Game crashes when janitor cant find route #7

Open vladimir1986 opened 13 years ago

vladimir1986 commented 13 years ago

Testing the game, I realized a sudden crash. The output is: <hotel/janitor 0x4058280> updateRoute: *\ can't find route from ((0, 0), (0, 1)) to ((-12, 1), (15, 1))!

janitor.cpp:134: virtual void OSS::Classic::Janitor::think(): Assertion `getAssignedHotel()' failed. Aborted

Checked the code in /source/game/classic/people/individuals in think function and getassignedhotel, to find the case it cant find the destination is now yet written (but i lack the c++ knowedge to do so). I also checked the elevators code...

I assume other situations when a person cant do a route, also crashes the game

fabianschuiki commented 13 years ago

The FacilityItem class is not yet checking whether it is accessible from the ground lobby or whether it can access another item. This is why janitors are called to hotel rooms for cleaning that are actually not accessible to them, which eventually leads to this assertion breaking. We have to fix this soon :)

vladimir1986 commented 13 years ago

I am sorry that i am learning C++ from scratch with your project :P

fabianschuiki commented 13 years ago

:D Never mind, I've learned it the same way. University started again, so the project is progressing rather slowly at the moment unfortunately…