Commit Graph

2242 Commits

Author SHA1 Message Date
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
92bcdf20e0 Legacy game saves now load, probably correctly
- Also fixed the file pick dialogs, which now return a path instead of a file:// URL
2014-04-16 22:50:59 -04:00
6fef467caa Fix open game dialog not allowing valid save files to be selected 2014-04-16 17:50:41 -04:00
eb2e8f3536 Fix button label in one of the PC editor dialogs 2014-04-16 17:50:16 -04:00
d7e372b7a9 Delete a useless function 2014-04-16 17:49:59 -04:00
199f84e0db Make dialog preview stylesheet default to dark background 2014-04-16 17:49:13 -04:00
caa461f8e7 Tear out most of the legacy code in the PC editor - see below for details
(Scenario Editor is unaffected by this commit.)

- Menubar converted to a .xib file
- Don't include the Info.plist in "Copy Files" stage
- Several more dialogs converted; as before, the source resources have had their resource name changed to the new filename
- One more converted STR# has been included

There were several functions in the PC Editor code that also existed in the BoE game code. I've moved these into the pc.editors.cpp file, so that there's only one copy of each.
- display_alchemy() functions changed signatures
- moved keyToChar() function into a common file (winutil)
- Several constants and globals moved to pc.editors.cpp

Supporting changes to dialog framework:
- New formatting option to set the frame style; this because the PC editor uses a different frame style in some contexts
- Added global default dialog background setting
--> This was necessary to correctly set the default text colour
--> Will also be needed for the scenario editor, which uses a different default background

Other changes:
- Add option to load_scenario to skip loading the strings
- Fix for crash in soundtool in the event of initialization before playing the first sound
2014-04-16 17:07:08 -04:00
76b103a751 Don't include resource files in the build 2014-04-15 21:42:07 -04:00
edcdf5facc Fix clickable rects in talking... at least sometimes 2014-04-15 21:33:03 -04:00
6060ba6750 Remove c_str() calls made redundant by the previous commit 2014-04-15 21:27:13 -04:00
f91ca72631 Improve the string drawing routine to make better use of STL and SFML 2014-04-15 21:08:32 -04:00
d5589619f5 Fix sounds getting cut off 2014-04-15 21:06:08 -04:00
53573c9a85 Fix town not being drawn when you first enter 2014-04-15 21:05:24 -04:00
f302af4dc8 Fix text bar not displaying 2014-04-15 17:47:59 -04:00
1cd0b09749 Fixed implementation of rounded rectangles for hiliting the active PC in combat 2014-04-15 17:03:20 -04:00
ed212d5f6b Fix showing only active PC in combat 2014-04-15 17:02:47 -04:00
1831cf377a Fix whitespace being ignored in dialogs
- Tabs and newlines are still ignored but spaces are kept
2014-04-15 15:11:58 -04:00
05d51f8202 A little more re-indenting 2014-04-15 15:10:53 -04:00
62d6576187 Re-indent all files in the boe namespace 2014-04-15 15:09:35 -04:00
ac3ac31f04 Squash a lot of missing prototype warnings 2014-04-15 03:39:21 -04:00
2d69851746 Fix all the missing return statements and guard against this happening again 2014-04-15 03:12:47 -04:00