balder2d-1.0/ 0000755 0001750 0001750 00000000000 11025045105 012030 5 ustar bjorn bjorn balder2d-1.0/history.txt 0000644 0001750 0001750 00000130051 11025044667 014306 0 ustar bjorn bjorn Balder2d detailed changelog.
http://balder.sourceforge.net/
History entries are in reverse chronological order (newest entries first).
10 Dec-2007
- Reuben added definition for textDisplaceY into balder3dtypes to control the
vertical displacement of text in widgets.
- Reuben redesigned the sub-menu page background and saved it in menuskin.png
instead of pagebackground.png.
- Reuben reformatted the paramaters for the skinned widget constructors so that
they are all more uniform.
- Reuben replaced all old guichan gcn::Slider's with the new SkinnedSlider's.
4 Dec-2007
- Reuben added skinnedslider.cpp/h too allow for skinned slider bars in the menu.
- Reuben added Inno Setup script file for making windows installation program.
3 Dec-2007
- Reuben changed the fullscreen option in the menu to control both the menu screen
and the game screen.
- Reuben moved all of the widgets in the /menu/ dir to /menu/widgets/
1 Dec-2007
- Bjorn fixed the bug where AI selection box and color sliders didn't work because
refreshKeys() was being called first thing in the action handler and setting them
right back where they were before, thus they could not get changed.
30 Nov-2007
- Reuben replaced all standard gcn::checkbox objects in the menu system
with WidgetSkinnedCheckBox.
- Reuben add frame size controls to WidgetSkinnedCheckBox.
- Reuben add widgetskinnedcheckbox.cpp/h and menuskin.png
19 Nov-2007
- Reuben removed ending slashes from the python search paths because they
cause an issue with python when it goes to import modules.
18 Nov-2007
- Bjorn fixed bug in windows script paths by using raw python strings so that
single backslash characters are not interpreted as escape characters.
08 Nov-2007
-Reuben cleaned up some temporary log points.
06 Nov-2007
- Reuben renamed the Windows installation instructions to
Balder2D-Win-README.txt.
05 Nov-2007
- Reuben removed Boost FS lib flags from Balder2D-Win.cbp.
- Reuben added some more temp log points.
24 Oct-2007
- Reuben added filepathmanager.cpp/h to Balder2D-Win.cbp project file.
- Reuben added some log file check points for tracking an AI bug.
24 Oct-2007
- Bjorn fixed the bug where life, time, and score limits were not set
unless the option was toggled via the checkbox.
- Bjorn added a function to imageloader to unload (SDL_FreeSurface()) an
image, instead of letting it be called directly
- Bjorn made it so imageloader will only load an image once, after that it
will just return the previously loaded reference
- Bjorn tweaked the soundmanager to load sound files correctly, using the
full path as obtained from filepathmanager.
- Bjorn fixed a crash from double deletion of the font image in renderer
- Reuben changed the main window caption icon to use /balder2d.xpm.
23 Oct-2007
- Bjorn fixed a bunch of memory leaks in ArtificialCotroller::DoControl
- Bjorn fixed a few other minor leaks, but there are still many in
gamemanager (players, spawns, entities are not deleted)
11 Oct-2007
- Bjorn added an arg parser to filepathmanager and a method to get the full
path to the config file.
- Bjorn added FilePathManager class to abstract calls to physicsfs and
provide utility methods to get the search path and find the real path of
a file.
- Bjorn made the artificialcontroller set up iterate through the search
path and add all scrip directories to the python path.
10 Oct-2007
- Bjorn added physfs dependancy in order to make file opening independant
of the location of the binary.
- Bjorn added changes so that images (both sdl and guichan) are loaded
through the imagemanager methods. These methods use physfs to locate
the desired file and then pass the full path to the SDL and Guichan
image loading functions.
- Bjorn eliminated the need for boost::filesystem. The directory search/
enumeration is now done using physicsfs.
08 Oct-2007
- Reuben separated the CodeBlocks project file into two project files, one
for Windows and one for Linux, as the environment variable may vary.
- Reuben modified the CodeBlocks Project file to include the PhysFS lib.
19 Aug-2007
- Bjorn set bindNextKey to false at the beginning of the action handler
for the player setup menu and refreshed the keys so that doing anything
other than pressing a key to bind will cancel the keybinding.
16 Aug-2007
- Bjorn fixed the crash when using the keyboard to select keybinding
buttons due to uninitialized value of bindNextKey.
- Bjorn updated SConstruct to remove gne library path.
- Reuben updated: /src/menu/playersetup.cpp & /src/menu/playersetup.h
Updated: void PlayerSetupMenu::keyPressed(gcn::KeyEvent &keyEvent) so
that the parameter keyEvent is no longer constant. This allows the
function signature to match that of the function keyPressed in the
class gcn::KeyListener for proper overloading.
Bug Fixed: Key Bindings in the Player Setup menu now work again.
15 Aug-2007
- Reuben updated: /src/menu/gamesetup.cpp
Updated: mapDropDown width to 400.
3 Aug-2007
- Reuben updated: /src/menu/menu.cpp
Updated: twinkleAnimation() to run at a faster speed of 1ms.
2 Aug-2007
- Reuben updated Windows Development Evironment Installation instructions
a little. (The different library versions that have been released needs
more testing for compatibilty and instructions need to be made for them.)
- Reuben updated Code::Blocks project file for use with Code::Blocks
version: svn build rev 4338
build: Jul 31 2007, 18:36:03 - wx2.8.4 (Windows, unicode)
- Reuben updated: /bin/menu/twinkle1.png
- Reuben added: /bin/menu/pulse1.png
- Reuben updated: /src/menu/menu.cpp
Updated: twinkleAnimation() to run at a faster speed of 100ms.
Added: pulseAnimation() to play as an animation on the menu screen.
- Reuben updated: /include/menu/menu.h
Added: pulseAnimation().
18 July-2007
- Bjorn applied a patch from Alexander Clausen which adds support for
pausing the game using the Pause key.
16 July-2007
- Bjorn removed the 'rc1' from the version string in the menu
- Bjorn patched the source to run with guichan 0.6.1 (too bad 7.0 is out now)
29 Dec-2006
- Bjorn replaced the rest of the gcn::Button 's in the menu with skinned
buttons.
12 Dec-2006
- Bjorn fixed entities drawing in score box by setting the screen clipping
rectangle to be the background image clipping when drawing entities.
1 Dec-2006
- Reuben updated probe death with transparencies and damage effect
- Reuben made new level "Alpha Quarant".
- Reuben made the buttonskins.png more transparent.
30 Nov-2006
- Bjorn changed background animation scheme to have a static image and
then place animation widgets over animated portions. Hopefully this
will be faster.
- Bjorn fixed a bug in skinnedbuttonwidget where parent constructor was
not called, resulting in some un-initialized values in the widget
- Reuben adjusted skinnedbuttonwidget.cpp so when initialized
buttonState is assigned the value buttonUp.
- Reuben updated buttonskins.png with new skin.
- Reuben cleaned up code in animationwidget.cpp and animationwidget.hpp.
They no longer have setAnimation() and getAnimationFileName() as internal
methods due to a possible memory leak. They weren't needed in any case.
- Reuben added skinnedbuttonwidget.cpp and skinnedbuttonwidget.hpp to
allow for skinned button support.
- Reuben modified Main Menu buttons to utilize the skinnedbuttonwidget
instead of the regular button widget.
- Reuben added buttonskins.png which contains the buttons skins.
- Bjorn fixed a bug in the collision mask where pixels pixels just
outside the width or height of the map could be tested, resulting
in a crash (on some machines)
29 Nov-2006
- Bjorn added the "luna" map
- Bjorn made entities "wrap around" when they go off the edge of the map.
- Reuben adjusted labels on the sound and video menu so that captions are
now capitalized.
- Reuben adjusted the opacity of pagebackground.png from 80% to 60%.
- Reuben dropped the gradient from white to black in pagebackground.png and
made it just gray (0x7f7f7f).
- Reuben re-arranged the menu items again for a cleaner look.
- Reuben added a label to the main menu to display the program version.
- Reuben added support for multiple animation strips in the same image file
to the animationwidget.cpp source code via use of the animationStripLocation
variable.
- Reuben added animated background support to the submenu pages.
- Reuben added pagebackground.png which is the submenu pages background.
- Reuben re-arrange the menu layouts so that they would fit into the new
skinned submenu pages.
27 Nov-2006
- Reuben updated menubackground.png with a new base frame.
23 Nov-2006
- Reuben added support for animations via animationwidget.cpp and
animationwidget.h.
- Reuben added support for animated menu backgrounds.
- Reuben added sample animated menu background. I will add a real menu
background soon.
- Reuben made submenu pages transparent.
15 Nov-2006
- Reuben made a Code::Blocks project file for Windows builds. Added file:
Balder2D.cbp
- Reuben composed a document containing instruction on how to set up a
Win32 Development Environment for Balder2D. Added file:
Balder2D Win32 Development Environment Setup Instructions.txt
12 Oct-2006
- Bjorn made projectile velocity adjustable via the config file.
- Bjorn changed probe velocity to projectile addition to be AddProbeVelocity
- Bjorn made sure to call RefreshKeys() when the player setup menu is
created so that everything is correct when it is first displayed (ie, key
binding buttons are hidden if player 1 is computer controlled).
- Bjorn fixed label bug for keybinding menu, label sizes were not adjusted
when labels were changed, now they are.
18 Sep-2006
- Bjorn fixed the keybinding bug (keybinding was totally broken by the menu
refactor).
- Bjorn added a spawn animation.
- Bjorn added drawing some circles outside of the probe to further highlight
which way the probe is aiming
9 Sep-2006
- Bjorn removed networkmanager and references to it from the new branch
- Bjorn created a no_network branch for creating packages w/o any network
dependancies.
- Bjorn added the packer subdirectory (for package generation) to CVS
- Bjorn added a script to run balder2d when it is installed in a system
wide directory on a linux machine.
- Bjorn added a method to ConfigManager to generate a config file if the
requested config file does not exist.
- Bjorn added the ability to use an alternate config file, specified on
the command line as the first argument.
8 Sep-2006
- Bjorn added some menu files that somehow got missed when he refactored
the menu system.
20 Aug-2006
- Bjorn did a major refactoring of the menu code. Each submenu is now its
own file (well, almost, the multiplayer menus will have to be broken up
if they get worked on again). Almost everything that used to work seems
to be working again. Some testing is required to make sure this didn't
introduce new bugs.
26-June-2006
- Reuben made some changes to the menu layout.
- Reuben cleaned up the code in menu.cpp some.
- Reuben added the "Network ID" to the Network Game menu for lounge chat.
- Reuben setup a text box in the client/host lounges for logging chat text.
- Reuben made the lounge chat "Send" button dump text to the chat log.
- Reuben added the SetStringValue() and GetStringValue() methods to the
configmanager.cpp source code.
22-June-2006
- Reuben added code to the Probe::fire() method to allow for an option to
be set in the config file that will either shoot projectiles with a fixed
speed or with a speed based off of the probes current speed and direction
of movement. New option in config file is named:
"Calculate_Projectile_Velocity_With_Probe_Velocity".
20-June-2006
- Bjorn added a new map (liptoid)
- Bjorn fixed a bug where the sound volume was not set from the config file
unless the volume slider was changed.
- Bjorn made separate sliders for sound and music volume.
13-June-2006
- Reuben updated the "config.xml" with some notations for future
reference.
- Reuben updated the "config.xml" with some additional settings for
multiplayer mode. New settings include: server port, client port,
connection time out (in seconds) and maximum connections allowed.
- Reuben added new functionality to the NetworkManager class to allow
it to actually activate a server or connect a client.
- Reuben updated the menu to allow the network connection interface to
output connection attempts status to the user. This includes connection
failure reasons and connection time-out indication. User can cancel
connection attempts in mid-process without the program locking up.
2-June-2006
- Reuben added Code::Blocks project file for Windows builds.
- Reuben added the new NetworkManager.cpp and NetworkManager.h files.
- Reuben introduced a new dependency, RakNet from www.rakkarsoft.com.
This allows for network capabilities in the game.
24-May-2006
- Reuben made it so that sample maps in the network game lounges update.
- Reuben re-arranged the buttons on the Network Game menu, the Host
Lounge and the Join Lounge.
- Reuben re-arranged the Multiplayer menu to allow a "Host" option.
- Reuben designed and added both the "Host Lounge Menu" and the "Join
Lounge Menu".
22-May-2006
- Reuben updated the general layout of the Multiplayer Menu. Added
"Host" button.
- Reuben updated the todo.txt list with new networking goals, main menu
background, player options menu updates. Some finished items were also
marked as done.
19-May-2006
- Bjorn ripped out all the GNE network code in preparation for a network
overhaul.
29-Apr-2006
- Bjorn fixed the timer bug so it displays 0:00 at the end of the game.
- Bjorn fixed the bug where the explosion animation plays twice when
a probe runs out of life - however, probes for players that disconnect in
a multiplayer game will now simply dissapear, rather than exploding.
12-Apr-2006
- Reuben adjusted the jamfile.mingw to include the library flag -mwindows
to allow the program to be run as a MS Windows app without having to run
through the MS Windows CLI. This prevents the DOS Prompt box from
openning in the background during runtime.
11-Apr-2006
- Reuben adjusted the sample map widget to allow the image that's
loaded to keep its original aspect ratio rather then changing it to the
aspect ratio of the sample map widget.
- Reuben adjusted the sample map widget to center the sample map
inside of the widget rather then posistioning it at the actual X and Y
coordinates of the widget.
7-Apr-2006
- Reuben got the scaling to work for the X and Y deminsions properly.
- Reuben got scaling to work for the sample map. Must work on
scaling proportions to get them to return the proper value.
6-Apr-2006
- Reuben edited the menu to render the sample map on to the game
set up menu.
- Reuben added samplemapwidget.cpp and it's header file to the project.
NOTE: That the sample map doesn't scale the map down to size yet.
28-Mar-2006
- Reuben modified the windows setup script to allow for the installation
of Python 2.4 and Psyco 1.5. It includes the options to download and
then install its components.
26-Mar-2006
- Reuben added LEGAL.TXT.
- Reuben revised the script for compiling a Windows setup program to
allow it to creat a start menu shortcut regardless of whether or not the
'Create Desktop Shortcut' option is selected.
24-Mar-2006
- Reuben made windows installer script for compiling a windows installer
file..
- Reuben made README.TXT.
- Reuben made balder2d.ico.
23-Mar-2006
- Bjorn reduced the projectile lifetime to 200 frames (was 400).
- Bjorn added checks so that you can't configure keybindings/AI scripts for
more players than are set by "Number of Players" in the options menu.
- Bjorn changed the ammo indicators so they rotate around the probe, rather
than aligning with the aiming angle. This makes it easier to see.
- Bjorn added menu.ogg and default.ogg to the music menu. These are not
necisarily final choices, just want to see how they fit as a starting point.
- Reuben added code to SoundManager::PlayMusic() to set the music names
"NONE", "None" and "none" as reserved names that will prevent the game
from playing music during that map.
22-Mar-2006
- Reuben made the main menu save all options to file as soon as one is
changed except for values in number fields. You must either change a
option, start a new game, or exit the program for number fields to save
their value.
- Reuben made the music check box in the main menu toggle the music on
and off in the menu imediatly.
- Reuben made it if music is enabled and music ends it repeats in both
the game and at the main menu.
- Reuben made it so when the main menu comes up it play the menu music.
When game play starts it plays the music specified in the
tag in the maptags.xlm file. If the tag doesn't exist,
the game playes the music named "default". When the game returns to the
main menu it starts to play the "menu" music once again.
- Reuben made it so SoundManager::PlayMusic() checks to see if the music
option is enabled.
- Bjorn made aiListBox fire "changeAIScript" event directly when clicked,
instead of having next/previous or returning to the options menu cause it.
- Bjorn hid keybining button/labels for computer players
- Reuben PlayMusic(const char *name) and StopMusic() to the
SoundManager.
- Bjorn added menu/sampleprobewidget which is now added to the player
setup menu, and is drawn by the gui, rather than blitting a probe sprite
on top of the menu, which ended up showing on top of the AI dropdown.
- Bjorn moved the AI selector box to the top of the player setup screen
- Reuben added the 'music' directory and set the soundmanager to load
music from is rather then the sounds directory.
- Reuben reconfigured the way the soundmanager checks to see if the game
should be playing sounds.
21-Mar-2006
- Reuben added sound toggle based off of the value in the config file.
- Reuben added sound and music check box options storage capability in
the config file.
- Reuben fixed bug with ArtificialController::ShutDown(). When
ShutDown() was called in Windows binary the program terminated prematurly
instead of returning to the main menu.
- Reuben patched a bug in the main menu where only some options were
saved on program exit and the rest were saved on game start. Now all
options are saved on program exit and game start.
- Bjorn ran a code reformatter (astyle), just for fun, on player.cpp Yea
that pretty much obfuscates all the changes, but it looks nice :p.
- Bjorn aligned the livesleft and score indicators to the right side of the
stat box.
- Bjorn added a new font for lives left.
- Reuben patched a bug in the lives remaining counter in the stat box to
hide the lives remaining counter when the game settings are set to
unlimited lives per round.
- Reuben update co-ax map background.
- Bjorn fixed a bug in Probe::AddImpulse() where push power would remain
charged when bumped off a wall, or blown up.
- Bjorn fixed a bug in Probe::AddImpulse() where being bumped off a wall
was different in the horizontal or vertical directions, from a diagonal,
because of failing to use the magnitude of the collision velocity, and
simply adding x and y componants in stead.
- Bjorn bugfix for my own dumbassness (x^2 != x*x)
- Reuben added a "Player Lives Remaining" counter to the players stat box.
- Reuben removed the health and ammo indicators from the players stat box.
- Reuben added a vertical bar graph to the players stat box for probe push
off speed indication.
- Bjorn fixed the Probe-Probe collisions, so exploding probes don't collide
- Bjorn fixed ArtificialController::py_IsLineOfSight so that it tests
evenly along x or y, avoiding missing walls when x's are close together
but y's are not.
- Bjorn did some more work on the ai scripts, so computer players will
try to collect powerups.
20-Mar-2006
- Reuben added the map Co-Ax to the map's directory. It must have texturing
layered onto the background.
- Reuben changed the method in which the config file is saved so were is
saves on program exit as well as start game.
- Bjorn added a mock ArtificialController in 'ac.h' to the bin/scripts/test/
directory, which will initialize the python interpreter and add the 'balder'
module, which many of the scripts require. The unit tests for the scripts
should now be run by running the 'runtests' executable in the test directory.
- Reuben added broken functionality to the menu to save the selected AI
script to the config file. NOTE: must work on this some more for it to
work properly.
- Reuben added functionality to the menu to load the selected AI script
from the config file.
- Reuben added ConfigManager::SetControlType(int, const char*).
19-Mar-2006
- Bjorn added runtest.cpp, which should allow unit tests to be run on scripts
by including ArtificialController, which initializes the 'balder' module.
- Bjorn modified balderai script so the probes don't try to fire through
walls, and don't fire as fast at far away targets (needs work still)
18-Mar-2006
- Bjorn added balder.IsLineOfSight and balder.IsWall python mappings which
map to py_IsLineOfSight and py_IsWall methods of ArtificialController
- Bjorn fixed the ArtificialController::ShutDown() function to properly
empty the controlled probe list.
- Bjorn restructured the scripts directory
- Bjorn added some python exception handling to the ArtificiallController
DoControl method. Now if a script fails, the traceback and exception are
printed, and the probe is removed from the list of probes to control.
- Bjorn made ArtificialController have all static methods and a private
constructor, so it can no longer be instantiated. Instead, it now has
methods "Initialize" and "ShutDown".
- Bjorn moved python module and function loading functions into
ComputerProbeControl structure, and put ComputerProbeControl in its own file.
17-Mar-2006
- Bjorn updated the probe sprite to let the amo show through a bit better.
- Bjorn tweaked the ammo positioning in the probe for better visibility.
- Bjorn changed PROJECTILEWIDTH and PROJECTILEHEIGHT in probe.h to
AMMOWIDTH and AMMOHEIGHT, to avoid any possible conflicts with
PROJECTILEWIDTH and PROJECTILEHEIGHT defined in projectile.h.
17-Mar-2006
- Reuben added AI Script selection control to the Player Options menu.
Note: It's not fully functional yet as it doesn't save the selection
to the config file yet.
16-Mar-2006
- Reuben changed DrawAmmo() to draw the amount of ammo that the probe
has around the inside of the probes sprite. The first piece of ammo
will always be aligned with the probes gun.
- Reuben DrawAmmo() to draw the amount of ammo that the probe has across
the top of the probes sprite.
- Reuben added function for layering the ammo indicator into the probes
that are rendered onto the screen. It's not finished. As they are
rendered on the top left corner of the probes sprite.
14-Mar-2006
- Bjorn commented out the registering of the 'balder' module. More
thought is required here. For now it imports in the other scripts
from the balder.py file; but if constants change, this would have to
be updated.
- Bjorn added two new AI scripts, "randomai" and "simple_aimer".
- Bjorn fixed the python glue code so that if the AI script throws an
exception, it gets cleared, and doesn't kill the python interpreter.
- Bjorn added the ability to specify different ai scripts for different
probes.
11-Mar-2006
- Bjorn fixed the "still able to fire when you're blowing up" bug.
- Bjorn fixed a bug where removed players were still trying to be
controlled by the AI.
- Bjorn changed AI scripts so computer probes now aim at the
closest enemy probe.
- Bjorn updated the mingw jamfile to add the python include and link stuff.
10-Mar-2006
- Bjorn added some cleanup stuff to gamemanager, I'm sure more is needed.
- Bjorn wrote a simple AI script which causes computer controlled
probes to aim for player two and fire.
- Bjorn added python bindings to artificialcontroller
4-Mar-2006
- Bjorn implemented a "random" AI for computer controlled probes
3-Mar-2006
- Bjorn added AI framework.
- Bjorn added code to play a sound when shields are raised (though this
sound does not exist yet).
- Bjorn changed it so shields regenerate after a hit is taken. This
should balance the shield powerup with the other two a bit more.
- Bjorn made the extra spreadfire projectiles start a bit more spread out.
- Bjorn updated the spreadfire indicator so it is easier to see.
- Bjorn tweaked the probe sprite a bit so hopefully it is easier to see
where the gun is aiming.
- Bjorn updated the hit animation to be a bit more transparent.
2-Mar-2006
- Bjorn made shields draw around shielded probes.
- Bjorn increased the erased area around all sprites, which should
eliminate artifacts when we draw effects outside the probe radius.
- Reuben added an indicator so that players may know when their probes
are recharging ammo faster with the powerup 'fast ammo recharge'. The
players probe flashes a modified color once every 3 secs if the powerup
is in effect.
- Reuben added an additional layer to the probe sprites rendered to
show when a spread fire powerup has been aquired by a probe.
1-Mar-2006
- Bjorn updated the probe sprite so it looks more badass and added some
extra guns to be drawn when a spreadfire is picked up.
- Bjorn adjusted the life indicator on the probe so that it can never be
larger than the probe radius, and full life takes up 2/3 of the probe radius
- Reuben added player life indication into the probes that are rendered
onto the game screen.
28-Feb-2006
- Reuben removed sight from menu.cpp to renderer.cpp. I modified
the code to allow the menu to load the sample probes sprite directly.
27-Feb-2006
- Reuben removed constant variables from probe.h.
- const probe_color BLUE = 1;
- const probe_color YELLOW = 2;
- const probe_color RED = 3;
- const probe_color GREEN = 4;
- Reuben added sample probe to the 'Players Option' menu for color
sampling.
- Reuben fixed minor bug with sample probes sprite id. Changed sample
probes sprite id from 'probe' to 'sampleprobe'. I did this to avoid
crash after playing game and returning to the players options menu.
26-Feb-2006
- Bjorn fixed the exploding projectile artifact bug.
- Bjorn removed probestate, projectilestate, and playerinputstate from
the source tree as they never contained any real source.
25-Feb-2006
- Bjorn made probes spawn "randomly" (still deterministic) when no
suitible spawn location can be found.
- Bjorn fixed Collisionmask so that it will return false for points with
negative values, instead of causing a segmentation fault.
- Bjorn removed old, commented out, collision code, as well as some other
bits of commented old crusty stuff that was not needed.
24-Feb-2006
- Reuben modified the way the ConfigManager::GetPlayerColor()
loads a 24 bit color.
- Reuben modified the way the ConfigManager::SetPlayerColor()
saves a 24 bit color.
- Reuben added the action 'colorChange' to menu.cpp and then
connected 'redSlider', 'greenSlider' and 'blueSlider' to
'colorChange' on change.
23-Feb-2006
- Reuben modified the way the ConfigManager::GetPlayerColor()
operates. Instead of taking a SDL_PixelFormat objects address
to get an alpha color component, it expects you to supply an
8 bit alpha color component.
+ const probe_color ConfigManager::GetPlayerColor(int conrtoller,
Uint8 cAlpha)
- Reuben added the Red, Green and Blue Slide controllers to the
'Player Options' menu. They currently load settings from the
config file, but do not save settings to the config file.
- Bjorn added the redspectrum image to the player setup menu.
- Bjorn made the Player Setup container larger, so there was a
100 pixel border on the right as well as the left (insteaf of 150).
- Bjorn switched the positions of the 'Player Setup' and
'Sound and Video' menus in the options menu.
22-Feb-2006
- Bjorn shrunk balderfont.png to allow more room in the menus
- Reuben removed colorspectrum.png and added:
+ redspectrum.png
+ greenspectrum.png
+ bluespectrum.png
20-Feb-2006
- Reuben modified configmanager.cpp to format a 24 bit color from the
config file to a 32 bit color including an 8 bit alpha component.
18-Feb-2006
- Bjorn added "press Esc to return to main menu" to the text displayed
when the game ends.
- Bjorn added experimental joystick support. Joystick controls are
hard coded to use joystick 0 to control the second player (controller[1])
in *addition* to any keys that player might have mapped.
Button0=fire, button1=stick/push, left/right on the direction pad rotate.
15-Feb-2006
- Bjorn changed the score displays to only be outlined in the probe color
- Bjorn made probes draw a filled circle of the probe color and then blit
the new probe blank on top of it.
** note, this introduced a new library dependancy, SDL_gfx **
- Bjorn changed the way entities are rendered. They now have a "DrawOnto"
method which takes a surface, (in our case, the screen) and draws the
correct frame in the correct spot.
- Bjorn tweaked the frame calculations to make aiming match match better.
- Bjorn replaced the blue probe with a semi-transparent blank in preparation
for the new probe render scheme.
- Reuben added bin\menu\colorspectrum.png to the project.
13-Feb-2006
- Reuben modified lines 260 and 278 in gamemanager.cpp under the functions
+ player_id GameManager::CreateNewPlayer()
+ bool GameManager::CreateNewPlayer(player_id, int, bool)
to allow the GameManager to load the colors saved in the config file as
the players color of choice.
- Reuben added two additional functions to configmanager.cpp and
configemanager.h that allows the player to save their probe color or
to load their probe color to the congig file.
+ const probe_color ConfigManager::GetProbeColor(int controller)
+ void ConfigManager::SetProbeColor(int controller, probe_color newColor)
07-Feb-2006
- Reuben changed the assignments on line 25 and 64 in powerup.cpp to
casts rather then assign and truncate to avoid compiler warnings.
5-Feb-2006
- Bjorn tweaked the time delay for freindly projectiles to not
destroy each other, and tested to make sure they are freindly.
- Bjorn fixed the bounce collision detection to only test pixels
on the circle around the edge of an entity, using a better
algorithm to determine what pixels to test than before.
25-Jan-2006
- Bjorn made the id of the last player remaining display when only one
remains.
- Bjorn made player scores display according to their player ID so that
when a player is eliminated, their scores will be left visible.
13-Jan-2006
- Bjorn fixed a clock display bug where there are less than 10 seconds.
02-Jan-2006
- Bjorn made a clock display for timed games.
- Bjorn made "Game Over" and an optional additional message display
when one of the game mode conditions are met. The game then
waits for escape to be pressed and then returns to the main menu.
- Bjorn added a DisplayText method to the Renderer.
- Bjorn made the game end when the time runs out.
- Bjorn made the game end when only one player remains.
- Bjorn made probe lives limited to the number set in game setup.
Players are removed from the game when they run out of lives.
- Bjorn made the game end when the maximum score is reached.
- Bjorn made game type values hidden when the game type is disabled.
- Bjorn changed game type options to check boxes.
- Bjorn addded a setValue method to the NumberField class.
24-Dec-2005
- Bjorn added numberfields for time, lives, and score in game setup.
- Bjorn added methods to the numberfield class to get the value, and
made it only accept numerical input and display right justified.
23-Dec-2005
- Bjorn added the NumberField class to the menu.
- Bjorn moved map selection to a submenu "Game Setup" of the Options
menu. Also added three game types to this menu. These are radio
selections.
11-Sept-2005
- Bjorn changed "mutiplayer" in the main menu to "join network game".
28-Oct-2005
- Bjorn added/implemented serialize and deserilalize methods for
projectiles and powerups. Also added necesarry logic to the
network manager, and update functions in the gamemanager so that
these entities are propegated over the network when a client joins.
- Bjorn made the powerup spawn interval load from the config file.
- Bjorn made the recharge accellerator powerup be times 3 instead of 2.
13-Oct-2005
- Bjorn fixed a bug where powerups would spawn outside the
boundaries, (accidentally using width instead of height)
- Bjorn made probes gain health when picking up a powerup that
the probe already has.
12-Oct-2005
- Bjorn added effects for the shield and recharge acceleration
powerups.
- Bjorn added sprites for more powerups and made generation
random. Also selects the graphic for each powerup.
- Bjorn got the spreadfire powerups working. Powerups
are lost when the probe is destroyed.
- Bjorn fixed a segfault resusting from projectiles fired
into walls.
7-Oct-2005
- Bjorn made random (seeded from the frame number) powerups
appear every certain number of frames (hard coded, needs to go
in config).
6-Oct-2005
- Bjorn added a powerup entity and a factory to produce it
22-Sep-2005
- Bjorn made clients quit when the server disconnects
- Bjorn changed some static_cast to reinterpret_cast to
compile with gcc 4.0. This also appears possibly to have
fixed synchronization problems somehow.
- Bjorn added a test map with just an empty area
18-Sep-2005
- Bjorn fixed the map selection to load from the config file.
- Bjorn added deletion of probe_factory and projectile_factory
when GameManager is deleted.
15-Sep-2005
- Bjorn fixed an uninitialized rotation state for probes.
14-Sep-2005
- Bjorn added UpdatePlayer and UpdateProbe methods to GameManager
- Bjorn changed the network scheme so that entities can
serialize and deserialize themselves to and from a given buffer.
09-Sep-2005
- Bjorn removed some (hopefully) unecisarry mutex locks in
networkmanager to avoid deadlock occuring.
07-Sep-2005
- Bjorn added some more mutex locking to
NetworkManager::DeliverEvents() to hopefully fix some server crashes.
05-Sep-2005
- Bjorn added client notification to destroy probes and players
when other clients disconnect.
- Bjorn added code so that when a client disconnects from the
server, the probes which were under the control of that client
(which is also now kept track of) are destroyed and removed from
the game along with the player objects that controlled them.
(this only happens on the server, notifying other clients still
needs to be implemented)
04-Sep-2005
- Bjorn fixed the code so that the server no longer crashes when
the client disconnects. This is accomplished by checking that a
connection is still connected before sending anything over it and
(hopefully) removing the connection from the connection list.
30-March-2005
- Bjorn made the client wait to deliver events until packets for that frame
arrive from the server.
29-March-2005
- Bjorn addded numbering of inputstate packets and started to implement
tracking by number on the client so it can be assured that all packets for
a frame have arrived before the frame is processed.
25-March-2005
- Bjorn changed input event scheduling on the server to be for the following
frame to help avoid missed input events.
24-March-2005
- Bjorn added sending input over the network.
- Bjorn fixed new player creation to occur in the correct frame, so now
(assuming packets arrive on time) as long as no one touches any controls
clients can join and everyone will stay synchronized. If a player creation
packet arrives after the frame that the player was created in, an error will
be printed; eventeully this should result in a complete update request.
- Bjorn fixed a bug where the starting frame was not being set on the client
- Bjorn made sound volume loaded from and saved to the config file.
23-March-2005
- Bjorn added reading velocity and stuck status to spawn locations.
- Bjorn changed probe creation and respawning to take into account stuck
status (and velocity in the case of respawn).
22-March-2005
- Bjorn changed the timing scheme so that the game will run faster if it gets
behind the frame it should be at. This will helps client synchronization.
23-Feb-2005
- Bjorn added a third player/probe creation method which takes position and
velocity parameters for the probe, which are now sent from the server to the
client so the starting position and velocity of the probes are synchronized.
22-Feb-2005
- Bjorn made the probe creation on the client work. The client now recieves
updates and creates all of the probes which exist on the server, and then
reqeusts creation of as many new probes as hhere are local players on the
client. The server creates those probes and sends back player id's for
each.
19-Feb-2005
- Bjorn did some more work on client initialization:
Clients now send a request for game state and the server responds
by sending the "update complete" packet that will eventually signal
to the client that the server has sent all of the necesarry information.
- Bjorn also changed the list of network connections to be a map, using
the initial network remoteAddress of the reliable (tcp) connection for
the key.
18-Feb-2005
- Bjorn did more work on requesting and sending initial game state.
17-Feb-2005
- Bjorn added a GameStatePacket and moved some of the packet source to
packets.cpp instead of having everithing in the header.
16-Feb-2005
- Bjorn fixed connections so the client can connect and get the map name
without causing a crash on either side.
- Bjorn added a very basic log class to use instead of std::cout << for all
messages. This way logging capabilities can easily be extented.
15-Feb-2005
- Bjorn moved GNE initialization and shutdown into main, so now at least
the network stuff doesn't break anithing that used to work.
01-Feb-2005
- Bjorn started network stuff, added packets and a connection listener
28-Jan-2005
- Bjorn made the map selection dropdown only list directories that actually
contain all of the files needed for a map (or at least named that way).
- Bjorn added a multiplayer menu.
27-Jan-2005
- Bjorn made map selection a drop down menu item instead of a text box.
22-Jan-2005
- Bjorn fixed the bug where blits did not work in fullscreen mode in windows.
- Bjorn fixed a bug where probes could push off faster than the supposed
maximum speed.
17-Jan-2005
- Bjorn made push off speed variable.
- Bjorn made probes have a lasting explosion so one exploding probe can
destroy multiple other probes.
15-Jan-2005
- Bjorn made the volume control slider and fullscreen checkboxes in
the sound/video options menu work. Fullscreen mode shows no sprites
though for some reason.
- Bjorn made keybinding on the player setup menu actualy do something.
11-Jan-2005
- Bjorn made it possible to stick to walls and push off with the same key.
- Bjorn made keybindings be displayed it the player configuration menu. No
actual binding is possible there yet however.
10-Jan-2005
- Bjorn added a player setup and sound/video sub menus to the options menu
09-Jan-2005
- Bjorn doubled the number of probe animation frames (for turning/aiming).
06-Jan-2005
- Bjorn added a text feild it the options menu to select the map to use.
- Bjorn added sound options to the options menu to toggle on or off sound
or music and adjust the volume. None of these controls do anything yet
however.
24-Dec-2004
- Bjorn fixed a bug where a dying probe that was hit would restart its
explosion sequence and give another 3 points to the player firing that
shot.
- Bjorn made scores be displayed in the status information for each probe.
The current scheme is 1 point for a hit, 3 for a kill, -1 if you hit
yourself, and -1 for dying.
- Bjorn added the options menu and an option to set the number of players.
22-Dec-2004
- Bjorn added a gui menu system
21-Dec-2004
- Bjorn moved a few probe "constants" to the config file. more will follow.
- Bjorn made the ConfigManager stuff static.
20-Dec-2004
- Bjorn made the background color of each status display match (sorta)
the probe color for that player.
18-Dec-2004
- Bjorn added a status display area with indicators for ammo and life
remaining for each probe.
- Bjorn added convenience function to the renderer to blit an arbitrary
surface to the screen at some location (mostly for HUD/status stuff).
17-Dec-2004
- Bjorn added the maptags.xml file for maps. This file currently
defines the dimensions of the map, and contains a list of spawn
locations for the map.
- Bjorn made the map to load configurable (via config.xml). Maps are
now loaded from the maps/mapname directory.
16-Dec-2004
- Bjorn made number of players configurable via config.xml and fixed bug
where having a keybinding not found in the config file would cause the
game to crash when input tried to use a null pointer as a key.
11-Dec-2004
- Bjorn update the game field, adding a bit more geometry.
- Bjorn changed how players initially spawn (so they use spawn locations)
and how they respawn (no longer moving and now "stuck") so players can
choose which direction they want to move after they respawn.
- Bjorn made 3 players start by default. Still need to make this variable.
27-Nov-2004
- Bjorn added a circular linked list of spawn locations so that afte a
probe is destroyed it will respawn in the next location, checking to make
sure that spot is not already occupied (prevents spawning on top of other
probes).
26-Nov-2004
- Bjorn added sounds support. All sounds are in the sounds/ directory.
The sound manager plays the "sounds/music.ogg" file as music and proobes
now play sounds for all actions, if the sound file exists for that action.
25-Nov-2004
- Bjorn added animation to the projectiles and a hit animation to the probes
24-Nov-2004
- Bjorn added different color probes and death (exploding) animations for
dying probes.
- Bjorn changed the input class so that there is one Input instance in the
game which is responsible for doing input for all players. It loads
keybindings from the ConfigManager and maps them to the local players.
- Bjorn added a publically accessible ConfigManager to the GameManager.
23-Nov-2004
- Bjorn added the ConfigManager class which uses tinyxml to load and parse
a config file. Also added the config file config.xml and the source for
tinyxml to the repository.
19-Nov-2004
- Bjorn fixed probe starting locations so they depend on id.
- Bjorn made sticking to walls work and changed the keybindings a bit.
- Bjorn reduded the speed at which probes turn and made them respawn with
some velocity.
- Bjorn made probes transfer momentum between each other when colliding.
- Bjorn fixed the bug where entities with overlapping bounding boxes would
have parts of one entity erased by the other.
17-Nov-2004
- Bjorn made entities collide with each other.
- Bjorn Created history.txt
16-Nov-2004
- Bjorn imported the source into the balder2d cvs module.
balder2d-1.0/Balder2D-linux.cbp 0000644 0001750 0001750 00000012666 11022360600 015242 0 ustar bjorn bjorn
balder2d-1.0/Balder2D-Linux.cbp 0000644 0001750 0001750 00000011576 10702540346 015214 0 ustar bjorn bjorn
balder2d-1.0/Balder2D-Win-README.txt 0000644 0001750 0001750 00000042576 10724067632 015672 0 ustar bjorn bjorn Balder2D Win32 Development Environment Setup Instructions
Author: Reuben Lord
Last Revised: 11/14/06
==================================================================================
Please note:
1. The build and install process described below has only been tested in the order written from top to bottom.
2. Path names for libraries and development tools that have been extracted from packages with different version numbers than the ones described below may very.
==================================================================================
Installing MinGW
-----------------
1. Download the installer "MinGW-5.0.0.exe" or later from: http://www.mingw.org
2. Double click the installer to run it.
3. Click "Next >" at the Welcome screen.
4. Click "I Agree" at the EULA.
5. Select a mirror that is physically closest to you.
6. Make sure "Download as needed and install" is selected.
7. Click the "Next >" button.
8. Select the "Current" MinGW package.
9. Click "Next >".
10. Under the list of components to install, check "MinGW base tools" and "g++ compiler".
11. Click "Next >".
12. Select an install path for MinGW. Default: "c:\MinGW"
13. Click "Next >".
14. Select a folder in the Start Menu for you MinGW shortcuts to go in. Default: "MinGW"
15. Click "Install".
16. Watch MinGW download and install.
17. Click "Finish".
==================================================================================
Installing MSYS
----------------
1. Download the installer "MSYS-1.0.11-2004.04.30-1.exe" or later from: http://www.mingw.org
2. Double click the installer to run it.
3. You will be asked "Do you really want to install Minimal SYStem?" Click "Yes".
4. Click "Next >" at the Welcome screen.
5. Click "Yes" at the EULA.
6. Click "Next >" at the Information screen.
7. Select an install path. Default: "C:\msys\1.0"
8. Under component selection, select "Installation for i386 based CPUs (Works for all x86 based CPUs >= i386)".
9. Click "Next >".
10. Select a folder in the Start Menu for you MinGW shortcuts to go in. Default: "MinGW"
11. Click "Next >".
12. Review setup settings.
13. Click "Install".
14. Watch it install MSYS.
15. A command prompt with the MSYS post installer setup tool in it should appear after the installer finishes installing MSYS.
16. Press the "y" key on you keyboard and hit "Enter" to continue with the post installer.
17. Press "y" and hit "Enter" if you have MinGW installed.
18. Enter the location of your MinGW installation in the following format. Default: "c:\\MinGW"
19. It will perform some checks and then ask you to "Press any key to continue..."
20. The post installer tool will now close and bring you back to the primary installer.
21. Uncheck all check boxes.
22. Click "Finish".
23. If you want to change the colors for the MSYS interface they are defined in the file "C:\msys\1.0\msys.bat".
==================================================================================
Building & Installing SDL (Simple Directmedia Layer) Libraries
---------------------------------------------------------------
1. Download the source code "SDL-1.2.9.zip" or later from: http://www.libsdl.org
2. Extract all of the files to "C:\tmp\".
3. Run the MSYS shell.
4. Type: cd /c/tmp/SDL-1.2.9/
5. Type: ./configure && make && make install
6. MSYS will now start building and installing the primary SDL libraries.
7. For the DLL file, refer to the section below named "Installing DLL Files".
==================================================================================
Installing SDL_image Libraries
-------------------------------
1. Download the source code "SDL_image-devel-1.2.4-VC6.zip" or later from: http://www.libsdl.org/projects/SDL_image/
2. Extract all of the files to "C:\tmp\".
3. Go to: C:\tmp\SDL_image-1.2.4\
4. Copy "include\SDL_image.h" to "C:\msys\1.0\local\include\SDL".
5. Copy "lib\SDL_image.lib" to "C:\msys\1.0\local\lib".
6. For the DLL files, refer to the section below named "Installing DLL Files".
==================================================================================
Installing SDL_mixer Libraries
-------------------------------
1. Download the source code "SDL_mixer-devel-1.2.6-VC6.zip" or later from: http://www.libsdl.org/projects/SDL_mixer/
2. Extract all of the files to "C:\tmp\".
3. Go to: C:\tmp\SDL_mixer-1.2.6\
4. Copy "include\SDL_mixer.h" to "C:\msys\1.0\local\include\SDL".
5. Copy "lib\SDL_mixer.lib" to "C:\msys\1.0\local\lib".
6. For the DLL files, refer to the section below named "Installing DLL Files".
==================================================================================
Building & Installing SDL_gfx Libraries
----------------------------------------
1. Download the source code "SDL_gfx-2.0.13.zip" or later from: http://www.ferzkopp.net/joomla/content/view/19/14/
2. Extract all of the files to "C:\tmp\".
3. Make the modifications listed in step 5 to the following header files:
a. C:\Tmp\SDL_gfx-2.0.13\SDL_framerate.h
b. C:\Tmp\SDL_gfx-2.0.13\SDL_gfxPrimitives.h
c. C:\Tmp\SDL_gfx-2.0.13\SDL_imageFilter.h
d. C:\Tmp\SDL_gfx-2.0.13\SDL_rotozoom.h
4. The following is the original code block in 4 of the SDL_gfx header files:
#ifdef WIN32
#ifdef BUILD_DLL
#define DLLINTERFACE __declspec(dllexport)
#else
#define DLLINTERFACE __declspec(dllimport)
#endif
#else
#define DLLINTERFACE
#endif
5. Make changes in all 4 header files listed above by REM'ing out lines 1, 2, 3, 4, 5, 6, 7 and 9 of the following code block:
//#ifdef WIN32
//#ifdef BUILD_DLL
//#define DLLINTERFACE __declspec(dllexport)
//#else
//#define DLLINTERFACE __declspec(dllimport)
//#endif
//#else
#define DLLINTERFACE
//#endif
6. Run the MSYS shell.
7. Type: cd /c/tmp/sdl_gfx-2.0.13
8. The "README" file in the dir
8. Type: ./autogen.sh
9. Type: ./configure
10. Type: ./nodebug.sh
11. Type: make
12. Type: make install
13. Type (this doesn't work): ldconfig
14. There is no DLL file for this library.
==================================================================================
Building & Installing PhysFS Libraries
---------------------------------------
1. CMakeCache.txt
line 137: CMAKE_USE_RELATIVE_PATHS:BOOL=ON
2. platforms/windows.c
rem out lines 334 - 340
==================================================================================
Installing Guichan Libraries
-----------------------------
1. Download "guichan-0.4.0-mingw32.zip" or later from: http://guichan.sourceforge.net/
2. Extract all of the files to "C:\tmp\".
3. Copy all files from "C:\tmp\guichan-0.4.0-mingw32\include\" to "C:\msys\1.0\local\include\".
4. Copy all "*.a" files from "C:\tmp\guichan-0.4.0-mingw32\lib\" to "C:\msys\1.0\local\lib\".
5. For the DLL files, refer to the section below named "Installing DLL Files".
==================================================================================
Installing Python Libraries
----------------------------
1. Download "python-2.4.2.msi" or later from: http://www.python.org/
2. Run the Python installer.
3. On the user selection screen select "Install for all users".
4. Click "Next >>".
5. On the Select Destination Directory screen make sure the destination is set to: C:\Python24\
6. Click "Next >>".
7. On the Customize Python 2.4.2 screen select all components.
8. Click "Next >>".
9. Watch the installer install Python 2.4.2.
10. On the Completed installation screen click "Finish".
11. For the DLL files, refer to the section below named "Installing DLL Files".
==================================================================================
Installing Psyco Libraries
---------------------------
1. Download "psyco-1.5.win32-py2.4.exe" or later from: http://psyco.sourceforge.net/
2. Run the Psyco installer.
3. On the Welcome screen click "Next >".
4. On the Python installation verification screen make sure it located the version of Python you currently have installed.
5. Click "Next >".
6. On the Ready to Install screen click "Next >".
7. Watch Psyco install.
8. On the last screen just click "Finish".
9. For the DLL files, refer to the section below named "Installing DLL Files".
==================================================================================
Installing TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi SVN Tool
---------------------------------------------------------------
1. Download "TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi" or later from: http://tortoisesvn.net/
2. Run the Tortoise SVN installer.
3. On the welcome screen of the installer click "Next >".
4. Mark Accept for the EULA.
5. Click "Next >".
6. Make sure all components are selected on the Custom Setup screen.
7. Pick an installation path. Default: C:\Program Files\TortoiseSVN\
8. Click "Next >".
9. On the Ready to Install screen click "Install".
10. It will now begin installing.
11. On the completion screen un-check "Show Changelog".
12. Click "Finish".
13. It will now ask you to restart you system, click "Yes".
14. Your system should restart now.
15. Open your C:\ drive.
16. Create a new directory named "Balder2D".
17. Right click on the directory "C:\Balder2D\" directory that you just created to get the context menu.
18. Click on the "SVN Checkout..." command.
19. The Checkout dialog box will now appear.
20. In the "URL of repository" field enter: https://svn.sourceforge.net/svnroot/balder
21. Make sure the "Checkout directory:" says: C:\Balder2D
22. Click "OK".
23. It should now start checking everything out of the SVN and list them out as it does check them out.
24. When it's done just click the "OK" button.
25. You should have the latest copy of the Balder2D source code all downloaded into the "C:\Balder2D\" directory at this point.
==================================================================================
Installing DLL Files
---------------------
- SDL DLL
1. Copy from "C:\msys\1.0\local\bin\SDL.dll" to "C:\Balder2D\bin\".
- Guichan DLL's
2. Copy from "C:\Tmp\guichan-0.4.0-mingw32\bin\guichan.dll" to "C:\Balder2D\bin\".
3. Copy from "C:\Tmp\guichan-0.4.0-mingw32\bin\guichan_sdl.dll" to "C:\Balder2D\bin\".
- SDL_image DLL's
4. (DON'T NEED) Copy from "C:\Tmp\SDL_image-1.2.5\lib\jpeg.dll" to "C:\Balder2D\bin\".
5. Copy from "C:\Tmp\SDL_image-1.2.5\lib\libpng12.dll" to "C:\Balder2D\bin\".
6. Copy from "C:\Tmp\SDL_image-1.2.5\lib\SDL_image.dll" to "C:\Balder2D\bin\".
7. Copy from "C:\Tmp\SDL_image-1.2.5\lib\zlib1.dll" to "C:\Balder2D\bin\".
- SDL_mixer version 1.2.6.0 DLL
8. Copy from "C:\Tmp\SDL_mixer-1.2.6\lib\SDL_mixer.dll" to "C:\Balder2D\bin\".
- SDL_mixer version 1.2.7.0 DLL or later
9. Copy from "C:\Tmp\SDL_mixer-1.2.7\lib\ogg.dll" to "C:\Balder2D\bin\".
10. Copy from "C:\Tmp\SDL_mixer-1.2.7\lib\SDL_mixer.dll" to "C:\Balder2D\bin\".
11. Copy from "C:\Tmp\SDL_mixer-1.2.7\lib\vorbis.dll" to "C:\Balder2D\bin\".
12. Copy from "C:\Tmp\SDL_mixer-1.2.7\lib\vorbisfile.dll" to "C:\Balder2D\bin\".
- Python 2.4 DLL
13. When Python 2.4 is installed it installs the DLL in the %PATH% directory.
- Psyco 1.5
14. If it has any DLL's it installs them for you.
==================================================================================
Installing Code::Blocks IDE
----------------------------
1. Download "codeblocks-1.0rc2.exe" or later from: http://www.codeblocks.org/
2. Run the installer.
3. At the Welcome screen click "Next >".
4. On the EULA screen select the accept option.
5. Click "Next >".
6. On the Select Destination Location screen choose your installation path. Default: C:\Program Files\CodeBlocks
7. Click "Next >".
8. On the Select Components screen select "Full installation".
9. Click "Next >".
10. On the Select Start Menu Folder screen select a folder to store it in or leave the default.
11. Click "Next >".
12. On the Select Additional Tasks screen select the icons that you want it to make.
13. Click "Next >".
14. On the Ready to Install screen review your installation configuration.
15. Click "Install".
16. Watch it install Code::Blocks for you.
17. On the Information screen click "Next >".
18. On the Complete screen click "Finish".
19. Code::Blocks will now load for you.
20. The Compilers auto-detection screen will appear.
21. Select the compiler: GNU GCC Compiler
22. The Status for the "GNU GCC Compiler" should equal: Detected
23. Click the "Set as default" button.
24. Make sure at the bottom of the window you see the string: Default compiler: GNU GCC Compiler
25. Click "Close".
26. Code::Blocks finished loading up.
27. If the "Tip of the Day" shows up uncheck "Show tips at startup" and click "Close" on the Tip dialog box.
28. To open the project file click on the "File" menu.
29. Then click the "Open" menu option.
30. Open "C:\Balder2D\Balder2D.cbp".
31. Now you should be able to build Balder2D with in Code::Blocks.
32. To build Balder2D in Code::Blocks click on the "Build" menu.
33. Then click the "Build" menu option (or press Ctrl+F9 to build).
34. It will then build Balder2D and put the executable file in the following path: C:\Balder2D\bin\Balder2D.exe
==================================================================================
Creating a Code::Blocks IDE project file
-----------------------------------------
1. Open Code::Blocks.
2. If you have any projects open, then close them.
a. On the main menu click on the "File" menu.
b. Then click on the "Close project" menu option.
3. On the main menu click on the "Project" menu.
4. Then click on the "New project..." menu option.
5. The "New from template" dialog box will appear.
6. Select the "Console Application" icon.
7. Check the "Do not create any files" check box.
8. Set Project options: Console Application
9. Set File(s) options: C++ source
10. Click the "Create" button.
11. The "Save project" dialog box will appear.
12. Save it to: C:\Balder2D\Balder2D.cbp
13. On the right hand side of the IDE is a tabbed window named "Management" (in the main menu it is "View>Manager" (Shift+F2)). This will be referred to as the "Management Bar".
14. Select the "Projects" tab on the Management Bar.
15. Right click on the "Console application" node.
16. Click on the "Properties" menu option.
17. The "Project/targets options" dialog will appear.
18. Select the "Project" tab.
19. Set Title: Balder2D
20. Select the "Targets" tab.
21. Set Output filename: bin\Balder2D.exe
22. Set Execution working dir: bin\
23. Select the "Project" tab.
24. Click on the "Project's build options..." button.
25. This will make the "Project's Build options" dialog box appear.
a. You can also reach this dialog box by right clicking on the project's node in the Management Bar.
b. Click on the "Build options" menu option.
26. Select the "Linker" tab.
27. Add all of the libraries for the linker to link to the project. I'm not sure if it requires a certain order, but if it does this order works.
a. mingw32
b. guichan
c. guichan_sdl
d. SDLmain
e. SDL_gfx
f. SDL
g. SDL_image
h. SDL_mixer
i. C:\msys\1.0\local\lib\libboost_filesystem-mgw-1_33_1.lib
j. python24
28. Click on the "Add" button.
29. Set File: [LIBRARY NAME]
30. Click "OK".
31. Repeat until all libraries have been added.
32. Under the "Linker" tab there is a text window titled "Other linker options:", add this line: -mwindows
33. Select the "Directories" tab.
34. Under the "Directories" tab select the "Compiler" tab.
35. Add all of the #include directories for the compiler to look in for the different library header files. Please note when entering directories here do not put an ending "\" because it confuses the compiler.
a. C:\MinGW\include
b. C:\msys\1.0\local\include
c. C:\msys\1.0\local\include\SDL
d. C:\Python24\include
36. Click on the "Add" button.
37. Set Directory: [#INCLUDE PATH]
38. Click "OK".
39. Repeat until all #include directories have been added.
40. Select the "Directories" tab.
41. Under the "Directories" tab select the "Linker" tab.
42. Add all of the library directories for the compiler to look in for the different library files. Please note when entering directories here do not put an ending "\" because it confuses the compiler.
a. C:\MinGW\lib
b. C:\msys\1.0\local\lib
c. C:\Python24\libs
43. Click on the "Add" button.
44. Set Directory: [LIBRARY PATH]
45. Click "OK".
46. Repeat until all library directories have been added.
47. Click the "OK" button on the "Project's Build options" dialog box.
48. Click the "OK" button on the "Project/targets options" dialog box.
49. Right click on the project node "Balder2D" in the Management Bar.
50. Click on the "Add files recursively..." menu option.
51. Select: C:\Balder2D\src\
52. Click the "OK" button.
53. The "Multiple selection" dialog box will appear.
54. Make sure all files are selected. Make sure you see Selected: 40
55. Click the "OK" button.
56. Right click on the project node "Balder2D" in the Management Bar.
57. Click on the "Add files recursively..." menu option.
58. Select: C:\Balder2D\include\
59. Click the "OK" button.
60. The "Multiple selection" dialog box will appear.
61. Make sure all files are selected. Make sure you see Selected: 31
62. Click the "OK" button.
63. Click "File" on the main menu.
64. Click the "Save project" menu option.
65. This project file is ready to compile. balder2d-1.0/run_balder.sh 0000644 0001750 0001750 00000000516 11025044667 014517 0 ustar bjorn bjorn #!/bin/bash
# This script is for running balder2d if it is installed system wide.
# The prefix below should be changed to where it is installed.
lib_prefix=/usr/share/games
bin_prefix=/usr/lib
if [ -n "$1" ]
then
CONFIG_FILE=--config $1
else
CONFIG_FILE=
fi
${bin_prefix}/balder2d/balder2d --data $lib_prefix/balder2d $CONFIG_FILE
balder2d-1.0/Balder2D.desktop 0000644 0001750 0001750 00000000240 10514624715 015012 0 ustar bjorn bjorn [Desktop Entry]
Encoding=UTF-8
Name=Balder2D
Comment=2D overhead shooter in Zero G
Exec=balder2d
Icon=balder2d.xpm
Type=Application
Categories=Game;ArcadeGame;
balder2d-1.0/GPL-2.txt 0000644 0001750 0001750 00000043105 10517524140 013363 0 ustar bjorn bjorn GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
balder2d-1.0/LEGAL.TXT 0000644 0001750 0001750 00000001353 10514624715 013273 0 ustar bjorn bjorn Copyright (C) 2006 by Bjørn Hansen
holomorph@users.sourceforge.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the
Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
balder2d-1.0/SConstruct 0000644 0001750 0001750 00000001237 10725406262 014100 0 ustar bjorn bjorn # SConstruct for building balder2d with scons
includepath = ['/usr/include/python2.4','include']
env = Environment(CPPPATH=includepath)
#avoid leaving .sconsign files all over the place, put all signatures in:
env.SConsignFile("scons-signatures")
debug = ARGUMENTS.get('debug', 0)
if int(debug):
env.Append(CCFLAGS = '-g')
import glob
files = glob.glob("src/*.cpp") + glob.glob("src/*/*.cpp") + glob.glob("src/menu/*/*.cpp")+ glob.glob("src/*/*.c")
libs = Split('guichan_sdl guichan SDL_image SDL_mixer SDL_gfx python2.4 physfs')
env.ParseConfig('sdl-config --cflags --libs')
env.Program('bin/balder2d',files, LIBS=libs)
SConscript('bin/scripts/test/SConscript')
balder2d-1.0/Balder2D-Win.cbp 0000644 0001750 0001750 00000012411 10725372325 014644 0 ustar bjorn bjorn
balder2d-1.0/README.TXT 0000644 0001750 0001750 00000001051 10514624715 013377 0 ustar bjorn bjorn Balder2D is currently under development and may have flaws in it in the form
of minor and/or major bugs. We are always looking for things that we might
have overlooked, so if you find a bug we would like to know about it.
This way we can fix it as promptly as possible.
Please submit any bug reports that you might have to our bug tracking system at:
http://sourceforge.net/tracker/?func=add&group_id=49631&atid=699305
or e-mail our Project Administrator:
Bjørn Hansen
holomorph@users.sourceforge.net
Thank you and we hope you enjoy the game!
balder2d-1.0/balder2d.iss 0000644 0001750 0001750 00000004420 10725325325 014242 0 ustar bjorn bjorn #define MyAppName "Balder2D"
#define MyAppVerName "Balder2D 0.9"
#define MyAppVersion "0.9"
#define MyAppPublisher "Bjørn Hansen"
#define MyAppExeName "balder2d.exe"
#define MyAppIconName "balder2d.ico"
[Setup]
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
LicenseFile=C:\balder2d installer\LEGAL.TXT
InfoAfterFile=C:\balder2d installer\README.TXT
OutputDir=C:\
OutputBaseFilename=balder2d_0_9
Compression=lzma
SolidCompression=yes
[Languages]
Name: english; MessagesFile: compiler:Default.isl
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags:
[Files]
Source: C:\balder2d installer\bin\balder2d.exe; DestDir: {app}; Flags: ignoreversion
Source: C:\balder2d installer\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\bin\{#MyAppExeName}; WorkingDir: {app}\bin\; IconFilename: {app}\bin\{#MyAppIconName}
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}
Name: {userdesktop}\{#MyAppName}; Filename: {app}\bin\{#MyAppExeName}; WorkingDir: {app}\bin\; Tasks: desktopicon; IconFilename: {app}\bin\{#MyAppIconName}
[Components]
Name: Python_2_4; Description: Download & Install Python 2.4 (Required); Types: full compact; Languages: ; ExtraDiskSpaceRequired: 16700000
Name: Psyco_1_5; Description: Download & Install Psyco 1.5; Types: full; Languages: ; ExtraDiskSpaceRequired: 1000000
[_ISToolDownload]
Source: http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi; DestDir: {tmp}; DestName: python-2.4.2.msi; Components: Python_2_4; Languages:
Source: http://easynews.dl.sourceforge.net/sourceforge/psyco/psyco-1.5.win32-py2.4.exe; DestDir: {tmp}; DestName: psyco-1.5.win32-py2.4.exe; Components: Psyco_1_5; Languages:
[Code]
function NextButtonClick(CurPage: Integer): Boolean;
begin
Result := istool_download(CurPage);
end;
[Run]
Filename: {sys}\msiexec.exe; WorkingDir: {tmp}; Components: Python_2_4; Languages: ; Parameters: "/i ""{tmp}\python-2.4.2.msi"""
Filename: {tmp}\psyco-1.5.win32-py2.4.exe; WorkingDir: {tmp}; Components: Psyco_1_5; Languages:
balder2d-1.0/bin/ 0000755 0001750 0001750 00000000000 11025040046 012577 5 ustar bjorn bjorn balder2d-1.0/src/ 0000755 0001750 0001750 00000000000 11025040012 012607 5 ustar bjorn bjorn balder2d-1.0/include/ 0000755 0001750 0001750 00000000000 11025040011 013442 5 ustar bjorn bjorn balder2d-1.0/bin/projectile.png 0000644 0001750 0001750 00000005050 10514624715 015462 0 ustar bjorn bjorn ‰PNG
IHDR p "Gy| bKGD è P —ͬ pHYs šœ tIMEÕ0gîhz tEXtComment Created with The GIMPïd%n ŒIDATxÚí˜klÕÇÿwfö½ž5~'@âÆà(”<BK!”–” •̪P‹J)|@-â•(RQQ)T-ª@´ªª
-ÁMÕX" *
1u(MŒÛ!ëÄ»^{=»;;;Ï?än´ob#PaÅ‘FÚ¹gîÙû»çÜÿ¹ Ç|f£eüäí©‰ox£^²Hþd/¤M¼Ç~À–•
o/ÉA’}U?É^Ù§$¯÷õ'ÙGrдvï³ì=ûIî$¹©Nÿa’÷ì®ñ¯%y?É/‘\MrÉD¿E¶mü™ólóÉ«‹™Í—i=)ýIß¿¤bÜóKsæ[kÏËc‡rÑF²Õ)¿ðl1»FZ1Òú6Ù>#'v#I{~–ÓKr¦Îؽòk^ûÉŒSú h…R“!y-ÉI!ÛûH&IvËgb$µbæË+ŠSç?Y8ºvº4ÝÿM٧ϵvÎ2œ¿Í6Òúj’öÄ{ÜØ /òܱmNùï¯iý
#ë5¾AßË>o¤õ«Œ´~®‘Ö£$‡ký$kîß ù0Éuü÷‘ì‘கQ5(};H6K@B¹HFëɵ `¤õ°1¹l9óí;—ÙBò§¸ )ó/[ÍÙï3Ò1Ÿy½º*Æ=šçì¿ÖH뫌´ ?àÎF x.ÉÉsHÞJò^’oHŸi—~÷º‘Öi¤õW\k×S$¯$y_±î•c5Ëh2Ia’WÖ<›)Ñ”÷˾U€Éjžï€Já¾K‹™Í;J™-ϹÖówÜ+£VAPþ¾‘ÖWi}³‘Ö“UŸãó$¬ŽiY™¡O;?
€À0$¯0€TuÞÔÈæ?jÑ+úîp·[yîéPlë³U(FZW ´ø€ƒü´PNq 8 p1
“©so>b—þ0[™»åU e ³ (ßu€ûÞxÞ6î,“å?'Ú¶k5ßzÉ×?{™]¸û¡XëÓÛ•PŸ ÀÍ î` ëJV8àÐ1hh`
!Þ!ùÉa!ÄúH¤Uk€€„ 1 Ëåï—T팇“7í(Ï\wÍGÆd{œäƒÒ´Szx¹[~âl¡´fÒooŽè·_à vXc¤uÀ:3»©¤†¿r½PZFT 4x „çÊEqDÓãjø¼Ó̽BrP±Mq;ÉáÒÔ™} "ÖÌÕMËg·ø‡âV™¶È…p<ÅxÀJ’ïÈEs¾bý±wª“B«Ba…L7Ì!I)ZdšJÈý+ã9ï^PÌ\zc){Ùsæ;wZs?JÉÔ“cv“ÜøyÛHëw“+ƒbæâ]–q÷z9fb¾2Òú×G׳œÿÁë•âƒÝ‰ ùm¶X½uþWU„•"hh!Ö(J´[J÷á:e@BY-÷ûI®5Òºb¤uÝÌ]·Ñ÷2_“û醪p¨ö?4¾É©üçÅJá7ÿrʃ?ü¹¯’LÎ/#öfË#£ceÛÜþÏJáçËÈ=^†·×²2C~Àµ
reÌ&’;-{Ï~ÓÚ½o~ôi6´©þ¶¦Úû®\
j¢AÁ5Ís¤h0xM ’RuÆ¥«,¯€b£AŸP‘ùm]9{ð:dYÓ"ÕtU
ÏÈÈ.âR¿á°ZK©Ï=›½a]¬:qÁÌ‘r×@®òaà‰H<…P8ßÐ*Z²®´»r…“À[!K Ó¡¨ÇÒhà–%Æ{‹8ÕߦˆÈ+\}?€Â'
â f®ëI)Éæ”Ö³¾Ô|û£E ¾"XèÙÜm[⬔WÁ÷N¥g¾wŠ6Ññè^k)ð”T[³H¤:ËèT4Z%ŸŽ•ƒï•_X à2 ï(êYÐB§ UÓ€¾W€ç¦øÿp@B