Documentation
¶
Overview ¶
Package linefire embeds the shipped game data so the executable runs standalone, with no external files. The embed directive can only reach files under its own directory, which is why this lives at the module root beside gameassets/ and music/ rather than in cmd/linefire.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Content ¶
Content is the embedded game data: gameassets/ (player, enemies, power-ups and the map*.lfm campaign) and music/ (the MP3 themes). Names resolve the same way they do on disk — "gameassets/map0001.lfm", "music/One_Heart_Remaining.mp3" — so the game's fs.FS reads are identical whether they hit this bundle or a directory.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package asset defines the Linefire vector asset model and its JSON representation.
|
Package asset defines the Linefire vector asset model and its JSON representation. |
|
cmd
|
|
|
linefire
command
Command linefire is the Linefire game runtime.
|
Command linefire is the Linefire game runtime. |
|
linefire-edit
command
Command linefire-edit is the Linefire editor: a single window that edits stage (level) files and, via a mode switch, the vector assets they reference.
|
Command linefire-edit is the Linefire editor: a single window that edits stage (level) files and, via a mode switch, the vector assets they reference. |
|
linefire-svg2map
command
Command linefire-svg2map imports an SVG drawing as a Linefire map's walls: draw the level geometry in Inkscape/Figma/Illustrator, run this, and hand-finish the header and spawns in the emitted .lfm.
|
Command linefire-svg2map imports an SVG drawing as a Linefire map's walls: draw the level geometry in Inkscape/Figma/Illustrator, run this, and hand-finish the header and spawns in the emitted .lfm. |
|
linefire-ui-demo
command
Command linefire-ui-demo is a sandbox for the ui package: a panel with a label, a button and an editable text field, so the immediate-mode toolkit can be exercised on its own before it is wired into the editors.
|
Command linefire-ui-demo is a sandbox for the ui package: a panel with a label, a button and an editable text field, so the immediate-mode toolkit can be exercised on its own before it is wired into the editors. |
|
Package config is the model for the player's personal settings — today the audio volume and mute plus speedrun best times — kept separate from assets, levels and saves.
|
Package config is the model for the player's personal settings — today the audio volume and mute plus speedrun best times — kept separate from assets, levels and saves. |
|
Package editapp hosts the Linefire map and asset editors in a single window.
|
Package editapp hosts the Linefire map and asset editors in a single window. |
|
Package editor implements the minimal Linefire vector editor: an ebiten game with a large drawing canvas on the left and a real-size preview plus a properties panel on the right.
|
Package editor implements the minimal Linefire vector editor: an ebiten game with a large drawing canvas on the left and a real-size preview plus a properties panel on the right. |
|
Package editorkit holds editor primitives shared by the asset editor and the map editor: a pan/zoom camera, a dot-grid renderer and a generic undo/redo history.
|
Package editorkit holds editor primitives shared by the asset editor and the map editor: a pan/zoom camera, a dot-grid renderer and a generic undo/redo history. |
|
Package effects is Linefire's particle system: one pool that drives every cosmetic spray in the game — explosions, sparks, exhaust, debris — and the presets that describe them.
|
Package effects is Linefire's particle system: one pool that drives every cosmetic spray in the game — explosions, sparks, exhaust, debris — and the presets that describe them. |
|
Package filoio reads and writes Linefire's documents in the Filo language.
|
Package filoio reads and writes Linefire's documents in the Filo language. |
|
Package game is the Linefire runtime: it loads a player asset and a level and runs a minimal ship-in-a-world prototype.
|
Package game is the Linefire runtime: it loads a player asset and a level and runs a minimal ship-in-a-world prototype. |
|
Package icon draws an application's face out of the game's own art.
|
Package icon draws an application's face out of the game's own art. |
|
Package level defines the Linefire stage (phase) format.
|
Package level defines the Linefire stage (phase) format. |
|
Package loot is the drop table: what a slain ship leaves behind, and how often.
|
Package loot is the drop table: what a slain ship leaves behind, and how often. |
|
Package mapeditor implements the Linefire stage (phase) editor: a top-down 2D world editor for walls, the player start, enemy/power-up spawns and trigger zones.
|
Package mapeditor implements the Linefire stage (phase) editor: a top-down 2D world editor for walls, the player start, enemy/power-up spawns and trigger zones. |
|
Package procgen generates the Linefire procedural map as a grid of chunks.
|
Package procgen generates the Linefire procedural map as a grid of chunks. |
|
Package render draws Linefire assets with the ebiten vector package.
|
Package render draws Linefire assets with the ebiten vector package. |
|
Package sfx holds Linefire's pure sound-synthesis helpers over gion, shared by the game runtime and the editors so a previewed sound is exactly the played one.
|
Package sfx holds Linefire's pure sound-synthesis helpers over gion, shared by the game runtime and the editors so a previewed sound is exactly the played one. |
|
Package ship holds the profiles that make one hull fly differently from another: how much it takes, how far it sees, how fast it moves and shoots, and the range it likes to hold.
|
Package ship holds the profiles that make one hull fly differently from another: how much it takes, how far it sees, how fast it moves and shoots, and the range it likes to hold. |
|
Package svgimport turns an SVG drawing into map wall outlines, so a level's geometry can be drawn in Inkscape/Figma/Illustrator and imported instead of typed by hand.
|
Package svgimport turns an SVG drawing into map wall outlines, so a level's geometry can be drawn in Inkscape/Figma/Illustrator and imported instead of typed by hand. |
|
Package weapon is Linefire's weapon catalogue: what each weapon does, how often it can be used, what its shots look like and what they cost the target.
|
Package weapon is Linefire's weapon catalogue: what each weapon does, how often it can be used, what its shots look like and what they cost the target. |
Click to show internal directories.
Click to hide internal directories.
