---
# System prepended metadata

title: tgstation on OpenDream

---

# tgstation on OpenDream

using tgstation as a smoke test for usability for WhiteShip14.
tgstation can compile with >1k warnings, but fails to run.

## Compile Errors

These can be worked around, I have changes that do so.

1. DMCompiler still doesn't like newlines before `...` in argument lists
2. Label scoping is still an issue (see: https://github.com/OpenDreamProject/OpenDream/issues/360)

### Compile Warnings

These will probably be deeper problems during client/server runtime.
1. planes aren't implemented
2. `pixel_(x|y|z|w)` aren't implemented
3. `locs` isn't implemented

## Runtime Errors

These are in the runtime proper and cause deeper issues.

1. modified types like below aren't implemented: 
```
/obj/effect/spawner/random/decoration/material
    name = "decoration material spawner"
    icon_state = "tile"
    loot = list(
        /obj/item/stack/sheet/sandblock{amount = 30} = 25,
        /obj/item/stack/sheet/mineral/wood{amount = 30} = 25,
        /obj/item/stack/sheet/bronze/thirty = 20,
        /obj/item/stack/tile/noslip{amount = 20} = 10,
        /obj/item/stack/sheet/plastic{amount = 30} = 10,
        /obj/item/stack/tile/pod{amount = 20} = 4,
        /obj/item/stack/tile/pod/light{amount = 20} = 3,
        /obj/item/stack/tile/pod/dark{amount = 20} = 3,
    )
```

2. `isloc` with null argument causes NRE instead of returning false.
3. `/datum/parsed_map/proc/build_coordinate` has a NRE with the `crds` turf because the location is null.
4. `build_reagents_to_food` uses `initial` on types to build reagent list, which is unimplemented, throws NRE