home
·
contact
·
privacy
projects
/
plomrogue
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Server/py: Undummify build_fov_map().
[plomrogue]
/
plomrogue-server.py
diff --git
a/plomrogue-server.py
b/plomrogue-server.py
index c6bdd44d2832817a93e1ef549c429eb00e3205d3..0ba6c07a7f4a7c141f0561c590448ccfcc4e5be9 100755
(executable)
--- a/
plomrogue-server.py
+++ b/
plomrogue-server.py
@@
-39,6
+39,9
@@
def prep_library():
libpr.result_y.restype = ctypes.c_uint8
libpr.result_x.restype = ctypes.c_uint8
libpr.set_maplength(world_db["MAP_LENGTH"])
libpr.result_y.restype = ctypes.c_uint8
libpr.result_x.restype = ctypes.c_uint8
libpr.set_maplength(world_db["MAP_LENGTH"])
+ libpr.build_fov_map.argtypes = [ctypes.c_uint8, ctypes.c_uint8,
+ ctypes.c_char_p, ctypes.c_char_p]
+ libpr.build_fov_map.restype = ctypes.c_uint8
return libpr
return libpr
@@
-537,7
+540,12
@@
def setter(category, key, min, max):
def build_fov_map(t):
"""Build Thing's FOV map."""
t["fovmap"] = bytearray(b'v' * (world_db["MAP_LENGTH"] ** 2))
def build_fov_map(t):
"""Build Thing's FOV map."""
t["fovmap"] = bytearray(b'v' * (world_db["MAP_LENGTH"] ** 2))
- # DUMMY so far. Just builds an all-visible map.
+ maptype = ctypes.c_char * len(world_db["MAP"])
+ test = libpr.build_fov_map(t["T_POSY"], t["T_POSX"],
+ maptype.from_buffer(t["fovmap"]),
+ maptype.from_buffer(world_db["MAP"]))
+ if test:
+ raise SystemExit("Malloc error in build_fov_Map().")
def decrement_lifepoints(t):
def decrement_lifepoints(t):
@@
-582,16
+590,16
@@
def actor_move(t):
if world_db["Things"][id]["T_POSY"] == libpr.result_y()
if world_db["Things"][id]["T_POSX"] == libpr.result_x()]
if len(hitted):
if world_db["Things"][id]["T_POSY"] == libpr.result_y()
if world_db["Things"][id]["T_POSX"] == libpr.result_x()]
if len(hitted):
- hitted = hitted[0]
- decrement_lifepoints(world_db["Things"][hitted])
+ hit_id = hitted[0]
hitter_name = world_db["ThingTypes"][t["T_TYPE"]]["TT_NAME"]
hitter = "You" if t == world_db["Things"][0] else hitter_name
hitter_name = world_db["ThingTypes"][t["T_TYPE"]]["TT_NAME"]
hitter = "You" if t == world_db["Things"][0] else hitter_name
- hitted_type = world_db["Things"][hit
te
d]["T_TYPE"]
+ hitted_type = world_db["Things"][hit
_i
d]["T_TYPE"]
hitted_name = world_db["ThingTypes"][hitted_type]["TT_NAME"]
hitted_name = world_db["ThingTypes"][hitted_type]["TT_NAME"]
- hitted = "you" if hit
ted == world_db["Things"][0]
else hitted_name
+ hitted = "you" if hit
_id == 0
else hitted_name
verb = " wound " if hitter == "You" else " wounds "
strong_write(io_db["file_out"], "LOG " + hitter + verb + hitted + \
".\n")
verb = " wound " if hitter == "You" else " wounds "
strong_write(io_db["file_out"], "LOG " + hitter + verb + hitted + \
".\n")
+ decrement_lifepoints(world_db["Things"][hit_id])
return
dir = [dir for dir in directions_db
if directions_db[dir] == t["T_ARGUMENT"]][0]
return
dir = [dir for dir in directions_db
if directions_db[dir] == t["T_ARGUMENT"]][0]