Commit Graph

1145 Commits

Author SHA1 Message Date
Chokboyz
cd3b2cfc43 Trivial Blade Base corrections
git-svn-id: http://openexile.googlecode.com/svn/trunk@95 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-15 11:11:22 +00:00
5001931033 - Split rect_draw_some_item into two versions, one to draw to the screen and on to draw to a GWorld.
- Temporary fix for the fact that PC #6 is often accessed.
- I think that's all...

git-svn-id: http://openexile.googlecode.com/svn/trunk@94 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-11 22:07:17 +00:00
Chokboyz
6070ed2e05 *Uploaded Ormus boesounds DLL code.
*Classic Blades of Exile changes :

Game :

Bug Fixes :

- Giant Strength ability and Skill ability now use the ability strength rather than the item level to calculate effect.
- Won't take damage when moving boats over damaging terrains (fire, cold, magic, poison, disease) anymore.
- Won't take damage when horses refuses to enter a damaging terrain (fire, cold, magic) anymore.
- Horses won't enter damaging terrains (fire, cold, magic) or "horse blocking" terrains when outdoors anymore.
- Boom effects won't be displayed at random places when being damaged outdoors anymore.
- Damage won't be displayed in boom animation when attacking invulnerable monsters, when they are, in fact, unharmed ...
- The first pc won't become active with 0 AP anymore when a pc get killed by backshots.

Changes :

- All terrains and monsters sheets now loaded in memory to bypass storage sheet. That should speed up the game and fix some graphical oddities. Mac and Windows graphics can now be swapped on the fly (i.e without restarting the game). That also removes any graphical limitation in the game.
- In the same way, PC graphics will now be drawn directly to the game gworld.

Scenario Editor :

- Dumping functions won't change current town/outdoor section anymore.
- Finished porting the file IO functions to 32 bits.
- Added a rudimentary custom intro picture behavior : if the intro picture is set to 100, the first icon on the custom sheet will be displayed in the scenario selection menu. Scenario intro pics must be drawn on the same scale as talk icons.
- Whenever the “Place Random Items” function is used, the editor will inform the user that it could not place all items because the town item # limit has been reached, regardless of how many items are actually in the town. That has been fixed (the message now displays only if the max number of items is indeed reached).
- Cleaned the ressources (smaller executable).

git-svn-id: http://openexile.googlecode.com/svn/trunk@93 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-10 21:23:33 +00:00
Chokboyz
0388e1f5c3 Added Windows graphic sheets + base scenario BMP
git-svn-id: http://openexile.googlecode.com/svn/trunk@92 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-10 21:15:06 +00:00
7cd4a618b4 - Got rid of the prefix header in favour of directly including it in every file that needs it (though some files still need the include yet apparently work fine; perhaps a clean build would catch that)
- Replaced all occurrences of FillCRect with the new tileImage, to get away from 'ppat' resources.
- Fixed a minor error in the character editor where part of a text string was off the window.
- With the prefix header gone, libticpp.dylib has been removed; TinyXML++ is now compiled right into the program.
- The scenario editor splash screen is now loaded from a file.
- The pc editor title has its transparency problem fixed.
- Added an overload of tileImage that takes a RgnHandle instead of a Rect in order to replace the single occurrence of FillCRgn.
- Removed an unused function in boe.graphics.cpp
- Changed loading of patterns. Instead of loading each pattern individually from a resource, a single file containing all of them is loading. The arrays that formerly contained the actual patterns now contain the source rects of the patterns.
- Fixed the cursor hotspots (the coordinates were reversed)
- Removed the useless flip_pict that was written when I didn't know what I was doing.
- Fixed error in tileImage in which vrep and hrep were switched.
- Added code to tileImage to ensure that the pattern will line up with anything already onscreen, regardless of the rect to fill.
- Two images were altered: pcedtitle.png to fix the transparenct problem, and pixpats.png to add one pattern that had been missed (and also rearrange the smaller patterns a little)

