Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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

  • Loading branch information...
commit 9da42643a4808288bb0ad3bbe03350f3a5898a11 1 parent 3ea6c51
Jeremy Woertink authored
3  Gemfile
View
@@ -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"
BIN  assets/Sound/Environment/lost.ogg
View
Binary file not shown
BIN  assets/quake3level.zip
View
Binary file not shown
BIN  assets/wildhouse.zip
View
Binary file not shown
10 bin/maze_craze
View
@@ -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
0  lib/maze_craze/controllers/EndScreenController.java
View
No changes.
0  lib/maze_craze/controllers/HudScreenController.java
View
No changes.
0  lib/maze_craze/controllers/PauseScreenController.java
View
No changes.
58 lib/maze_craze/controllers/StartScreenController.java
View
@@ -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.
+ }
+
+}
62 lib/maze_craze/imports.rb
View
@@ -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"
230 lib/maze.rb → lib/maze_craze/maze.rb
View
@@ -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
58 lib/maze_craze/views/screen.xml
View
@@ -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>
3  lib/samples/sample1.rb
View
@@ -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'))
45 lib/samples/sample14.rb
View
@@ -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
4 lib/samples/sample4.rb
View
@@ -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
3  lib/samples/sample8.rb
View
@@ -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
2  lib/waves.rb
View
@@ -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"
BIN  vendor/jme3_2011-10-25.jar → vendor/jme3_2011-11-13.jar
View
Binary file not shown
BIN  vendor/lib/jME3-jbullet.jar
View
Binary file not shown
BIN  vendor/lib/jME3-test.jar
View
Binary file not shown
BIN  vendor/lib/jME3-testdata.jar
View
Binary file not shown
BIN  vendor/lib/nifty-default-controls.jar
View
Binary file not shown
BIN  vendor/lib/nifty-examples.jar
View
Binary file not shown
BIN  vendor/lib/nifty-style-black.jar
View
Binary file not shown
BIN  vendor/lib/nifty.jar
View
Binary file not shown
Please sign in to comment.
Something went wrong with that request. Please try again.