The game freezes when the player character approaches the Unremarkable cave boss.
Actual result.
The game freezes and the screen starts to flicker when the player character approaches a "room" with Krogar and Fillarel.
Expected result.
The game doesn't freeze.
Steps to reproduce.
1. Enable Developer Mode.
2. Create a character: Cornac Anorithil.
3. Exit to World map and go to Unremarkable cave. Teleport over any orc patrol with Ctrl+LMB.
4. Kill enemies with Ctrl+Shift+RMB. Proceed towards the room with the boss, but do not enter it (don't trigger the quest).
5. Save the game and make a back up copy of it. Move the mouse cursor somewhere inside the room and press LMB.
Game version.
1.5.10 for windows from ToME site.
Comment.
Moving the character with keyboard, moving to adjacent tiles with mouse, teleportation rune don't seem to cause the issue.
Commenting out line 1214 self:playerFOV() in ..\mod\class\Player.lua seems to fix the issue.
Is it necessary? Doesn't runMoved() (line 1204 in the same file) cover that already?
Log.
Code: Select all
Astar fail: destination unreachable
Astar fail: destination unreachable
=== nil nil
[QUEST] given to table: 0xNNNNNNNN strange-new-world
[LOG] #LIGHT_GREEN#Accepted quest 'Strange new world'! #WHITE#(Press 'j' to see the quest log)
*[CHAT] loaded welcome table: 0x1e10bdf0
*[LOG] Ran for 1 turns (stop reason: chat started).
*=== nil nil
...
[CHAT] loaded welcome table: 0x0199a968
[LOG] Ran for 1 turns (stop reason: chat started).
Lua Error: /engine/Map.lua:560: stack overflow
At [C]:-1
At /engine/Map.lua:560 map
At /mod/class/Player.lua:573
At [C]:-1 calc_circle
At /mod/class/Player.lua:570 playerFOV
At /mod/class/Player.lua:1214 runStopped
At /engine/interface/PlayerRun.lua:380 runStop
At /mod/class/Player.lua:781 onChat
At /engine/Chat.lua:105 invoke
At /data/zones/unremarkable-cave/npcs.lua:88
^ At [C]:-1 calc_default_fov
^ At /engine/interface/ActorFOV.lua:72 computeFOV
^ At /mod/class/Player.lua:645 playerFOV
^ At /mod/class/Player.lua:1214 runStopped
^ At /engine/interface/PlayerRun.lua:380 runStop
^ At /mod/class/Player.lua:781 onChat
^ At /engine/Chat.lua:105 invoke
^ At /data/zones/unremarkable-cave/npcs.lua:88
...
At [C]:-1 calc_default_fov
At /engine/interface/ActorFOV.lua:72 computeFOV
At /mod/class/Player.lua:645 playerFOV
At /mod/class/Player.lua:1205 runMoved
At /engine/interface/PlayerRun.lua:138 runStep
At /engine/interface/PlayerRun.lua:106 runFollow
At /engine/interface/PlayerMouse.lua:87 mouseMove
At /engine/interface/PlayerMouse.lua:141 mouseHandleDefault
At /mod/class/Game.lua:2478 fct
At /engine/Mouse.lua:58
...
The part marked with ^ repeats itself over about 5000 lines. The last part changes in the next loop to
Code: Select all
At [C]:-1 calc_default_fov
At /engine/interface/ActorFOV.lua:72 computeFOV
At /mod/class/Player.lua:645 playerFOV
At /mod/class/Game.lua:1730 updateFOV
At /mod/class/Game.lua:1761 displayMap
At /mod/class/uiset/Minimalist.lua:1947 display
At /mod/class/Game.lua:1856