home · contact · privacy
Server, plugin: Fix buggy passing of strings to C library.
[plomrogue] / server / build_fov_map.py
index 11c63826d6564ebc206cd373f0c27aeeec72a9fd..bc04e2e30c68383daded9792979c156273703f2f 100644 (file)
@@ -5,10 +5,11 @@
 
 def build_fov_map(t):
     """Build Thing's FOV map."""
-    from server.config.world_data import world_db
-    from server.utils import libpr, c_pointer_to_bytearray
+    from server.config.world_data import world_db, symbols_hide
+    from server.utils import libpr, c_pointer_to_bytearray, c_pointer_to_string
     t["fovmap"] = bytearray(b'v' * (world_db["MAP_LENGTH"] ** 2))
     fovmap = c_pointer_to_bytearray(t["fovmap"])
-    map = c_pointer_to_bytearray(world_db["MAP"])
-    if libpr.build_fov_map(t["T_POSY"], t["T_POSX"], fovmap, map):
+    m = c_pointer_to_bytearray(world_db["MAP"])
+    hide_string = c_pointer_to_string(symbols_hide)
+    if libpr.build_fov_map(t["T_POSY"], t["T_POSX"], fovmap, m, hide_string):
         raise RuntimeError("Malloc error in build_fov_Map().")