Skip to content
Browse files

updated jme3 jar. fixed some loading errors. created new loading errors

  • Loading branch information...
1 parent 3ea6c51 commit 9da42643a4808288bb0ad3bbe03350f3a5898a11 @jwoertink committed Feb 20, 2012
View
3 Gemfile
@@ -1,9 +1,10 @@
source "http://rubygems.org"
gem 'theseus', :git => "git://github.com/jwoertink/theseus.git"
-gem "rawr"
+
group :development do
+ gem "rawr"
gem "rspec", "~> 2.3.0"
gem "bundler", "~> 1.0.0"
gem "jeweler", "~> 1.6.4"
View
BIN assets/Sound/Environment/lost.ogg
Binary file not shown.
View
BIN assets/quake3level.zip
Binary file not shown.
View
BIN assets/wildhouse.zip
Binary file not shown.
View
10 bin/maze_craze
@@ -0,0 +1,10 @@
+#!/usr/bin/ruby
+# -*- coding: utf-8 -*-
+
+require 'rubygems'
+$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
+require 'waves'
+require 'maze_craze/maze'
+
+Waves.echo("Booting Maze Craze", :green)
+Maze.new.start
View
0 lib/maze_craze/controllers/EndScreenController.java
No changes.
View
0 lib/maze_craze/controllers/HudScreenController.java
No changes.
View
0 lib/maze_craze/controllers/PauseScreenController.java
No changes.
View
58 lib/maze_craze/controllers/StartScreenController.java
@@ -0,0 +1,58 @@
+import com.jme3.app.Application;
+import com.jme3.app.SimpleApplication;
+import com.jme3.app.state.AbstractAppState;
+import com.jme3.app.state.AppStateManager;
+import de.lessvoid.nifty.Nifty;
+import de.lessvoid.nifty.screen.Screen;
+import de.lessvoid.nifty.screen.ScreenController;
+
+public class StartScreenController extends AbstractAppState implements ScreenController {
+
+ private Nifty nifty;
+ private Screen screen;
+ private SimpleApplication app;
+
+ /** custom methods */
+
+ public StartScreenController(Application app) {
+ /** You custom constructor, can accept arguments */
+ this.app = (SimpleApplication) app;
+ }
+
+ /** Nifty GUI ScreenControl methods */
+
+ public void bind(Nifty nifty, Screen screen) {
+ this.nifty = nifty;
+ this.screen = screen;
+ }
+
+ public void onStartScreen() { }
+
+ public void onEndScreen() { }
+
+ /** jME3 AppState methods */
+
+ @Override
+ public void initialize(AppStateManager stateManager, Application app) {
+ super.initialize(stateManager, app);
+ }
+
+ @Override
+ public void update(float tpf) {
+ /** jME update loop! */
+ }
+
+ public void startGame(String nextScreen) {
+ System.out.println("\n\n startGame called\n\n");
+ nifty.gotoScreen(nextScreen); // switch to another screen
+ // start the game and do some more stuff...
+ }
+
+ public void quitGame() {
+ System.out.println("\n\n quitGame called\n\n");
+ app.stop();
+ // TODO:
+ // find app instance variable @controller_path and delete that file.
+ }
+
+}
View
62 lib/maze_craze/imports.rb
@@ -0,0 +1,62 @@
+require 'rubygems'
+require 'java'
+require 'jruby/core_ext'
+require 'bundler'
+Bundler.require
+
+GAME_ROOT_PATH = File.expand_path(File.dirname(__FILE__))
+$CLASSPATH << File.join(GAME_ROOT_PATH, "java", "classes")
+
+$: << File.join(GAME_ROOT_PATH)
+
+require File.join(GAME_ROOT_PATH, '..', '..', 'vendor', 'jme3_2011-11-13.jar')
+
+java_import "com.jme3.app.SimpleApplication"
+java_import "com.jme3.system.AppSettings"
+java_import "com.jme3.system.NanoTimer"
+java_import "com.jme3.asset.TextureKey"
+java_import "com.jme3.font.BitmapText"
+java_import "com.jme3.audio.AudioNode"
+java_import "com.jme3.bullet.BulletAppState"
+java_import "com.jme3.bullet.control.CharacterControl"
+java_import "com.jme3.bullet.control.RigidBodyControl"
+java_import "com.jme3.bullet.util.CollisionShapeFactory"
+java_import "com.jme3.bullet.collision.shapes.CapsuleCollisionShape"
+java_import "com.jme3.bullet.collision.shapes.CollisionShape"
+java_import "com.jme3.collision.CollisionResult"
+java_import "com.jme3.collision.CollisionResults"
+java_import "com.jme3.input.KeyInput"
+java_import "com.jme3.input.controls.ActionListener"
+java_import "com.jme3.input.controls.KeyTrigger"
+java_import "com.jme3.input.MouseInput"
+java_import "com.jme3.input.controls.MouseButtonTrigger"
+java_import "com.jme3.light.AmbientLight"
+java_import "com.jme3.light.DirectionalLight"
+java_import "com.jme3.math.ColorRGBA"
+java_import "com.jme3.math.Vector2f"
+java_import "com.jme3.math.Vector3f"
+java_import "com.jme3.math.Ray"
+java_import "com.jme3.scene.Node"
+java_import "com.jme3.scene.Spatial"
+java_import "com.jme3.scene.shape.Box"
+java_import "com.jme3.scene.shape.Sphere"
+java_import "com.jme3.scene.Geometry"
+java_import "com.jme3.material.Material"
+java_import "com.jme3.util.SkyFactory"
+java_import "com.jme3.texture.Texture"
+java_import "com.jme3.material.RenderState"
+java_import "com.jme3.niftygui.NiftyJmeDisplay"
+java_import "de.lessvoid.nifty.Nifty"
+java_import "de.lessvoid.nifty.screen.Screen"
+java_import "de.lessvoid.nifty.screen.ScreenController"
+java_import "java.util.logging.Level"
+java_import "java.util.logging.Logger"
+
+java_import "java.awt.DisplayMode"
+java_import "java.awt.GraphicsDevice"
+java_import "java.awt.GraphicsEnvironment"
+
+java_import "StartScreenController"
+# java_import "HudScreenController"
+# java_import "PauseScreenController"
+# java_import "EndScreenController"
View
230 lib/maze.rb → lib/maze_craze/maze.rb
@@ -1,46 +1,8 @@
-require 'rubygems'
-require 'bundler'
-Bundler.require
-require File.join(Dir.pwd, 'lib', 'waves.rb')
-
-java_import "com.jme3.app.SimpleApplication"
-java_import "com.jme3.system.AppSettings"
-java_import "com.jme3.asset.TextureKey"
-java_import "com.jme3.font.BitmapText"
-java_import "com.jme3.audio.AudioNode"
-java_import "com.jme3.bullet.BulletAppState"
-java_import "com.jme3.bullet.control.CharacterControl"
-java_import "com.jme3.bullet.control.RigidBodyControl"
-java_import "com.jme3.bullet.util.CollisionShapeFactory"
-java_import "com.jme3.bullet.collision.shapes.CapsuleCollisionShape"
-java_import "com.jme3.bullet.collision.shapes.CollisionShape"
-java_import "com.jme3.collision.CollisionResult"
-java_import "com.jme3.collision.CollisionResults"
-java_import "com.jme3.input.KeyInput"
-java_import "com.jme3.input.controls.ActionListener"
-java_import "com.jme3.input.controls.KeyTrigger"
-java_import "com.jme3.input.MouseInput"
-java_import "com.jme3.input.controls.MouseButtonTrigger"
-java_import "com.jme3.light.AmbientLight"
-java_import "com.jme3.light.DirectionalLight"
-java_import "com.jme3.math.ColorRGBA"
-java_import "com.jme3.math.Vector2f"
-java_import "com.jme3.math.Vector3f"
-java_import "com.jme3.math.Ray"
-java_import "com.jme3.scene.Node"
-java_import "com.jme3.scene.Spatial"
-java_import "com.jme3.scene.shape.Box"
-java_import "com.jme3.scene.shape.Sphere"
-java_import "com.jme3.scene.Geometry"
-java_import "com.jme3.material.Material"
-java_import "com.jme3.util.SkyFactory"
-java_import "com.jme3.texture.Texture"
-java_import "java.util.logging.Level"
-java_import "java.util.logging.Logger"
-
+require 'maze_craze/imports'
class Maze < SimpleApplication
include ActionListener
+ VERSION = "1.0"
field_accessor :flyCam, :paused
field_reader :cam, :settings
@@ -55,71 +17,97 @@ def initialize
self.playing = false
config = AppSettings.new(true)
config.settings_dialog_image = File.join("assets", "Interface", "maze_craze_logo.png")
+ config.set_resolution(800, 600)
+ config.title = "Maze Craze #{VERSION}"
self.settings = config
+ self.show_settings = false
@time_text = nil
@counter = 0
@targets = []
@targets_generated = 0
+ @game_state = 0
Logger.get_logger("").level = Level::WARNING
end
def simpleInitApp
- self.bullet_app_state = BulletAppState.new
- state_manager.attach(bullet_app_state)
+ self.timer = NanoTimer.new
+ if @game_state.zero?
+ display_start_screen
+ else
+ self.bullet_app_state = BulletAppState.new
+ state_manager.attach(bullet_app_state)
- capsule_shape = CapsuleCollisionShape.new(1.5, 15.0, 1)
- self.player = CharacterControl.new(capsule_shape, 0.05)
- player.jump_speed = 20
- player.fall_speed = 30
- player.gravity = 30
- player.physics_location = Vector3f.new(-185, 15, -95)
- # This isn't being used yet.
- player_model = asset_manager.load_model(File.join("Models", "Oto", "Oto.mesh.xml"))
- player_model.local_scale = 0.5
- player_model.local_translation = Vector3f.new(-185, 15, -95)
- player_model.add_control(player)
- bullet_app_state.physics_space.add(player_model)
+ capsule_shape = CapsuleCollisionShape.new(1.5, 15.0, 1)
+ self.player = CharacterControl.new(capsule_shape, 0.05)
+ player.jump_speed = 20
+ player.fall_speed = 30
+ player.gravity = 30
+ player.physics_location = Vector3f.new(-185, 15, -95)
+ # This isn't being used yet.
+ player_model = asset_manager.load_model(File.join("Models", "Oto", "Oto.mesh.xml"))
+ player_model.local_scale = 0.5
+ player_model.local_translation = Vector3f.new(-185, 15, -95)
+ player_model.add_control(player)
+ bullet_app_state.physics_space.add(player_model)
- sphere = Sphere.new(30, 30, 0.2)
- self.mark = Geometry.new("BOOM!", sphere)
- mark_mat = Material.new(asset_manager, File.join("Common", "MatDefs", "Misc", "Unshaded.j3md"))
- mark_mat.set_color("Color", ColorRGBA::Red)
- mark.material = mark_mat
+ sphere = Sphere.new(30, 30, 0.2)
+ self.mark = Geometry.new("BOOM!", sphere)
+ mark_mat = Material.new(asset_manager, File.join("Common", "MatDefs", "Misc", "Unshaded.j3md"))
+ mark_mat.set_color("Color", ColorRGBA::Red)
+ mark.material = mark_mat
- setup_text!
- setup_camera!
- setup_floor!
- setup_sky!
- setup_keys!
- setup_light!
- setup_audio!
+ setup_text!
+ setup_camera!
+ setup_floor!
+ setup_sky!
+ setup_keys!
+ setup_light!
+ setup_audio!
- generate_maze
+ generate_maze #(static_maze)
- self.playing = true
- self.playtime = Time.now
+ self.playing = true
+ self.playtime = Time.now
+ end
+ end
+
+ def display_start_screen
+ nifty_display = NiftyJmeDisplay.new(asset_manager, input_manager, audio_renderer, gui_view_port)
+ nifty = nifty_display.nifty
+ nifty.from_xml(File.join('lib', 'maze_craze', 'views', 'screen.xml'), 'start', self)
+ gui_view_port.add_processor(nifty_display)
+ # fly_cam.enabled = false
+ # fly_cam.drag_to_rotate = true
+ input_manager.cursor_visible = true
+ #controller = StartScreenController.new(self)
+ # device = GraphicsEnvironment.local_graphics_environment.default_screen_device
+ # modes = device.display_modes
+ # modes.each do |mode|
+ # puts "#{mode.width}x#{mode.height} #{mode.bit_depth}bit"
+ # end
+ # self.stop
end
def static_maze
maze =
- <<-MAZE
- _____________________
- | _____ _____ |
- | |_ |_ | | | | |
- | _| | |___| |___|
- | |___| | |___ |
- |_| | _|_| | |
- | _|_|___ | | |_|_|
- | | | ___|_|_ |
- | | |___| ___ |_| |
- | | | ___| _| | |
- |_____|___________|__
- MAZE
+<<-MAZE
+_____________________
+ | _____ _____ |
+| |_ |_ | | | | |
+| _| | |___| |___|
+| |___| | |___ |
+|_| | _|_| | |
+| _|_|___ | | |_|_|
+| | | ___|_|_ |
+| | |___| ___ |_| |
+| | | ___| _| | |
+|_____|___________|__
+MAZE
end
def generate_maze(maze = nil)
- maze = Theseus::OrthogonalMaze.generate(:width => 10)
+ maze = maze || Theseus::OrthogonalMaze.generate(:width => 10)
rows = maze.to_s.split("\n")
starting_left = -(@floor[:width] - @wall[:width])
us_start = -@floor[:height]
@@ -197,6 +185,7 @@ def create_wall(vx, vy, vz, bx, by, bz, options = {})
wall = Geometry.new(name, box)
matl = Material.new(asset_manager, File.join("Common", "MatDefs", "Misc", "Unshaded.j3md"))
matl.set_texture("ColorMap", asset_manager.load_texture(File.join('assets', 'Textures', image)))
+ matl.additional_render_state.blend_mode = RenderState::BlendMode::Alpha if image.include?(".png")
wall.material = matl
scene_shape = CollisionShapeFactory.create_mesh_shape(wall)
landscape = RigidBodyControl.new(scene_shape, 0)
@@ -220,7 +209,7 @@ def setup_keys!
input_manager.add_mapping("Right", KeyTrigger.new(KeyInput::KEY_D))
input_manager.add_mapping("Up", KeyTrigger.new(KeyInput::KEY_W))
input_manager.add_mapping("Down", KeyTrigger.new(KeyInput::KEY_S))
- input_manager.add_mapping("Shoot", KeyTrigger.new(KeyInput::KEY_SPACE), MouseButtonTrigger.new(MouseInput::BUTTON_LEFT))
+ input_manager.add_mapping("Shoot", KeyTrigger.new(KeyInput::KEY_SPACE))
input_manager.add_listener(ControllerAction.new(self), ["Left", "Right", "Up", "Down", "Shoot"].to_java(:string))
end
@@ -247,7 +236,7 @@ def setup_audio!
gun_sound.volume = 3
root_node.attach_child(gun_sound)
- self.ambient_noise = AudioNode.new(asset_manager, File.join("Sound", "Environment", "Nature.ogg"), false)
+ self.ambient_noise = AudioNode.new(asset_manager, File.join("assets", "Sound", "Environment", "lost.ogg"), false)
ambient_noise.looping = true
ambient_noise.positional = true
ambient_noise.local_translation = Vector3f::ZERO.clone
@@ -257,32 +246,34 @@ def setup_audio!
end
def simpleUpdate(tpf)
- @time_text.text = "PLAY TIME: #{(@counter += 1) / 1000}" if playing?
- cam_dir = cam.direction.clone.mult_local(0.6)
- cam_left = cam.left.clone.mult_local(0.4)
- @walk_direction.set(0, 0, 0)
- @walk_direction.add_local(cam_left) if @left
- @walk_direction.add_local(cam_left.negate) if @right
- @walk_direction.add_local(cam_dir) if @up
- @walk_direction.add_local(cam_dir.negate) if @down
- player.walk_direction = @walk_direction
- cam.location = player.physics_location
- if cam.location.x > (@floor[:width]) && cam.location.z > (@floor[:height] - 20) && playing?
- if @targets.empty? && @targets_generated > 0
- @time_text.text = "YOU MUST SHOOT A TARGET FIRST!"
- else
- puts "finish"
- self.playing = false
- finish_time = Time.now - playtime
- # finish_time != (@counter / 1000)
- # @targets.size == actual targets shot * 2 ....
- @time_text.text = "FINISH TIME: #{finish_time.ceil} seconds. You shot #{@targets.size}/#{@targets_generated} targets"
- self.paused = true
- input_manager.cursor_visible = true
- flyCam.enabled = false
- # use nifty
- end
+ unless @game_state.zero?
+ #@time_text.text = "PLAY TIME: #{(@counter += 1) / 1000}" if playing?
+ cam_dir = cam.direction.clone.mult_local(0.6)
+ cam_left = cam.left.clone.mult_local(0.4)
+ @walk_direction.set(0, 0, 0)
+ @walk_direction.add_local(cam_left) if @left
+ @walk_direction.add_local(cam_left.negate) if @right
+ @walk_direction.add_local(cam_dir) if @up
+ @walk_direction.add_local(cam_dir.negate) if @down
+ player.walk_direction = @walk_direction
+ cam.location = player.physics_location
+ if cam.location.x > (@floor[:width]) && cam.location.z > (@floor[:height] - 20) && playing?
+ if @targets.empty? && @targets_generated > 0
+ @time_text.text = "YOU MUST SHOOT A TARGET FIRST!"
+ else
+ puts "finish"
+ self.playing = false
+ finish_time = Time.now - playtime
+ # finish_time != (@counter / 1000)
+ # @targets.size == actual targets shot * 2 ....
+ @time_text.text = "FINISH TIME: #{finish_time.ceil} seconds. You shot #{@targets.size}/#{@targets_generated} targets"
+ self.paused = true
+ input_manager.cursor_visible = true
+ flyCam.enabled = false
+ # use nifty
+ end
+ end
end
end
@@ -304,6 +295,13 @@ def on_action(binding, value, tpf)
results = CollisionResults.new
ray = Ray.new(@parent.cam.location, @parent.cam.direction)
@parent.root_node.collide_with(ray, results)
+ if results.size > 0
+ closest = results.closest_collision
+ @parent.mark.local_translation = closest.contact_point
+ @parent.root_node.attach_child(@parent.mark)
+ else
+ @parent.root_node.detach_child(@parent.mark)
+ end
results.each_with_index do |result, index|
collision = results.get_collision(index)
dist = collision.distance
@@ -312,24 +310,14 @@ def on_action(binding, value, tpf)
hit = spacial.name
if hit.eql?("Target")
@parent.instance_variable_get("@targets") << spacial
+ @parent.root_node.detach_child(@parent.mark)
spacial.remove_from_parent
@parent.bullet_app_state.physics_space.remove(spacial.get_control(RigidBodyControl.java_class))
- @parent.root_node.detach_child(@parent.mark)
end
end
- #Remove bullet mark after target is destroyed
- if results.size > 0
- closest = results.closest_collision
- @parent.mark.local_translation = closest.contact_point
- @parent.root_node.attach_child(@parent.mark)
- else
- @parent.root_node.detach_child(@parent.mark)
- end
end
end
end
end
-Waves.echo("Booting Maze Craze", :green)
-Maze.new.start
View
58 lib/maze_craze/views/screen.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nifty xmlns="http://nifty-gui.sourceforge.net/nifty.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://nifty-gui.sourceforge.net/nifty.xsd http://nifty-gui.sourceforge.net/nifty.xsd">
+ <useControls filename="nifty-default-controls.xml" />
+ <useStyles filename="nifty-default-styles.xml" />
+ <screen id="start" controller="StartScreenController">
+ <layer id="background" childLayout="center">
+ <image filename="assets/Interface/start-background.png"></image>
+ </layer>
+ <layer id="foreground" backgroundColor="#0000" childLayout="vertical">
+ <panel id="panel_top" height="25%" width="75%" align="center" childLayout="center">
+ <text text="Maze Craze 1.0" font="Interface/Fonts/Default.fnt" width="100%" height="100%" />
+ </panel>
+ <panel id="panel_mid" height="50%" width="75%" align="center" childLayout="center">
+ <text text="Here goes some text describing the game and the rules and stuff. Incidentally, the text is quite long and needs to wrap at the end of lines. ..."
+ font="Interface/Fonts/Default.fnt" width="100%" height="100%" wrap="true" />
+ </panel>
+ <panel id="panel_bottom" height="25%" width="75%" align="center" childLayout="horizontal" backgroundColor="#00f8">
+ <panel id="panel_bottom_left" height="50%" width="50%" valign="center" childLayout="center">
+ <control name="button" label="Start" id="StartButton" align="center" valign="center" visibleToMouse="true">
+ <interact onClick="startGame(hud)"/>
+ </control>
+ </panel>
+ <panel id="panel_bottom_right" height="50%" width="50%" valign="center" childLayout="center">
+ <control name="button" label="Quit" id="QuitButton" align="center" valign="center" visibleToMouse="true">
+ <interact onClick="quitGame()" />
+ </control>
+ </panel>
+ </panel>
+ </layer>
+ </screen>
+ <screen id="hud" controller="HudScreenController">
+ <layer id="background" childLayout="center">
+ </layer>
+ <layer id="foreground" backgroundColor="#0000" childLayout="vertical">
+ <panel id="panel_bottom_left" height="75%" width="20%" valign="center" childLayout="center">
+
+ </panel>
+ <panel id="panel_right" width="20%" height="100%" childLayout="vertical" backgroundColor="#00f8" >
+ <panel id="panel_top_right" height="100%" width="15%" childLayout="center">
+ <control name="label" color="#000" text="123" width="100%" height="100%" />
+ </panel>
+ <panel id="panel_top_right1" width="100%" height="15%" childLayout="center" backgroundColor="#00f8">
+ </panel>
+ <panel id="panel_top_right2" width="100%" height="15%" childLayout="center" backgroundColor="#44f8">
+ </panel>
+ <panel id="panel_bot_right" width="100%" height="70%" valign="center" backgroundColor="#88f8">
+ </panel>
+ </panel>
+ </layer>
+ </screen>
+ <screen id="pause" controller="PauseScreenController">
+ <!-- To be implemented -->
+ </screen>
+ <screen id="end" controller="EndScreenController">
+ <!-- To be implemented -->
+ </screen>
+</nifty>
View
3 lib/samples/sample1.rb
@@ -11,10 +11,13 @@
java_import "com.jme3.scene.shape.Box"
java_import "com.jme3.math.ColorRGBA"
java_import "com.jme3.scene.Node"
+java_import "com.jme3.system.NanoTimer"
class Sample1 < SimpleApplication
def simpleInitApp
+ self.timer = NanoTimer.new #required for patch
+
box1 = Box.new(Vector3f.new(1,-1,1), 1, 1, 1)
blue = Geometry.new("Box", box1)
material1 = Material.new(self.asset_manager, File.join('Common', 'MatDefs', 'Misc', 'Unshaded.j3md'))
View
45 lib/samples/sample14.rb
@@ -0,0 +1,45 @@
+=begin
+ This is a Ragdoll Sample
+=end
+java_import "com.jme3.app.SimpleApplication"
+java_import "com.jme3.bullet.BulletAppState"
+java_import "com.jme3.bullet.PhysicsSpace"
+java_import "com.jme3.bullet.collision.shapes.CapsuleCollisionShape"
+java_import "com.jme3.bullet.control.RigidBodyControl"
+java_import "com.jme3.bullet.joints.ConeJoint"
+java_import "com.jme3.bullet.joints.PhysicsJoint"
+java_import "com.jme3.input.controls.ActionListener"
+java_import "com.jme3.input.controls.MouseButtonTrigger"
+java_import "com.jme3.math.Vector3f"
+java_import "com.jme3.scene.Node"
+
+class Sample14 < SimpleApplication
+ include ActionListener
+ java_alias :simpleInitApp, :simple_init_app
+
+ def simple_init_app
+
+ end
+
+ def create_rag_doll
+
+ end
+
+ def create_limb(width, height, location, rotate)
+
+ end
+
+ def join(node_a, node_b, connection_point)
+
+ end
+
+ def simpleUpdate
+
+ end
+
+ class ControllerAction
+ include ActionListener
+ end
+
+
+end
View
4 lib/samples/sample4.rb
@@ -47,10 +47,10 @@ def simpleInitApp
fire.images_y = 2
fire.end_color = ColorRGBA.new(1.0, 0.0, 0.0, 1.0)
fire.start_color = ColorRGBA.new(1.0, 1.0, 0.0, 0.5)
- fire.initial_velocity = Vector3f.new(0, 2, 0)
+ fire.particle_influencer.initial_velocity = Vector3f.new(0, 2, 0)
fire.start_size = 0.6
fire.end_size = 0.1
- fire.gravity = 0
+ fire.set_gravity(0, 0, 0)
fire.low_life = 0.5
fire.high_life = 3.0
fire.velocity_variation = 0.3
View
3 lib/samples/sample8.rb
@@ -56,7 +56,8 @@ def simpleInitApp
root_node.attach_child(scene_model)
bullet_app_state.physics_space.add(landscape)
bullet_app_state.physics_space.add(player)
- bullet_app_state.physics_space.enable_debug(asset_manager)
+ # Enable Debugging
+ #bullet_app_state.physics_space.enable_debug(asset_manager)
setup_keys!
setup_light!
end
View
2 lib/waves.rb
@@ -6,7 +6,7 @@
$: << File.join(PROJECT_ROOT, "lib")
-require File.join("..", 'vendor', 'jme3_2011-10-25.jar')
+require File.join("..", 'vendor', 'jme3_2011-11-13.jar')
module Waves
VERSION = "0.0.1"
View
BIN vendor/jme3_2011-10-25.jar → vendor/jme3_2011-11-13.jar
Binary file not shown.
View
BIN vendor/lib/jME3-jbullet.jar
Binary file not shown.
View
BIN vendor/lib/jME3-test.jar
Binary file not shown.
View
BIN vendor/lib/jME3-testdata.jar
Binary file not shown.
View
BIN vendor/lib/nifty-default-controls.jar
Binary file not shown.
View
BIN vendor/lib/nifty-examples.jar
Binary file not shown.
View
BIN vendor/lib/nifty-style-black.jar
Binary file not shown.
View
BIN vendor/lib/nifty.jar
Binary file not shown.

0 comments on commit 9da4264

Please sign in to comment.
Something went wrong with that request. Please try again.