git-svn-id: http://openexile.googlecode.com/svn/trunk@91 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-10 04:01:15 +00:00
78cd213972 In no particular order:
- Added some of the most basic dialogs
- Changed C-style <xxx.h> headers to C++-style <cxxx> headers
- Switched graphics to load from the PNG files in graphics.exd rather than from Blades of Exile Graphics (NOTE: Some graphics still don't work, probably because of incorrect source rects)
- Switched cursors to load from GIF files in graphics.exd rather than from Blades of Exile Graphics
- Moved Niemand's tileImage functions from boe.graphics.cpp to graphtool.cpp, so they can be used by all three programs.
- Added some string lists in .txt files
- Made cursors into an enum
- Rewrote the code for displaying the Edit Terrain dialog to use the new engine (not tested yet)
- Fixed some __attribute__((deprecated)) stuff
- Most graphics are now loaded just after the custom graphics. This means they will be overridden by a file of the same name in the scenario's .exr folder.
- Altered modes a little so that when at the startup screen you are in MODE_STARTUP rather than MODE_OUTDOORS.
- Switched from function pointers to boost::function – the Boost libraries are now required.
- Finished off the new dialog engine and made gess necessary
- Added status icons as another type that can be drawn in dialogs
- C Wrappers for Cocoa cursors based on an Apple example. This is tested, and works perfectly.
- Added a switch in the program for using Windows graphics; however, there is no way as yet to set this flag, and in fact there aren't even any Windows graphics to use.
- Added include guards to graphtool.h
- Made separate mac and win directories within sounds.exa, since the Mac and Windows sounds are mostly subtly different (with two completely different!)

git-svn-id: http://openexile.googlecode.com/svn/trunk@90 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-07 18:18:24 +00:00
Niemand
91f5435b9d Added new function to tile the contents of a GWorld. It is overloaded, with one version tiling the entire source GWorld, and the other taking a Rect which specifies a portion of the source GWorld to use when tiling. Both versions take a Rect to define the area to tile within, and an optional mode parameter which can be used to set the mode used for CopyBits.
git-svn-id: http://openexile.googlecode.com/svn/trunk@89 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-05 05:06:15 +00:00
c958e5b01c - Generalized the special queue which was formerly used only for town enter/leave specials, and made the see monster special also use it.
- Redid the draw items and draw fields code to draw just on one space rather than the entire area.
- Fixed bug where special spots were not masked properly.
- Removed some large chunks of commented, obsolete code.
- Found and fixed bug where the instant help system caused the game to believe you had stolen items when in fact you hadn't.
- Added enum for special node context (ie the context in which a special node is being run); not really used yet though.
- Added support and graphic for forcecage, and graphic for stone block; mechanics not yet implemented.

git-svn-id: http://openexile.googlecode.com/svn/trunk@88 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-02 02:07:17 +00:00
715aab7a3c - Added simpletypes.h header to hold the enums and typedefs related to the main class headers
- Made boom drawing take from the new boom gworld rather than from the field gworld
- Added enum for monster abilities (will be used for both of a monster's abilities, but isn't used yet)
- Added supporting member functions for the new abilities (not used yet): get ability name and has ability
- Added SDF pointer storage to the party structure together with supporting member functions (not used yet)
- Deleted the "reserved" fields res1, res2, res3 in the monster struct

git-svn-id: http://openexile.googlecode.com/svn/trunk@87 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-01 15:38:23 +00:00
48210becd9 - added a system to display one or two strings and/or call a special the first time the party sees a particular type of monster
- added ambient sound, both outdoor ambient sound and monster vocalizing ambient sound (eg cat meowing when in sight)
- fixed an inconsistency whereby two sounds were swapped relative to their original Mac versions
- added (but haven't yet used much) a few more typedefs for clarity

git-svn-id: http://openexile.googlecode.com/svn/trunk@86 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-31 22:13:43 +00:00
851859d61e Cleaned out many of the warnings (reducing warning count from 718 to 334). Almost all the remaining errors are about unused parameters.
git-svn-id: http://openexile.googlecode.com/svn/trunk@85 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-31 01:38:48 +00:00
c55948c03f - Removed the ADVEN macro in favour of using the overloaded operatr[] on univ.party
- Removed all referenes to cPopulation::dudes in favour of the overloaded operator[]

git-svn-id: http://openexile.googlecode.com/svn/trunk@84 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-30 23:11:47 +00:00
aa2f13c679 - Finally fixed the bug which prevented monsters from appearing in town.
- Attempted in vain to fix the crash when showing the Choose Custom Scenario dialog.
- Cleaned out the commented code in boe.global.h.
- Changed name of scen_header_type::default_ground to rating to reflect its actual use.

git-svn-id: http://openexile.googlecode.com/svn/trunk@83 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-30 22:47:09 +00:00
4359bb558e Added the beginnings of a class to represent an undo list.
git-svn-id: http://openexile.googlecode.com/svn/trunk@82 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-30 04:34:46 +00:00
d2d88311db - Made add_string_to_buf accept a string rather than a char*, and began to take advantage of this.
- Added an operator[] to cParty; I intend to get rid of the ADVEN macro eventually in favour of accessing PCs with the operator
- Added using cMonster::operator= to cCreature, because this will be needed once I rearrange these two structures.
- Added an operator= to the cPopulation type, so that the "monst.dudes[...]" redundancy can be avoide.
- Added outdoors and towns members to the scenario class for future use (they will old all the outdoor sections and towns, respectively, from the current scenario)

git-svn-id: http://openexile.googlecode.com/svn/trunk@81 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-30 03:36:41 +00:00
5c91bc4062 Re-added the sounds (which were removed in the previous revision due to errors)
git-svn-id: http://openexile.googlecode.com/svn/trunk@80 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-29 04:52:06 +00:00
50829034a9 - Added enums for status and player race, traits, and skills.
- The player race enum has been expanded so that it can also be used as monster race; it's not yet used as such though.
- Additional races Vahnatai, Plant, and Bird added.
- Alter the terrain special flags so that they can be used as signed shorts in the few cases that require it, and changed dangerous terrain to combine the curse/bless and slow/haste cases.
- Fixed an unnoticed error which would have probably prevented monsters from being affected by conveyors.
- Refined the dangerous terrain special ability with more messages and also handling all cases except weapon poison.

git-svn-id: http://openexile.googlecode.com/svn/trunk@79 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-29 04:47:54 +00:00
2485e57514 Added an rsrc folder for common resources.
git-svn-id: http://openexile.googlecode.com/svn/trunk@78 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-29 01:35:13 +00:00
eeaa9ca599 Added some typedefs for clarity, and also added a cAttack class.
git-svn-id: http://openexile.googlecode.com/svn/trunk@77 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-28 23:48:10 +00:00
1af17438f3 The new dialog engine is now essentially complete and ready for testing. There could still be some error checking in the cPict class to make sure the required GWorld exists, though.
git-svn-id: http://openexile.googlecode.com/svn/trunk@76 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-27 04:05:08 +00:00
Niemand
5417fda4ca Handle the edge case of the party entering a boat which is on damaging terrain correctly.
git-svn-id: http://openexile.googlecode.com/svn/trunk@75 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-27 01:18:36 +00:00
Chokboyz
b006efdc54 Classic BoE
Game :
* Giant Strength ability and Skill ability now use the ability strength rather than the item level to calculate effects.
* Won't take damage anymore when moving boats over damaging terrains (fire, cold, magic, poison, disease).
* Won't take damage anymore when horses refuses to enter a damaging terrain (fire, cold, magic, poison, disease).

Scenarios Editor :
*Dumping functions won't change the current town/outdoor section anymore.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@74 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-26 20:52:49 +00:00
8507a3302b First version of the new dialog engine added to the repository. It compiles, and links with one error. Because of this, it is untested as yet.
git-svn-id: http://openexile.googlecode.com/svn/trunk@73 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-26 03:17:17 +00:00
6ef3b7c79d Nuked all occurrences of NIL, replacing them with NULL.
git-svn-id: http://openexile.googlecode.com/svn/trunk@72 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-25 03:51:29 +00:00
92bda1c100 - Cleaned out some of the compiler warnings in the scenario editor (removing unused variables mostly).
- Finally removed the grow box in the corner of the scenario editor window.
- Changed #include <iostream> in several headers to #include <iosfwd>, since they were only present for the use of
  the ostream and istream classes, and cout/cin were unneeded.
- Changed bool to Boolean in the old structs, since that's what it was originally.
- Small changes to graphtool, including an overload of get_custom_rect.
- Added gcd function to mathutil; was needed for something in the new dialog engine


git-svn-id: http://openexile.googlecode.com/svn/trunk@71 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-25 03:41:29 +00:00
Chokboyz
b203c94ab7 Initial Import of Win32 Classic Blades of Exile and associated Scenario Editor codes.
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@70 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-24 23:32:16 +00:00
Chokboyz
f457bb85d3 Updated the Blades of Exile Base file.
git-svn-id: http://openexile.googlecode.com/svn/trunk@69 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-24 23:24:46 +00:00
Niemand
27d9a0cbf4 Damaging and dangerous terrains will not affect the party when in a boat. If the party is on horseback they will still be affected.
git-svn-id: http://openexile.googlecode.com/svn/trunk@68 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-23 03:06:49 +00:00
f4afb94fdc Finally uploaded the game documentation, or at least the first few pages of it. It is adapted from the original Mac documentation.
git-svn-id: http://openexile.googlecode.com/svn/trunk@67 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-22 23:05:13 +00:00
0578e51b6f - Fixed issues with loading scenarios caused by the struct alignments added in revision 63.
- Fixed a potential memory leak in load_scenario() in which new was essentially called twice in a row.
- Added a max_items() function to the town record classes, in preparation for an eventual removal of the limit on preset items.

git-svn-id: http://openexile.googlecode.com/svn/trunk@66 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-22 20:49:20 +00:00
Niemand
032d6b86bf Fixed garbage left from an incorrectly resolved conflict.
git-svn-id: http://openexile.googlecode.com/svn/trunk@65 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-22 04:10:30 +00:00
d83db289fa - Added code to check for waterfalls in all 8 cardinal directions
- Fixed bug in which swamp caused a false negative for the wall-rounding code
- Made directions into an enum, with an operator++ and two difference arrays (for x and y).
- Added case to wall-rounding code to handle a lone pillar of wall
- The block_horse flag is cleared when importing a poison or disease terrain, because horses can now not cross status-inflicting terrain at all.
- Added the book Finder icon

git-svn-id: http://openexile.googlecode.com/svn/trunk@64 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-22 03:51:34 +00:00
Niemand
f198b4899d Added include guards to all class headers.
Removed unnecessary or potentially harmful compiler flags. 
Added alignment attribute to all old struct members. 
Removed some unused variables. 
Made some switch statements handle all or more cases. 
Removed using declarations in favor of fully qualified names. 
Fixed a couple of assignments in conditionals that should have been comparisons. 
Eliminated linker warnings by restoring default linking of standard libraries. 
Fixed some comparisons between signed and unsigned integers. 

Note: No testing has been done, in particular of old file I/O. This should be checked for regression caused by alteration of old struct definitions. 


git-svn-id: http://openexile.googlecode.com/svn/trunk@63 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-22 03:01:05 +00:00
8ddf7eccc6 Fixed frills, walkways, and wall round-cornering, but somehow broke special spots.
git-svn-id: http://openexile.googlecode.com/svn/trunk@62 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-21 21:56:34 +00:00
70c7895480 - Fixed bug with damaging terrain – it would print all messages instead of the one specific to the requested damage type.
- The trim and walkway are partially functional. That is, it correctly detects when to round off walls and walkways. It draws them incorrectly though.

git-svn-id: http://openexile.googlecode.com/svn/trunk@61 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-20 13:50:19 +00:00
bf1487114a - Implemented new-style frill drawing using masking (untested)
- Re-implemented walkway drawing in the same way
- Tried to fix an STL error
- A few other thing, maybe?

git-svn-id: http://openexile.googlecode.com/svn/trunk@60 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-18 11:16:46 +00:00
88ff8a0886 Brought back the extra graphics and added extra monster graphics
git-svn-id: http://openexile.googlecode.com/svn/trunk@59 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-17 03:13:00 +00:00
a52a4c20c1 Fixed special spots; they now appear in-game, and disappear when they should.
git-svn-id: http://openexile.googlecode.com/svn/trunk@58 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-17 01:03:22 +00:00
1b68a09993 Fixed walkway smoothing and road connecting.
git-svn-id: http://openexile.googlecode.com/svn/trunk@57 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-16 18:41:27 +00:00
28f4368651 Numerous changes to terrain and trim. The changes to the scneario editor work as expected.
- New way of drawing walkway (doesn't work yet)
- New way of drawing roads (doesn't yet work correctly)
- New way of drawing trim (not tested yet)
- New way of handling marked specials (works in editor but not in game)
- New way of handling two-space rubble in the editor (works as expected)
- Merged several terrain special properties
- Deprecated several terrain graphics
- Completed (probably) the import & convert code for old-format terrain
- Probably other things that I have forgotten that have something to do with terrain
- A few other little things, bugfixes, etc

git-svn-id: http://openexile.googlecode.com/svn/trunk@56 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-09 14:11:39 +00:00
Chokboyz
7bc95dc7c8 Uploaded zipped save files to avoid data corruption.
git-svn-id: http://openexile.googlecode.com/svn/trunk@55 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-07 05:04:09 +00:00
4dc75d51c0 - Merged two classes (cPopulation::cCreature and cTown::cCreature)
- Changes some C-strings to STL-strings
- Fixed the problem where the spiderweb logo would not fully appear if ShowStartupSplash is disabled

git-svn-id: http://openexile.googlecode.com/svn/trunk@54 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-07 02:50:16 +00:00
68dcf3cdef - Moved some files around for better organization
- Fixed compile errors in the other targets.
- Added three test save files: one with a party not in a scenario, one with a party who has just entered Valley of Dying things,
  and one with the same party just after leaving town.
- Added the new menu file for the game that I'm working on (not yet used)

git-svn-id: http://openexile.googlecode.com/svn/trunk@53 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-06 20:23:54 +00:00
f8701fdaff Tried in vain to get the game to write to a savefile in the newly created save format.
git-svn-id: http://openexile.googlecode.com/svn/trunk@52 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-06 19:49:07 +00:00
Chokboyz
6bc706bd7b Uploaded (temporary ?) Win32 savefiles for testing purpose:
- WIN_BOE.SAV is a start-up screen savefile
- WIN_BOES.SAV is a savefile with the party in the Valley of the Dying Things scenario.

git-svn-id: http://openexile.googlecode.com/svn/trunk@51 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-05 14:27:00 +00:00
388cb04602 - Fixed the bug that prevented launching from the Finder
- Wrote almost all the code for saving and loading a new-format party file, plus code to recognize the format of a file.
(Windows saves should also be supported now)

git-svn-id: http://openexile.googlecode.com/svn/trunk@50 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-04 20:10:12 +00:00
1cbb12e1b8 - Fixed more major bugs, both in game and scenario editor.
- Removed all remnants of the password code (I think).
- The game is now almost ready for beta.

git-svn-id: http://openexile.googlecode.com/svn/trunk@49 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-02 20:25:13 +00:00
d60b8a7fb1 - Fixed a few major bugs, and partly removed the out.out redundancy.
- Did some work on the template town implementation. Still far froom finished though.
- Fixed a glitch in which a forced line break (with "|") would erase a character that should not be erased.

git-svn-id: http://openexile.googlecode.com/svn/trunk@48 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-02 03:39:16 +00:00
de3d2f78f5 Mostly various small changes toward fixing some of the major bugs
git-svn-id: http://openexile.googlecode.com/svn/trunk@47 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-01 04:03:41 +00:00
27b95287bc Fixed a few errors from the previous revision, and nuked some of the compiler errors.
git-svn-id: http://openexile.googlecode.com/svn/trunk@46 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-30 04:21:24 +00:00