Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

34 check-ins

[0550bf85e8] Leaf: Added Photoshop 7 templates. (user: Donny tags: trunk)
[51b5178f61] cleaned up a bit of the game logic, namely checking for win/loss conditions and loading initial data for GameObjects (which isnt complete yet) (user: tags: trunk)
[06e2db82a3] colors can now be assigned to blocks in edit mode using right click! right clicking a block will cycle through all the available colors (user: tags: trunk)
[1ba914670e] minor bugfix to drawing the outline for a box (StateEditing::UpdateGame()) (user: tags: trunk)
[e2d78ca550] in editmode, boxes can be created by dragging in any direction. there is also a minimum dimension that must be satisifed to create the block. an outline will also draw to show you the box you are dragging out. (user: tags: trunk)
[d5c0385b9f] work on level editor has begun. start game with -edit. all you can do right now is drag blocks with the left mouse button. drag from top left corner or i dont know what will happen. work on more functionality like right click to change colors for example. then finally make a button to output the block data to a text file. maybe figure out how to choose your own background image (user: tags: trunk)
[63298900b4] balls now bounce off of blocks but if the ball collides with the corner of the block the ball will pop because im unsure how to handle collision reaction thereyet... (user: tags: trunk)
[8de903fae6] blocks are now more implemented, no collision detection yet but they can be added to the game and even have their own color specified which will be reflected properly. due tot he drawing order, sometimes they may overlap or be overlapped but in the end this should be no problem because the final product should have no overlap at all (things will bump into each other and either blow up or bounce off (user: tags: trunk)
[4baf7fb5f0] made it so that GameObjects game state info such as lives left, ammo, and blocks left are stored in the GameObjects variable. however these values are modified by the respective objects' constructors and destructors (such as when a block is destroyed, its destructor will decrement the numBlocks in GameObjects. i tried having the GameObjects add and remove functions take care of this but since the objects list is referring to all of the objects as the base class GameObject, im unable to access the child functions that i need such as isSoft for blocks [since that is not defined in GameObject but rather in Block]). block was implemented and should work but has not been tested yet. it needs to be cleaned up as it was all code copied from aircraft. the StatePlaying class must also check to see if all the blocks are destroyed in a level or not. (user: tags: trunk)
[0136eaa04a] balls shot from the paddle now die when they reach the bottom of the screen. you have a setnumber of balls to shoot (controlled by a global constant). when all balls are lost, gameplay ends (right now just exits the game since i have no menus (user: tags: trunk)
[791f4a7279] paddle can now slide left and right with 'a' and 'd' keys. (user: tags: trunk)
[d81e4b369e] fixed bug where a calculated paddle angle of 360 would cause the game to crash (user: tags: trunk)
[898a45b3f1] added boundary collision detection to bullets. going to go back to the original vision of creating a breakout game. bullets should be very limited and you have to clear all the blocks with your balls, so its also like peggle. the paddle doesnt move but it will deflect balls. if the bullets touch the bottom of the screen they are killed (right now they bounce off the bottom but this must be removed). so shots have to be planned carefully to clear all the blocks or get as many as possible for points (or just a stat recorded as 'number of blocks taken out') (user: tags: trunk)
[f0c6ffdaa9] added a health damage system to the aircraft. different projectile types will do different amounts of damage. when the aircraft hp reaches 0 or below, its destroyed    (user: tags: trunk)
[a1d8fecb8b] no real changes here, just trying to get reacquainted with the code after a long hiatus. work right now consists of giving the aircraft health points and having them patrol across the top of the screen. then have them drop bombs or parachutes or something. then those objects falling would take away your hp if they reach the ground before being shot. (user: tags: trunk)
[3e5da8e2c2] made it so that the angle calculation for the paddle is rounded now. ball class cleaned up a little bit and renamed Aircraft (user: tags: trunk)
[5d032bf725] removed the fixangle functions as they are now obsolete (user: tags: trunk)
[efcb02db80] machien gun bullets now collide with balls and destroy them. I will now base an airplane class off of the ball with the intention of it flying back and forth on the top of the screen. the player can destroy it by hitting it a few times (user: tags: trunk)
[1960c4efa3] the weapon now shoots balls correctly. the weapon data such as velocity and sprite are still hardcoded however. next i should try making it so that the bullets can destroy the balls moving across the screen if i hit them. (user: tags: trunk)
[9473450a38] working on shooting projectiles. the correct velocity must be calculated. also the the projectiles must spawn at the tip of the center of the paddle's current facing instead of the origin of the paddle. implementation seems slow, possible memory leaks (user: tags: trunk)
[1970183314] the paddle now shoots blanks while the left mouse button is held down. the cooldowns are harcoded but once i get level data moved to external files, i will also move the cooldown data to an external text file so it can be modified more easily. this also requires that i have all of my guns implemented (at least a skeleton of them) so i can fill out the text file as well as complete the function for reading in values from the text file. (user: tags: trunk)
[a93ecad517] there now exists a GameObjects class which keeps track of the list of game objects and is the one stop shop to loading level data, unloading level data, and interacting with the objects (drawing and updating them). im leaning towards having the gameplay be one of two things. 1. resemble paratrooper, shoot down falling people (balls) 2. 'protect yourself', use the paddle to deflect incoming balls so they dont hit somethign in the center (user: tags: trunk)
[881b4a1098] the ball now detects if it has collided with the paddle. the distance between the ball and the center of the paddle is compared to the sum of their radii, and the dot product of the mouse vector and ball vector is used to see if the angle is within the paddle's current arc. the vector for the ball runs straight through the center of it so its possible that the ball is slightly inside the paddle but not detecting a collision, so ill have to expand the arc of the paddle a few degrees to account for this (user: tags: trunk)
[107dc2419d] changed the way moving the paddle works. now the mouse pointer is visible on purpose, and the paddle simply points to where the pointer is. this was very simple to implement, and may solve my problem of the game not being fun by changing the core gameplay to require you to deflect balls that are heading toward the center (where a core of some such will be) by moving the mouse to make the paddle face these objects. also the paddle will not move if the mouse pointer is inside of its area, to prevent players from positioning the mouse pointer in the very center to move the paddle in any direction by just moving a few pixels. the goal of this design is to get the players to move the mouse around considerably as the number of objects flying towards the center increases. (user: tags: trunk)
[a40f829d8d] the ball now bounces off the screen boundaries correctly. what i must research now is the possibility of making the screen boundary a circle to see if that helps the ball return to the center more, since having square boundaries means the ball doesnt always fly into paddle range which makes the game boring. also look into collision detection with the paddle, which i should probably do first because calculating the right angle to bounce the ball off will help me make a circular screen boundary    (user: tags: trunk)
[12ae0e2892] set up preliminary infrastructure for storing game data. its stored in breach.cpp and accessed by other source files via globally prototyped functions. currently just the array containing game objects is stored. i had an idea of having a custom background image for each level included in the level binary file as well. in the future ill experiment (in the level editor) converting a (background) image to an SDL_Surface and then writing that SDL_Surface into the level binary file. that way I can load it from the file and display it during that level's gameplay (user: tags: trunk)
[5ffb9c724c] a ball now appears in the bottom left corner of the screen and begins moving at a constant velocity. it currently has no collision detection, but next i will make a function to call every frame that will check for collision against the screen borders, and then bounce off accordingly (angle in = angle out). (user: tags: trunk)
[da18852a26] Paddle::DoMove is now functional. the function simply takes the mouse movement from the last frame and makes the paddle point in that direction. so just a 1 pixel movement will change the angle of the paddle. a person on suggested to update the angle every 4 or 5 frames to smooth it out so ill try that soon (user: tags: trunk)
[8cfac02cb1] Paddle::DoMove is an absolute mess. the function must take the relative x and y mouse movement since the last frame (which is accurate to my knowledge, calculated in StatePlaying::HandleInput) and calculate the new angle to display the paddle at for that frame. currently this function fails miserably (user: tags: trunk)
[1d10f47a25] added some graphics to test the rotating the paddle in a level. the paddle is rotated and displayed corretly. it moves continuously in a circle in 1 degree increments. (user: tags: trunk)
[08b33617a4] implemented the StateSplash class. setup gameloop and main function to load and unload the game properly. the game currently starts up and shows the splash screen for 60 frames before exiting. no art has been added yet so there is just a black screen, but the program is protected from segfaults due to missing images. next things to do are to add some basic art, implement STATE_PLAYING (jump straight there from splash, skip menus for now), and see if i can get the paddle on screen and rotating to mouse input (user: tags: trunk)
[4a58ed9d53] condensed the gameobject subclasses into 1 header/source pair (user: tags: trunk)
[b1c379662d] initial import of repository structure (user: tags: trunk)
[8995ea1f37] Leaf: initial import of repository structure (user: tags: trunk, release)