22 months agoKeyboard support, code movement, and TestManager default tip
Mohammed Khoory [Wed, 07 Jul 2010 19:11:38 -0400] rev 5
Keyboard support, code movement, and TestManager

Major Changes
=============
- Added "testman.h" and "testman.cpp" to be used exclusively to test stuff (from a
GameManager perspective)
- Moved all the testing stuff to testman.cpp. 9game is just an empty class now to
manage other GameManagers
- Moved all the initializing stuff from 9Game to main. 9Game is like any other
GameManager now (just that it manages other GameManagers)
- Added keyboard.h and keyboard.c to handle keyboard interrupts (by replacing the
keyboard ISR)
- Keyboard is working :D can read more than one key at a time. (tested in
TestManager with WASD)

Minor Changes
=============
- Removed the exception throwing in SpriteLoader::unloadFile() (because it just
makes things unnecessarily complicated)
- added finished() to GameManager to indicate whether a GameManager is finished or
not
- Animation test + key control test. Sprite moves around depending on wasd key
input. (program ends when off screen to right)
- Set 0x00 as transparency color with drawSprite (TODO: change to make this
customizeable on runtime)
- Edited Makefile to reflect new changes

Notes
=====
- Animation seems to work nice and smooth in dosbox, slow in dosemu, so maybe I
should start testing in both dosemu and dosbox
- TODO: fix bug with drawSprite. When a sprite is drawn on the right of the screen
it "wraps around" to the other side by one pixel in width

23 months agoMove to new format for sprites, drawSprite and palette setting working
Mohammed Khoory [Mon, 21 Jun 2010 15:08:59 -0400] rev 4
Move to new format for sprites, drawSprite and palette setting working

Major Changes
=============
- ==== BMPLoader abandoned ==== (see notes) (also removed from main link in Makefile
- Created sprload.h and sprload.cpp (loads bitmap data from raw files) (heavily based on bmpload)
- Implemented several methods for SpriteLoader (in sprload.cpp) (most methods work fine afaik)
- Loading the raw bitmap and palette and header all work
- Fixed palette setting in GraphicsDevice, works now :)
- ==The game can actually load sprites now :D==

Minor Changes
=============
- BmpLoader: fixed Magic Number checking.
- GraphicsDevice: fixed drawSprite, works now.
- 9game: added some "testing lines" to test SpriteLoader

Notes
=====
- BmpLoader abandoned. The BMP file format is unnecessarily complex for this project. Will use a combination of raw bitmap files, palette file, and header file instead using another loader class located in sprload.h (bitmap files created with
gimp)
- Removed backup files (*.cpp~ and *.h~) because they're annoying
- header file structure is "<width>\n<height>\n<rawbitmapsize>\n" (may change)

23 months agoBmpLoad implementation + minor modifications (Untested)
Mohammed Khoory [Sat, 12 Jun 2010 18:16:35 -0400] rev 3
BmpLoad implementation + minor modifications (Untested)

Major Changes
=============
- BmpLoader: Implemented the default constructor and destructor
- BmpLoader: Implemented the following functions:
- resetHeader(), loadFile(), unloadFile(), getBitmap(), getPalette(),
- getWidth(), getHeight(), getNumOfColors(), isLoaded(), isSupported()
- getSprite()


Minor Changes
=============
- BmpLoader: Added resetHeader() function to reset header variables
- BmpLoader: removed setPalette() method, added getPalette() instead
- BmpLoader: const'd loadFile string parameter
- BmpLoader: renamed BadFileName to BadFileNameException (for consistency with other exception names)
- BmpLoader: added ios_base::failure to loadFile's exceptions (as well as other methods)
- BmpLoader: added getNumOfColors() and isSupported() and isLoaded();
- BmpLoader: fixed width/height declarations (it's supposed to be signed, not unsigned).
- BmpLoader: changed getRawBitmap() to getBitmap() (because "raw bitmap" includes padding)
- Makefile: added gobject.o, movblobj.o and bmpload.o to the link

Notes
=====
- !!!!!All of the code written is not tested yet!!!!!!
- BmpLoad probably will crash like heck if given a BMP file with a negative height!

23 months agoBmpLoad Declaration and several changes to move to DosEmu
Mohammed Khoory [Sat, 05 Jun 2010 16:31:55 -0400] rev 2
BmpLoad Declaration and several changes to move to DosEmu

Major Changes:
- Fixed drawSprite() declaration and implemented it (untested)
- Started declaration of BmpLoader (in bmpload.h)
- Started defining some BmpLoader functions (placeholder functions for now)

Minor Changes
- sprite width and height types changed to unsigned long int
- sprite char * changed to unsigned char *
- Fixed return type of getPalette (should be void, palette is stored in an array that
is passed in of size 768
- used new for allocating the graphics buffer and delete for freeing, instead of
malloc and free (untested)
- Added bmpload.o option to makefile
- Added REDIR variable into makefile to get buildoutput to be redirected to a file

Notes:
- BmpLoader does not compile yet. Need to sort out issues with compiler
- GraphicsDevice compiles, but changes were not tested yet
- Moved to DOSEmu because DOSBox just isn't suited for anything that's not games (8.3
files problem)
- Renamed MAKEFILE to Makefile to get make to work nice with it on DOSEMU
- Compiling works with all files

23 months agoPalette setting functions
"Mohammed Khoory" [Tue, 01 Jun 2010 21:14:33 -0400] rev 1
Palette setting functions

- Added and implemented palette setting functions into the GraphicsDevice class. Used
to set the
color palette.
- Implemented clearScreen(char color) in the GraphicsDevice class.
- The project compiles fine and works. New functions havent been tested.

24 months agoInitial commit
"Mohammed Khoory" [Sat, 29 May 2010 16:37:23 -0400] rev 0
Initial commit

This commit contains stuff copied from my working directory. This is the first commit