BBeck's Profile User Rating: *****

Reputation: 638 Enlightened
Group:
Expert
Active Posts:
1,487 (1.34 per day)
Joined:
24-April 12
Profile Views:
17,915
Last Active:
User is offline Today, 01:35 PM
Currently:
Offline

Previous Fields

Country:
US
OS Preference:
Windows
Favorite Browser:
Internet Explorer
Favorite Processor:
Intel
Favorite Gaming Platform:
PC
Your Car:
Who Cares
Dream Kudos:
100
Expert In:
Game Programming, XNA

Latest Visitors

Icon   BBeck is experimenting in his gaming lab. Don't be alarmed if something explodes.

Posts I've Made

  1. In Topic: Need help [Sockets]

    Posted 6 May 2015

    The bind function's second parameter is of type "const struct sockaddr pointer". From the code given, I don't see where serv_addr is assigned a type but if it is not of the given type, then it has to be converted. The & is going to return the address of the serv_addr structure which is basically a pointer. But you may still get an error if you try to pass the wrong type of pointer. The (struct sockaddr*) defines the type to convert the address to.
  2. In Topic: What are your favorite rap songs?

    Posted 4 May 2015

    We do K-Pop too. That's not exactly rap but the lyrics are something of a monotone drone.


    And it's not rap, but some good ol' R&B/soul is just the trick some times.
  3. In Topic: What are your favorite rap songs?

    Posted 4 May 2015

    Well, rap, hip-hop, R&B, and soul have all taken elements from one another to the point that the lines of the genre are not always clear. It's common to hear a rap in the middle of an R&B or soul song. So, I'm not sure I have a pure rap example. You might expect that we down here in Texas don't do rap music. Well, here's how we roll down in Texas:



    or

  4. In Topic: Problem importing XACT xgs file

    Posted 1 May 2015

    Oh. And since that's a path error, copy that path and paste it into an Explorer window and see if Windows itself can resolve the path. Are there one too many NeuroDefender directories? I see them 3 deep.
  5. In Topic: Problem importing XACT xgs file

    Posted 1 May 2015

    I meant to address this earlier and don't have time right now. Here's the Game1.cs from a program that has XACT working. It plays a blip on collision from the .xap sound bank. Hope this helps.


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Microsoft.Xna.Framework;
    using Microsoft.Xna.Framework.Audio;
    using Microsoft.Xna.Framework.Content;
    using Microsoft.Xna.Framework.GamerServices;
    using Microsoft.Xna.Framework.Graphics;
    using Microsoft.Xna.Framework.Input;
    using Microsoft.Xna.Framework.Media;
    
    namespace Pong3DTestOne
    {
        public class Game1 : Microsoft.Xna.Framework.Game
        {
            GraphicsDeviceManager graphics;
            Matrix View;
            Matrix Projection;
            SpriteBatch spriteBatch;
            PanelGameComponent PanelManager;
            Player PlayerOne;
            GameBall Ball;
            Reticle PlayerOneReticle;
            RasterizerState RS;
            SamplerState SS;
            enum GameStateType {GameReady, Play, GameOver}
            GameStateType GameState;
            AudioEngine Audio;
            WaveBank WavBank;
            SoundBank SndBank;
            const float JoyStickDampeningFactor = 20f;
            const float InitialBallSpeed = 0.1f;
    
    
            public Game1()
            {
                graphics = new GraphicsDeviceManager(this);
                graphics.PreferredBackBufferWidth = 1280;   //Screen width horizontal
                graphics.PreferredBackBufferHeight = 720;   //Screen width vertical
                graphics.IsFullScreen = false;   //Set to false when debugging.
                graphics.ApplyChanges();
                Content.RootDirectory = "Content";
            }
    
    
            protected override void Initialize()
            {
                Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, GraphicsDevice.Adapter.CurrentDisplayMode.AspectRatio, 0.1f, 1000f);
    
                Ball = new GameBall(this);
                PlayerOne = new Player(this, 9f, 0.25f);
                PlayerOneReticle = new Reticle(this);
                PanelManager = new PanelGameComponent(this);
                Components.Add(PanelManager);
                GameState = GameStateType.GameOver;
    
                RS = new RasterizerState();
                SS = new SamplerState();
                RS.CullMode = CullMode.CullCounterClockwiseFace;
                //RS.CullMode = CullMode.None; 
                RS.FillMode = FillMode.Solid;
                GraphicsDevice.RasterizerState = RS;
                SS.Filter = TextureFilter.Anisotropic;
                SS.MaxAnisotropy = 16;
                GraphicsDevice.SamplerStates[0] = SS;
    
    
                base.Initialize();
            }
    
    
            public Vector3 RequestBallMovement(Vector3 Position, Vector3 RequestedMovement)
            {
                Vector3 OriginalPostition = Position;
                Vector3 RemainingMovementAfterPanelCollisions = RequestedMovement;
    
                if (PanelManager.Collision(ref RequestedMovement, ref Position))
                {
                    SndBank.PlayCue("BlipHigh");
                    RemainingMovementAfterPanelCollisions = RequestedMovement;
                    RequestedMovement.Normalize();
                    Ball.Velocity = RequestedMovement * Ball.Velocity.Length();
                    RequestedMovement = Position - OriginalPostition;   //Return new position
                }
    
    
                if (PlayerOne.Collision(ref RemainingMovementAfterPanelCollisions, ref Position))
                {
                    SndBank.PlayCue("BlipLow");
                    RemainingMovementAfterPanelCollisions.Normalize();
                    Ball.Velocity = RemainingMovementAfterPanelCollisions * Ball.Velocity.Length();
                    Ball.Velocity *= 1.02f; //Speed the ball up every time it is hit
                    RequestedMovement = Position - OriginalPostition;
                }
    
                
    
                return RequestedMovement;
            }
    
    
            public Vector3 RandomDirection()
            {
                Vector3 ReturnedVector;
    
                Random RandomObject = new Random(); //Create a random number generator.
    
                ReturnedVector = new Vector3(RandomObject.Next(-700, 700) / 1000f, RandomObject.Next(-700, 700) / 1000f, RandomObject.Next(-1000, 0) / 1000f);
                ReturnedVector.Normalize();
                return ReturnedVector;
            }
    
    
            protected override void LoadContent()
            {
                spriteBatch = new SpriteBatch(GraphicsDevice);
                Audio = new AudioEngine("Content/XACTPongProject.xgs");
                WavBank = new WaveBank(Audio, "Content/Wave Bank.xwb");
                SndBank = new SoundBank(Audio, "Content/Sound Bank.xsb");
    
                Ball.LoadContent(Content);
                PlayerOne.LoadContent(Content);
                PlayerOneReticle.LoadContent(Content);
    
                PanelManager.AddPanel(new Vector3(0f, 0f, -10f), Quaternion.CreateFromYawPitchRoll(0f, 0f, 0f), Color.Red);    //Back
                PanelManager.AddPanel(new Vector3(-5f, 0f, -5f), Quaternion.CreateFromYawPitchRoll(MathHelper.PiOver2, 0f, 0f), Color.Red);    //Left
                PanelManager.AddPanel(new Vector3(-5f, 0f, 5f), Quaternion.CreateFromYawPitchRoll(MathHelper.PiOver2, 0f, 0f), Color.Red);    //Left
                PanelManager.AddPanel(new Vector3(5f, 0f, -5f), Quaternion.CreateFromYawPitchRoll(-MathHelper.PiOver2, 0f, 0f), Color.Red);    //Right
                PanelManager.AddPanel(new Vector3(5f, 0f, 5f), Quaternion.CreateFromYawPitchRoll(-MathHelper.PiOver2, 0f, 0f), Color.Red);    //Right
                PanelManager.AddPanel(new Vector3(0f, -5f, -5f), Quaternion.CreateFromYawPitchRoll(0f, -MathHelper.PiOver2, 0f), Color.Red);   //Bottom
                PanelManager.AddPanel(new Vector3(0f, -5f, 5f), Quaternion.CreateFromYawPitchRoll(0f, -MathHelper.PiOver2, 0f), Color.Red);   //Bottom
                PanelManager.AddPanel(new Vector3(0f, 5f, -5f), Quaternion.CreateFromYawPitchRoll(0f, MathHelper.PiOver2, 0f), Color.Blue); //Top
                PanelManager.AddPanel(new Vector3(0f, 5f, 5f), Quaternion.CreateFromYawPitchRoll(0f, MathHelper.PiOver2, 0f), Color.Red); //Top
    
                
            }
    
    
            protected override void UnloadContent()
            {
                
            }
    
            
            protected override void Update(GameTime gameTime)
            {
                KeyboardState KB;
    
                KB = Keyboard.GetState();
    
                if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit();
                if (KB.IsKeyDown(Keys.Escape)) this.Exit();
    
    
      
                if (GamePad.GetState(PlayerIndex.One).Buttons.Start == ButtonState.Pressed)
                {
                    GameState = GameStateType.GameReady;
                }
    
                //Move Camera.
                if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Right.X != 0)
                {
                    PlayerOne.Camera *= Matrix.Invert(Matrix.CreateTranslation(-GamePad.GetState(PlayerIndex.One).ThumbSticks.Right.X / 120f, 0f, 0f));
                }
                if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Right.Y != 0)
                {
                    PlayerOne.Camera *= Matrix.Invert(Matrix.CreateTranslation(0f, -GamePad.GetState(PlayerIndex.One).ThumbSticks.Right.Y / 120f, 0f));
                }
                if (GamePad.GetState(PlayerIndex.One).Triggers.Left != 0)
                {
                    PlayerOne.Camera *= Matrix.Invert(Matrix.CreateTranslation(0f, 0f, GamePad.GetState(PlayerIndex.One).Triggers.Left / 30f));
                }
                if (GamePad.GetState(PlayerIndex.One).Triggers.Right != 0)
                {
                    PlayerOne.Camera *= Matrix.Invert(Matrix.CreateTranslation(0f, 0f, -GamePad.GetState(PlayerIndex.One).Triggers.Right / 30f));
                }
    
    
                if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed)
                {
                    Vector3 CurrentPaddlePosition = PlayerOne.Paddle.Translation;
                    Vector3 CurrentBallPosition = Ball.WorldMatrix.Translation;
                    Vector3 DesiredCameraDirection = CurrentPaddlePosition - CurrentBallPosition;
    
                    DesiredCameraDirection.Normalize(); //We don't want the distance, just the direction.
                    DesiredCameraDirection *= 0.25f;  //Distance of camera from paddle.
                    Vector3 CurrentCameraPosition = PlayerOne.Camera.Translation;
                    Vector3 DesiredCameraPosition = CurrentPaddlePosition + DesiredCameraDirection;
    
                    PlayerOne.Camera *= Matrix.CreateTranslation(DesiredCameraPosition - (CurrentCameraPosition + CurrentPaddlePosition));
                }
    
                //Move Paddle.
                if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X != 0)
                {
                    PlayerOne.Paddle *= Matrix.Invert(Matrix.CreateTranslation(-GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X / 5f, 0f, 0f));
                }
                if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.Y != 0)
                {
                    PlayerOne.Paddle *= Matrix.Invert(Matrix.CreateTranslation(0f, -GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.Y / 5f, 0f));
                }
    
    
                switch (GameState)
                {
                    case GameStateType.Play:
                        Ball.UpDate();
                        PlayerOneReticle.World= Matrix.CreateWorld( new Vector3(PlayerOneReticle.World.Translation.X, PlayerOneReticle.World.Translation.Y, Ball.WorldMatrix.Translation.Z), Vector3.Forward, Vector3.Up);
                        break;
                    case GameStateType.GameReady:
                        Ball.PutTheBallInPlay(Matrix.CreateTranslation(-2f, 2f, 5f), RandomDirection() * InitialBallSpeed);
                        GameState = GameStateType.Play;
                        break;
                    default:
                        if (KB.IsKeyDown(Keys.S)) GameState = GameStateType.GameReady;
                        break;
                }
    
    
    
    
                base.Update(gameTime);
            }
    
            
            protected override void Draw(GameTime gameTime)
            {
                GraphicsDevice.Clear(Color.Black);
    
                View = PlayerOne.View;
                PanelManager.Projection = Projection;
                PanelManager.View = View;
    
                switch (GameState)
                {
                    case GameStateType.Play:
                        Ball.Draw(View, Projection);
                        break;
                    case GameStateType.GameReady:
                        break;
                    default:
                        break;
                }
    
                base.Draw(gameTime);
                PlayerOneReticle.Draw(View, Projection);
                PlayerOne.Draw(Projection); //Must be drawn after the base.Draw() for transparency to work correctly.
            }
        }
    }
    
    
    
    

