Commit Graph

30 Commits

Author SHA1 Message Date
2539c28fe2 Prefer to call is_on_map() for terrain bounds checking whenever possible
Fix some cCurTown field functions not having bound checking
Scenario editor now takes better advantage of cTown and cOutdoors sharing a superclass
2023-01-22 14:07:26 -05:00
17ad90ece1 Check for out-of-bound terrains when building roads
Thanks to @fosnola for noticing this.
2023-01-21 20:42:12 -05:00
d88ec6a08d Fix cases of assigning get_float_pref() to a float variable
It's called "get_float_pref" because it returns a floating-point.
However, that floating-point is in double precision.
2023-01-21 20:18:16 -05:00
ALONSO Laurent
f2584f4133 try to remove some "flickering" by using setActive(false)/setActive() and adding
a glFlush...
2023-01-06 13:46:21 -05:00
5b2561d034 Disable header maps in Xcode 12 2022-07-12 20:35:41 -04:00
8d31c27d11 Fix unused element and unhandled switch case warnings 2022-07-05 09:19:32 -04:00
f14c99f14b Split out cContainer, cLed, and cLedGroup into their own files 2020-12-21 17:16:15 -05:00
6c6b24b297 A little graphics reshuffling
- Pointing arrows moved from terscreen to invenbtns
- Target mark moved from trim to invenbtns
- Road pieces moved from trim to fields
- Diagonal pointing arrows added
- trim is now a monochrome image
2020-02-09 23:12:35 -05:00
760a172526 Some style tweaks 2020-02-09 18:24:09 -05:00
deac7b0cb6 Merge pull request #251 from x-qq/fix_scrollbar_segfaults
fix for scrollbar segfaults

* fixes #206
* fixes broken mousewheel scrolling of the scenedit palette
* removed boost threads dependency
* added foundation for further refactoring of the drawing and event handling code: interfaces and drawable manager with layering
* removed a bunch of unneeded redraw calls
* removed some repeated recalculation of effectively constant values (boe.actions)
* removed recalculation of effectively constant scrollbar and button positions (boe.graphics)

Closes #251
2020-02-09 15:55:51 -05:00
xq
43d274f532 fixed barrier animation 2020-02-06 06:34:33 +02:00
72bd8265fa Game modes cleanup
- Fix some cases where modes were still referenced by number
- Replace most cases of mode range-comparison with is_out(), is_town(), and/or is_combat()

There could be some minor errors in the replacements.
2020-02-04 00:02:08 -05:00
3e686cb908 Tweak text colours to be less blindingly bright and closer to the original Mac BoE 2020-02-01 19:55:30 -05:00
4859fa70bc Factor out the game toolbars into a class.
This includes the following related or incidental changes:
* Remove the win_from_rects global variable. With one minor exception, they were all equal to the relevant render texture's size anyway.
* Split out time advancement from the handle_action function into a separate function
* Split out each individual button action into its own function
* Thanks to the above two, button actions triggered from the keyboard (and menu spells) no longer pass thru handle_action
* Side-effect: keyboard shortcuts and menu spells no longer trigger the button press animation
* Button presses now behave like proper buttons
* Button clicks are now grouped by effect in the handling code, rather than by index
* Removed a variable that mysteriously caused dialogue to become blank
2020-01-30 00:00:40 -05:00
d530abe00b Make use of the new resource manager's purgeable flag 2020-01-26 16:14:39 -05:00
14e2597108 Expose the shared pointer instead of the raw pointer in the resource manager and rewrite the custom sheets list to use a vector instead of manual memory management
In particular, this should fix a segmentation fault in the sound system caused by the resource manager pulling a resource that's in use.
2020-01-26 15:10:57 -05:00
542c037342 Integrate a new resource manager which should have better performance 2020-01-26 11:53:19 -05:00
29ef8b9c1e Refactor the game event loop and add menus to the Linux build
Patch from @x-qq
Addresses #195
2020-01-25 17:57:32 -05:00
fb28a4da2e Fix Mac build 2020-01-12 13:19:32 -05:00
7233a8ba78 Change obsolete How to Order button to Preferences
This will allow Linux users to access the preferences UI while I work out how to implement menus on Linux
2019-12-29 13:29:58 -05:00
b8689511cd Use -1 instead of 120 to mark an invalid location. 2019-11-24 20:28:53 -05:00
4f785e2650 Use enums for most of the rest of the game constants.
This adds an "enum map" type that allows safe usage of an enum to index an array.
(That is, it enforces that the index is of the enum type.)
2019-11-24 20:28:52 -05:00
Mark Clark
e70c360e11 Minor fixes to get build working for vs2017 project; 2018-02-25 14:55:13 -05:00
477f6618fd fixup 3582a05 for non-Windows 2017-09-04 23:41:40 -04:00
3582a055e2 Fix Windows build 2017-09-04 23:32:50 -04:00
3828b03645 Implement UI scaling option
There are still a few minor visual glitches, but it works pretty well
2017-09-04 15:27:00 -04:00
9c69e006d8 Refactor rendering to use an SFML view for placing the main UI within the overall interface 2017-09-04 14:36:55 -04:00
c2ce2a2cd1 Split up the graphtool files 2017-04-14 15:43:07 -04:00
936a848166 Move terrain blockage check into cTerrain class 2017-04-14 01:12:56 -04:00
82abdab695 Major code reorganization
This commit only updates the XCode project for the changes.
A later commit each will update it for scons and MSVC.

A few actual changes are mixed in:
- Add a prefix header for a handful of common definitions
- Moved current_cursor into the Cursor class as a static member
- Removed the make_cursor_sword and make_cursor_watch functions
- Include tests in the All target
- Remove redundant -l flags for Common and Common-Party (since they're included in the Link phases anyway)
2017-04-14 00:24:29 -04:00