Commit Graph

151 Commits

Author SHA1 Message Date
ab232bb31a Generalize the editor's terrain frills mechanism 2015-09-26 15:05:49 -04:00
371459d1b2 The game no longer refuses to play sounds greater than 100 2015-09-25 21:51:47 -04:00
67cf73e593 Fix resource manager not properly accounting for overrides 2015-09-25 20:14:55 -04:00
f66c1cb36f More init/splash streamlining, now including the scenario editor 2015-09-25 19:03:40 -04:00
3b647f33b2 Streamline initialization and splash screen code
Should be much less chance of beachballs on OSX
2015-09-25 17:31:57 -04:00
fbe80b22dd Fix startup splash
- No longer shows stone pattern before logo
- Music no longer cuts off
- Intro image properly centred in fullscreen
2015-09-25 15:10:00 -04:00
fdcaa98116 Fixed crash on exit (finally!) 2015-09-21 14:40:26 -04:00
350479ddbb Fix some issues with loading saved games 2015-09-14 15:51:04 -04:00
6b71200110 Lowercase windows.h includes for MinGW cross-compiling compatibility 2015-09-13 14:31:06 -04:00
73543caf49 Rename file to reflect its Mac-specific status 2015-09-13 11:56:13 -04:00
780b413d0c Mass replace NULL --> nullptr
(Except one instance was instead replaced with nil)
2015-09-13 10:50:21 -04:00
853c270146 scons: Get working on Windows with MSVC 2015-09-13 00:15:28 -04:00
832b8b5f91 Set up scons build system
- In its current state, it produces a valid, launchable Mac application package, though one that's not redistributable (relies on system-installed libraries)
- Partial support is already in-place for a Windows build
2015-09-11 23:10:37 -04:00
8bc8e10075 Several more map read/write test cases 2015-09-04 04:26:58 -04:00
15aeaf8876 Fix not using correct default directory for Cocoa save dialogs 2015-09-03 19:26:45 -04:00
0c7c64dfc9 Rearrange resource structure
- All resources are now under data/
- Editors and Blades of Exile Base are no longer in Scenario Editor subfolder
- User scenarios are now stored in %APPDATA% / "Application Support"
2015-09-03 19:26:19 -04:00
9fd65cd597 Vehicles fixes
- Fix boats being saved as horses
- Fix first boat/horse not saving property status in scenario map data
- Game finally supports boats that start outdoors... probably
2015-09-03 12:22:13 -04:00
d3b0b26deb More scenario record read tests 2015-09-03 12:22:12 -04:00
44f485cc9c Add lots of new terrain graphics by ADoS
- And also remove that Wyrmfire scenario icon
2015-09-01 22:34:12 -04:00
22ca77fa77 Some cleanup 2015-09-01 14:41:53 -04:00
960e4cdf23 Remove map and text bar patterns, move dither patterns to separate sheet 2015-08-31 11:37:27 -04:00
812f485809 Stop applying lexical_cast to a stream manipulator as this seems to fail with later versions of clang; also close file after showing error, instead of before 2015-08-30 22:58:08 -04:00
bbd47088e1 Basic test cases for reading town, dialogue, and outdoor records 2015-08-28 13:38:08 -04:00
dc5309a001 Reduce missing opcode log-spam 2015-08-21 14:27:58 -04:00
c0c3093140 Encode cursor hotspots into GIF comments 2015-08-21 14:27:39 -04:00
2bf1f21c4d Squelch some MSVC warnings 2015-08-19 14:00:46 -04:00
615da9fad4 Implement version fetching for Windows 2015-08-19 13:14:09 -04:00
e29e34582f Get git revision inclusion working on Windows 2015-08-19 13:13:36 -04:00
a8dd1d3b3a Save OS version to scenarios 2015-08-17 23:22:50 -04:00
8008ff6dac Show git revision on Blades of Exile title screen and in scenario editor 2015-08-17 23:13:44 -04:00
5762c2bb90 Tweak to error dialogs and add separate warning dialogs
(Also some error messages tweaked)
2015-08-14 23:30:18 -04:00
0ac8c105e6 Re-add the Wyrmfire snow graphics and all Mistb0rn graphics not based on BoA or Exile I-III.
- Also update the map graphics to reflect the scrubbing
2015-08-08 12:29:43 -04:00
b4e117f0a7 Don't use isblank 2015-07-29 18:28:19 -04:00
7719d62773 Test cases for reading terrain, monster, and item definitions
- For monster attacks, 'd4' now means '1d4' instead of '0d4', and simple numbers without a 'd' are not accepted
- Pop string path after pushing it in the shop test cases
2015-07-29 15:25:19 -04:00
e9381f194e When creating a new graphics sheet, initialize it with a convenient checkerboard pattern
- Also fix a crash when first creating a graphics sheet in a scenario due to the temporary folder not being in the image search paths
2015-07-29 12:55:44 -04:00
5332270cd8 Scrub Exile/Avernum/Nethergate graphics
- New space-filling forcecage (possibly not finalized)
- New appearance for pushable stone block
- New red slime monster graphic by ADoS
- Six new item graphics by ADoS
- New bookshelf terrain by ADoS
2015-07-23 21:36:22 -04:00
9972c3d27d Various damage-related changes
- Rename unblockable damage to "weird" and special damage to "unblockable"
- Monsters now support immunity to any damage type
- Fix using wrong damage type for bonus damage in PC-on-PC attacks
- Forbid use of unblockable (formerly special) damage by the scenario designer, except in special nodes; if hacked in, it's replaced with weird (formerly unblockable) damage.
- Fix damage amount text in animations (both single-frame booms and fully animated booms)

