mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 15:42:35 +00:00
Added require_all method to replace explicitly requiring every source file, added SoundManager and sound effects, added sound for shield/health regen
This commit is contained in:
125
i-mic-fps.rb
125
i-mic-fps.rb
@@ -20,118 +20,35 @@ end
|
||||
|
||||
Dir.chdir(File.dirname(__FILE__))
|
||||
|
||||
require_relative "lib/ext/numeric"
|
||||
require_relative "lib/ext/load_opengl"
|
||||
|
||||
include CyberarmEngine
|
||||
include OpenGL
|
||||
include GLU
|
||||
|
||||
require_relative "lib/version"
|
||||
require_relative "lib/constants"
|
||||
require_relative "lib/common_methods"
|
||||
def require_all(directory)
|
||||
files = Dir["#{directory}/**/*.rb"].sort!
|
||||
|
||||
require_relative "lib/trees/aabb_tree_debug"
|
||||
require_relative "lib/trees/aabb_tree"
|
||||
require_relative "lib/trees/aabb_node"
|
||||
begin
|
||||
failed = []
|
||||
first_name_error = nil
|
||||
|
||||
require_relative "lib/managers/input_mapper"
|
||||
require_relative "lib/managers/entity_manager"
|
||||
require_relative "lib/managers/light_manager"
|
||||
require_relative "lib/managers/network_manager"
|
||||
require_relative "lib/managers/collision_manager"
|
||||
require_relative "lib/managers/physics_manager"
|
||||
files.each do |file|
|
||||
begin
|
||||
require_relative file
|
||||
rescue NameError => name_error
|
||||
failed << file
|
||||
first_name_error ||= name_error
|
||||
end
|
||||
end
|
||||
|
||||
require_relative "lib/renderer/renderer"
|
||||
require_relative "lib/renderer/g_buffer"
|
||||
require_relative "lib/renderer/opengl_renderer"
|
||||
require_relative "lib/renderer/bounding_box_renderer"
|
||||
|
||||
require_relative "lib/states/game_state"
|
||||
require_relative "lib/ui/menu"
|
||||
|
||||
require_relative "lib/ui/command"
|
||||
require_relative "lib/ui/subcommand"
|
||||
Dir.glob("#{IMICFPS::GAME_ROOT_PATH}/lib/ui/commands/*.rb").each do |cmd|
|
||||
require_relative cmd
|
||||
if failed.size == files.size
|
||||
raise first_name_error
|
||||
else
|
||||
files = failed
|
||||
end
|
||||
end until( failed.empty? )
|
||||
end
|
||||
require_relative "lib/ui/console"
|
||||
require_relative "lib/ui/menus/main_menu"
|
||||
require_relative "lib/ui/menus/settings_menu"
|
||||
require_relative "lib/ui/menus/extras_menu"
|
||||
require_relative "lib/ui/menus/multiplayer_menu"
|
||||
require_relative "lib/ui/menus/level_select_menu"
|
||||
require_relative "lib/ui/menus/game_pause_menu"
|
||||
|
||||
require_relative "lib/states/game_states/boot"
|
||||
require_relative "lib/states/game_states/close"
|
||||
require_relative "lib/states/game_states/game"
|
||||
require_relative "lib/states/game_states/loading_state"
|
||||
|
||||
require_relative "lib/hud"
|
||||
require_relative "lib/hud/widget"
|
||||
require_relative "lib/hud/widgets/ammo"
|
||||
require_relative "lib/hud/widgets/radar"
|
||||
require_relative "lib/hud/widgets/health"
|
||||
|
||||
require_relative "lib/subscription"
|
||||
require_relative "lib/publisher"
|
||||
require_relative "lib/event"
|
||||
require_relative "lib/event_handler"
|
||||
require_relative "lib/event_handlers/input"
|
||||
require_relative "lib/event_handlers/entity_moved"
|
||||
require_relative "lib/event_handlers/entity_lifecycle"
|
||||
|
||||
require_relative "lib/scripting"
|
||||
require_relative "lib/scripting/sandbox"
|
||||
require_relative "lib/scripting/whitelist"
|
||||
|
||||
require_relative "lib/component"
|
||||
require_relative "lib/components/building"
|
||||
|
||||
require_relative "lib/game_objects/entity"
|
||||
require_relative "lib/game_objects/light"
|
||||
require_relative "lib/game_objects/particle_emitter"
|
||||
|
||||
require_relative "lib/game_objects/camera"
|
||||
require_relative "lib/game_objects/entities/player"
|
||||
require_relative "lib/game_objects/entities/skydome"
|
||||
require_relative "lib/game_objects/entities/terrain"
|
||||
|
||||
require_relative "lib/texture"
|
||||
require_relative "lib/model"
|
||||
require_relative "lib/model_cache"
|
||||
require_relative "lib/model/parser"
|
||||
require_relative "lib/model/model_object"
|
||||
require_relative "lib/model/material"
|
||||
|
||||
require_relative "lib/model/parsers/wavefront_parser"
|
||||
require_relative "lib/model/parsers/collada_parser"
|
||||
|
||||
require_relative "lib/map_parser"
|
||||
require_relative "lib/manifest"
|
||||
require_relative "lib/map"
|
||||
|
||||
require_relative "lib/scene"
|
||||
require_relative "lib/scenes/turn_table"
|
||||
|
||||
require_relative "lib/crosshair"
|
||||
require_relative "lib/demo"
|
||||
|
||||
require_relative "lib/networking/director"
|
||||
require_relative "lib/networking/packet_handler"
|
||||
require_relative "lib/networking/client"
|
||||
require_relative "lib/networking/server"
|
||||
require_relative "lib/networking/connection"
|
||||
|
||||
require_relative "lib/networking/backends/memory_server"
|
||||
require_relative "lib/networking/backends/memory_connection"
|
||||
|
||||
require_relative "lib/overlay"
|
||||
require_relative "lib/window"
|
||||
|
||||
require_relative "lib/tools/asset_viewer"
|
||||
require_relative "lib/tools/map_editor"
|
||||
require_all "lib"
|
||||
|
||||
# Don't launch game if IMICFPS_SERVER_MODE is defined
|
||||
# or if game is being packaged
|
||||
@@ -167,4 +84,4 @@ unless prevent_launch?[0]
|
||||
end
|
||||
else
|
||||
puts prevent_launch?[1]
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user