ID:2134946
 
I'm trying to use the darke_MapMaker library and I keep getting 8 errors.

Code\MapGen.dm:59:error: makerooms: invalid expression
Code\MapGen.dm:69:error: FillPoints: invalid expression
Code\MapGen.dm:70:error: borderlist: invalid expression
Code\MapGen.dm:125:error: floorcount: invalid expression
Code\MapGen.dm:126:error: floorcount: invalid expression
Code\MapGen.dm:136:error: floorcount: invalid expression
Code\MapGen.dm:137:error: floorcount: invalid expression
Code\MapGen.dm:144:error: checkcolumn: invalid expression
Code\MapGen.dm:62:warning: start: variable defined but not used

Is there someone who can point me in the right direction, the problem seems to be with the library as I have opened it in a separate DM instance and tried to run the demo that comes with it and the same errors are given.

if(mapreport)
world << "Making Map ([LoX],[LoY].[Z])-([HiX],[HiY],[Z])\
\tNodes:
[matrix.maxX]x[matrix.maxY]"
if(roomX && roomY) matrix.makerooms()
var/list/border = list()
var iteration = 0
var/mappoint/start = matrix.MapGrid[2][2]
var/mappoint/rn
var/mappoint/point

----------

do // while(border.len)
iteration++
// world << matrix.Z
matrix.FillPoints(start)
border = matrix.borderlist()
if(border.len)
// world << "."
// world << "[border] len [border.len]"
rn = border[rand(1,length(border))]

if(prob(passagechance))
rn.maptype = MAP_PASSAGE
else
rn.maptype = MAP_EMPTY

if(rn.X > 1)
point = matrix.MapGrid[rn.X-1][rn.Y]
if(point.link) start = point
if(rn.X < matrix.SizX)
point = matrix.MapGrid[rn.X+1][rn.Y]
if(point.link) start = point
if(rn.Y > 1)
point = matrix.MapGrid[rn.X][rn.Y-1]
if(point.link) start = point
if(rn.Y < matrix.SizY)
point = matrix.MapGrid[rn.X][rn.Y+1]
if(point.link) start = point

while(border.len)

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




switch(nodetype)
if(0) // node
HX = round(X/2)*(nodeX+1)
LX = HX - nodeX +1
HY = round(Y/2)*(nodeY+1)
LY = HY - nodeY +1
if(1) // horizontal strip
HX = round(X/2)*(nodeX+1)
LX = HX - nodeX +1
LY = round(Y/2)*(nodeY+1)+1
HY = LY
PX = rand(LX,HX)
PY = 0
if((checkpassage) && (point.maptype == MAP_PASSAGE))
if((matrix.floorcount(matrix.MapGrid[X-1][Y])==3)\
||(matrix.floorcount(matrix.MapGrid[X+1][Y])==3))
point.maptype = MAP_WALL
if(2) // vertical strip
LX = round(X/2)*(nodeX+1)+1
HX = LX
HY = round(Y/2)*(nodeY+1)
LY = HY - nodeY +1
PX = 0
PY = rand(LY,HY)
if((checkpassage) && (point.maptype == MAP_PASSAGE))
if((matrix.floorcount(matrix.MapGrid[X][Y-1])==3)\
||(matrix.floorcount(matrix.MapGrid[X][Y+1])==3))
point.maptype = MAP_WALL
if(3) // single space (column)
LX = round(X/2)*(nodeX+1)+1
HX = LX
LY = round(Y/2)*(nodeY+1)+1
HY = LY
if(clearcolumns) matrix.checkcolumn(point)


The code I have supplied is from a test i was trying where i pretty much copied and pasted into a new environment
removed the prefix "darke_" to see if that would work and ended up getting the same errors as the library alone.
At some point BYOND started using 'matrix' as a variable type, you're gonna have to change that to something else in the library.
Alright thanks, do you have any idea of what would be good to change to?
Anything really, you'd need to change it everywhere it's used of course.
alright thanks ill try out a few things.