Changed the following things from weird (formerly unblockable) damage to unblockable (formerly special) damage:
- Starvation
- Debug 'K' command
- Damage from items forcibly ending flight
- Damage from bashing doors
2015-07-19 10:59:22 -04:00
c7e9e3ca6c Fix sounds sometimes not playing when they should, if it's the same sound that played earlier. 2015-07-17 16:29:05 -04:00
21c5c98c24 Some tweaks to scenario format 2015-07-10 14:43:15 -04:00
5458bc0d7b Scenario format tweaks
- Fix monster attitude enumerator not being reflected in schemas
- Store the sound ID for sound names, instead of the index into the sound name array
2015-07-09 20:32:45 -04:00
c957987b45 Tests for reading and writing map data
- Fix saving and loading boat/horse positions and property flag
2015-07-09 15:53:34 -04:00
59f60710c5 More test cases for reading shops 2015-07-07 22:22:10 -04:00
93f9860624 Tests for saving and loading shops
- Fix shop name not being loaded from the file
- Fix skills in shops not storing the skill ID
2015-07-07 22:04:11 -04:00
137a3aa5d4 A few more scenario read tests
- Introduce enum for scenario content rating
2015-07-07 18:58:35 -04:00
2218513aa5 Several more tests for scenario loading 2015-07-07 17:10:09 -04:00
a2d7a1a233 Introduce enum for monster attitudes
- Fix some issues with Hostile B monsters (their presence didn't prevent taking nearby items, and they became Hostile A after a mindduel)
- Fix the town a saved creature was in not being saved in the saved game file
- Fix town not going hostile when you damage a friendly monster
2015-07-07 13:59:54 -04:00
7b76d37237 Store talk node type in scenario file as enumerator instead of numer
- Also, don't write empty CDATA sections when dialogue name/look/job sections are completely empty.
2015-07-05 23:30:43 -04:00
a64db5f15f Fix a lot of text placement and similar issues
- In the game, text placement is better-aligned on the main-menu buttons, in the PC stat area (both PC info and food/gold/day), in the PC items area, and in the text info bar.
- Fix leaving artifacts of previous titles in the PC stats area
- Title of PC items area is now in yellow, to match the PC stats area
- Bold text now actually looks bold (affects all programs)
- In the scenario editor, the location of the info strings above and below the toolbar are fixed
- Text in the PC editor has received numerous tweaks too numerous to list. In particular, text on the right buttons is better centred, and gold and food aren't stuck together.
- PC editor now shows race even if it's a monster race
- PC editor now recognizes the presence of the forcecage status
- PC editor now shows all traits and status effects, even if the PC has every trait or every status effect in the game.
2015-07-04 00:39:08 -04:00
2d73bb01ae Nuke oopsError and out-dated "can't load game" error dialogs 2015-07-03 18:11:03 -04:00
1f5a1118f8 Some test cases for saving scenarios, and fix some bugs they revealed
- Fix variable town entry and saved item rects not being saved if they referenced an invalid town
- Fix "blank" scenario timers being saved
- Fix junk data appearing in timers
- Output operators for location and rectangle types
- Set timer node_type to 2 when loading from town record
2015-07-01 18:05:42 -04:00