Unknown compilation error at a place in the code that is not erroneous.
The errors below only occur if the following file is included:
/obj/item
var/maker_cost = list(null = 20, "iron" = 1000) // null: build time
/obj/item/stack
maker_cost = null
/obj/item/stack
rods maker_cost = list(null = 20, "iron" = 300)
cable_coil maker_cost = list(null = 15, "iron" = 250)
/obj/item/stack/medical
bruise_pack maker_cost = list(null = 30, "bicaridine" = 50)
ointment maker_cost = list(null = 35, "dermaline" = 50)
/obj/item/stack/sheet
metal maker_cost = list(null = 25, "iron" = 2000)
plasteel maker_cost = list(null = 40, "plasteel" = 2000) // maker reagent
glass maker_cost = list(null = 20, "glass" = 2000)
rglass maker_cost = list(null = 30, "rglass" = 2000) // maker reagent
cardboard maker_cost = list(null = 10, "cardboard" = 1000) // maker reagent
cloth maker_cost = list(null = 15, "cloth" = 1000) // maker reagent
leather maker_cost = list(null = 25, "leather" = 1000) // maker reagent
xenochitin maker_cost = list(null = 30, "xenol" = 1000) // maker reagent
/obj/item/stack/sheet/mineral
clown maker_cost = list(null = 100, "bananium" = 2000) // maker reagent
diamond maker_cost = list(null = 100, "diamond" = 1000) // maker reagent
gold maker_cost = list(null = 30, "gold" = 1000)
plasma maker_cost = list(null = 50, "splasma" = 2000) // maker reagent
sandstone maker_cost = list(null = 60, "sandstone" = 1500) // maker reagent
silver maker_cost = list(null = 30, "silver" = 1000)
uranium maker_cost = list(null = 30, "uranium" = 500)
wood maker_cost = list(null = 50, "wood" = 1000) // maker reagent
/obj/item/stack/tile
carpet maker_cost = list(null = 150, "carpet" = 50) // maker reagent
grass maker_cost = list(null = 150, "grass" = 50) // maker reagent
light maker_cost = list(null = 250, "iron" = 150, "glass" = 250)
plasteel maker_cost = list(null = 150, "iron" = 500)
wood maker_cost = list(null = 150, "wood" = 250) // maker reagent
The lines giving errors all follow the following pattern:
non\adjacent\file.dm:74:error: =: expected 2 arguments (found 4)
The erronous line in that file:
/obj/item/stack/medical/bruise_pack
name = "bruise pack" // this line
singular_name = "bruise pack"
In every case, it is the first line after a full path, that full path is one of the paths modified in the file above, and coincidentally in each case it is a name= line. The error is the same in all cases (expected 2 arguments (found 4)). It appears to exist for all lines in that file but I will double check that.
Numbered Steps to Reproduce Problem:
See below
Expected Results:
Sane compilation of highly nonstandard code which I intend to merge later
Actual Results:
I am honestly not sure what is even going on here
Does the problem occur:
Every time? Or how often? Happens when the code is compiled in the full project. If that file is not included, the errors disappear. (the missing variable must be re-added elsewhere for compilation, but it does compile) In a test project with just that code, compilation works.
On other computers? not tested
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Unknown
Workarounds:
Unknown at this time
--
I appreciate that this bug report is not terribly helpful, but I thought giving you a heads up about it would be preferable to never mentioning it.
What is baffling about the bug to me is that the error given is miles away from the code that causes the fault, and makes not the slightest bit of sense. It seems to be a compiler glitch that I may simply need to work around.
This works fine for my purposes but I remain curious exactly what went wrong under the hood...
Edit:
In the small test project version, the project not only compiles properly but stores the values of maker_cost correctly for all object types.
Edit 2:
Aha! The test project compilation fails if the line giving the error occurs before the weirdly tabbed stuff, but succeeds if it comes afterwards. That's odd...