My Information

Member Title:
Here to help.
Age:
Age Unknown
Birthday:
Birthday Unknown
Gender:
Location:
Dallas, Texas, US of A, Planet Earth, Sol System, Milky Way Galaxy
Interests:
Rock music composition and performance, Grunge Music, Bebop (think Thelonios Monk), Swing (think Cab Calloway), Gaming, Astronomy, RPGs, Scuba, Sail Boats, Furniture Building, Cooking, Rocky Patel Cigars, Character Driven Dramas(like HBO's Deadwood), Story Telling (plot writing), Linguistics, Economics, Target Shooting, Electronics (don't know as much as I'd like to), all aspects of 3D game programing including music, physics, modeling, texturing, annimation, probability, AI, lighting, etc., Texas Holdem' Poker, Learning, Dogs, the love of my life (my pit bull), guns (especially 19th century black powder), putting make-up on ogres, etc.
Programming Languages:
C, C++, C#, Visual Basic, Java, Pascal, T-SQL, HTML, FoxPro, ASP.Net(very little), Assembler, Machine Code(conceptually anyway)

Contact Information

E-mail:
Private
Website URL:
Website URL  http://VirtuallyProgramming.com

Comments

Page 1 of 1
  1. Photo

    BBeck Icon

    11 Aug 2013 - 04:27
    Generally, yes. :-)
  2. Photo

    aaron1178 Icon

    10 Aug 2013 - 00:42
    You wouldn't happen to get high marks in written exams would you ;)
Page 1 of 1