mix doom.info (elixir_doom v0.1.0)

Copy Markdown View Source

Read the state table and thing definitions out of a GPL Doom source tree's info.c and write them as lib/elixir_doom/info.ex.

mix doom.info path/to/info.c

Every state becomes %{picture: {sprite, frame, bright?}, tics:, action:, next:} under its name as an atom (:s_troo_stnd), the shape Cauldron2D.States runs; actions are atoms (:a_look) or nil, and a next of nil ends the thing. Every thing type becomes a map under its name (:mt_troop) with its editor number, states, sounds as lump names ("DSPOSIT1"), speed, radius, height, mass, damage and flags as atoms.