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!
- 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
- 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
- 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
- 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)
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.
- 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)
- 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
- 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)
- 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
- 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