Module: Doom

Defined in:
lib/doom.rb,
lib/doom/hud.rb,
lib/doom/game.rb,
lib/doom/window.rb,
lib/doom/version.rb,
lib/doom/renderer.rb,
lib/doom/map_loader.rb,
lib/doom/wad_loader.rb,
lib/doom/bsp_renderer.rb,
lib/doom/sprite_loader.rb,
lib/doom/texture_loader.rb,
lib/doom/texture_mapper.rb,
lib/doom/sprite_renderer.rb

Defined Under Namespace

Classes: BSPRenderer, Error, Game, HUD, MapLoader, Renderer, SpriteLoader, SpriteRenderer, TextureLoader, TextureMapper, WADLoader, Window

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.load_wad(filename) ⇒ Hash

Load a WAD file and return loaders for its components

Parameters:

  • filename (String)

    path to the WAD file

Returns:

  • (Hash)

    hash containing the various loaders



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/doom.rb', line 22

def self.load_wad(filename)
  wad_loader = WADLoader.new(filename)
  map_loader = MapLoader.new(wad_loader)
  texture_loader = TextureLoader.new(wad_loader)
  sprite_loader = SpriteLoader.new(wad_loader)

  {
    wad: wad_loader,
    maps: map_loader,
    textures: texture_loader,
    sprites: sprite_loader
  }
end

.start_game(wad_file, map_name = nil, width = 640, height = 480, fullscreen = false) ⇒ Object

Start the game with the given WAD file

Parameters:

  • wad_file (String)

    path to the WAD file

  • map_name (String) (defaults to: nil)

    name of the map to start on (optional)

  • width (Integer) (defaults to: 640)

    width of the window (default: 640)

  • height (Integer) (defaults to: 480)

    height of the window (default: 480)

  • fullscreen (Boolean) (defaults to: false)

    whether to start in fullscreen mode (default: false)



42
43
44
45
# File 'lib/doom.rb', line 42

def self.start_game(wad_file, map_name = nil, width = 640, height = 480, fullscreen = false)
  game = Game.new(wad_file, width, height, fullscreen)
  game.start(map_name)
end