Commit Graph

312 Commits

Author SHA1 Message Date
Sylae Jiendra Corell
29906153cf Configure file, partial 64-bit support
Thanks to @redsaurus we've now got (partial) 64-bit support. The game and sounds dll now compile under x64.

I've also added a simple python configure script (based off of Arancaytar's cburschka/cadence script) to quickly allow changing compilers.
Gone are the days of three different Makefiles!
2014-06-17 14:36:17 -06:00
a4430cdf5a Fix spellcasting and dynamic menus
- Spell targeting line and array draws nicely, though not the same as the original
- Fix targeting falsely complaining about being off the edge of town
- Monster info dialog works properly; attacks now display correctly
- Fix dialogs always showing the wrong terrain or monster graphic
- Spell menus, monster menus, and PC editor item menus all work
- Spellcasting dialog now chooses the correct spell
- Fix out-of-place LED in spellcasting dialog
2014-04-22 02:06:31 -04:00
d90a006e43 Change install location of base scenario file 2014-04-22 01:58:12 -04:00
434d4c522f Fix several crucial bits of data not being loaded
- Creature save data
- Outdoor wandering encounters
- Fix crash when entering outdoor combat after loading
- Stop using char types in cItemRec
- Move all pending attributes from cMonster to cCreature
2014-04-21 21:35:26 -04:00
e8022df514 Don't rely on exceptions for normal behaviour 2014-04-21 14:06:38 -04:00
9013096624 Fix crash when changing display mode 2014-04-21 13:56:05 -04:00
446bb1550d Some more tweaks to cursor handling
- Fix cursor turning into a sword during universe shifts
- Hide cursor along with menubar during splash screen
- Add watch cursor, used during splash screen
- Properly restore cursor after a dialog
- Use sword cursor for dialogs
- Show ibeam cursor in dialog text fields
- Move everything cursor-related out of graphtool
2014-04-21 13:47:52 -04:00
84192cd52f Finally bring cursors into the resource manager framework
- Hotspots are still hardcoded, unfortunately
- Obscuring the cursor when using the keyboard now works properly
2014-04-21 04:05:55 -04:00
321cd7c2e5 Finally implement the blue hilite tint for the toolbar buttons 2014-04-21 02:27:59 -04:00
e6f75206e5 Various tweaks to the PC editor
- Inspired by commented code!
- Prints "Characters" above the PC buttons
- Shows the current day at the bottom right
- Finally implement the tint for the active PC
- Show gold and food at the top left (currently only when in a scenario)
2014-04-21 02:23:54 -04:00
a8f0222b24 Fix wrong area being hilited when clicking a word in talk mode (mostly) 2014-04-21 01:55:58 -04:00
002ee640da Remove the global TextStyle; this should fix some of the textual glitches 2014-04-21 01:49:07 -04:00
f9a21dd068 Fix up the pick custom scenario dialog 2014-04-20 23:55:01 -04:00
ed4558f805 Replace the soundtool arrays with more compact sets/maps 2014-04-20 23:41:45 -04:00
c13c0cf589 Sorting includes (tools directory) 2014-04-20 23:22:57 -04:00
4cf1c5a8f6 Fix a plethora of bugs and crashes when loading new savegames; loading now works, though with a few glitches still 2014-04-20 17:43:16 -04:00
3a0f1ad7f5 Finish up the bulk of the loading implementation, with some tweaks to saving to make sure it all matches 2014-04-20 15:46:53 -04:00
0c0450f4fe Set up the main logic for loading saved games 2014-04-20 02:23:51 -04:00
a352ee7491 Configure the PC editor to build into the Scenario Editor folder 2014-04-20 01:37:30 -04:00
b23bb30423 Clean up includes in the "classes" folder
- Canonicalized the header guards
- Removed all the sneaky dependencies between files
- Made sure includes were properly sorted
2014-04-20 01:23:15 -04:00
316a3c14ca Drafted up a coding style guide; open to suggestions 2014-04-20 00:54:47 -04:00
4542133707 Delete another useless function 2014-04-20 00:50:47 -04:00
277dd6c208 Get progDir from argv[0] instead of using CoreFoundation 2014-04-20 00:47:43 -04:00
edf37f3291 Fix linker error in the PC editor 2014-04-20 00:26:25 -04:00
750f876ed1 Get most of the output for save files implemented, some existing stuff was tweaked 2014-04-20 00:20:36 -04:00
60d1ce3be9 Initial setup for saving game states
(code may or may not compile at this point)
2014-04-19 22:47:38 -04:00
3f54c63193 Import new dependency into repository: gzstream 2014-04-19 22:28:21 -04:00
e2b8eac644 Make dialogs behave a bit more modal 2014-04-19 09:01:31 -04:00
6f040e2c56 Turns out we never actually need to check which window is in front 2014-04-19 09:01:13 -04:00
19c2b37464 Remove redundant scissor disable and include conditional for OpenGL header
- Because Apple puts it in a different place than every other platform
2014-04-19 08:50:42 -04:00
081b04b8de Remove a useless check for being unregistered in a scenario 2014-04-19 08:47:57 -04:00
211cf06b5c Fix monsters in outdoor combat showing up as empties
- And cut out few more legacy bits from the monster class
2014-04-19 02:04:12 -04:00
f8b40ec2ea Ask to save when quitting from startup screen with a party loaded 2014-04-19 01:53:58 -04:00
d69a0b11d0 Fix transcript starting off scrolled up 2014-04-19 01:43:28 -04:00
2b79f66136 Fix map not disappearing when you press Escape 2014-04-19 01:36:35 -04:00
ef58cd0601 Fix issues with custom dialogs (that is, special node ones) 2014-04-18 22:35:30 -04:00
ba8201d07c Fix the issue where tons of special points appear outdoors 2014-04-18 21:41:15 -04:00
3b00392e99 Get road connections working, and convert grass/hill road crossings from old scenarios
In classic BoE, to make a road cross the boundary of grass and hills, you would place a "road on hill" terrain where the boundary should be, and the game would automatically convert it to the correct type of boundary before drawing the road on top. Now, the game expects you to place the proper boundary there instead, meaning there is some more complicated logic to determine when it needs to draw a road across a boundary, or, in some cases, two consecutive boundaries. It works for the surface world of Valley of the Dying Things; there may still be some edge cases that need fixing.
2014-04-18 18:58:53 -04:00
d0136a6711 Don't bother to run through keystroke handling when the key pressed is a modifier 2014-04-18 17:08:31 -04:00
4f741b440f Fix walkway and wall trims; not sure why shore frills don't also work 2014-04-18 16:59:33 -04:00
55c3f83d22 Fix light masks for dark towns 2014-04-18 01:26:05 -04:00
dca3c3c18f Really fix the talking crash this time, I'm pretty sure 2014-04-18 01:19:13 -04:00
14fe8fcd7b Allow movement (even diagonal) using the arrow keys 2014-04-17 17:07:33 -04:00
964438abf3 Bundle frameworks and fix dynamic library paths to allow distribution
- Also updated readme and removed unused sfml-network dependency
- Remove redundant inclusion of /opt/local library search paths, as my Boost is in /usr/local and trying to compile against the MacPorts version doesn't work for some reason
- Use absolute paths instead of relative paths for linked frameworks and libraries in the project structure
- Don't try to link SFML.framework as it only contains headers, not libraries
- Add freetype to the project (was always a dependency, just more explicit now)
2014-04-17 16:49:07 -04:00
369c7f9f93 Implement scrollbars
- They work almost as you'd expect, though holding the mouse down on an arrow only scrolls once, and it's a little jerky
- Add an additional refresh option to redraw_screen, currently only partially implemented
- Scrollbars now have a page size in addition to pos and max
- cControl::handleClick() now takes the location clicked as a parameter, though the default implementation doesn't use it
- cControl::handleClick() is no longer responsible for redrawing the control when there is no parent dialog
- Fix cTextMsg not allowing retrieval of frame style
2014-04-17 11:33:44 -04:00
b960139d6b Populate item menus in PC editor (they're not functional yet though) 2014-04-17 03:37:44 -04:00
9463ecf2fe Add a few resources for future use:
- Graphics for scrollbars
- DejaVu Sans Book, for "plain" text (to replace Geneva Regular)
- Capriola Regular, for "bold" text (to replace Silom which replaced Geneva Bold)
2014-04-17 02:45:01 -04:00
f449b47f36 Fix a lot of bugs in the PC editor
- Alchemy dialog had black text on dark background
- Buttons didn't depress when clicked
- Edit XP button just said "Edit"
- Two menuitems in Special Edit menu had been left with default names
- Callbacks in Special Edit and Free Extras menu weren't correctly assigned
- Edit XP dialog put the XP to next level in the wrong place
- Fixed alchemy dialog LED naming

Supporting changes in the dialog engine:
- Getting or setting control text as a number now uses the long long type to allow maximal precision
- When adding a label to a button, the dialog's default text colour is used instead of the button's text colour if the dialog's background is dark
2014-04-17 02:24:35 -04:00
9a19383423 Fix PC editor thinking a file is loaded even when the load failed 2014-04-16 23:08:43 -04:00
dae9ddb50b Little tweaks and stuff
- New file extension .boes for scenarios - intent is to use this for the new scenario format
- Turn on auto-enable for Application menu in the game (otherwise the Show/Hide options don't grey out correctly)
- Fix PC graphics not appearing in PC editor
2014-04-16 22:58:35 -04:00