282 Commits

Author SHA1 Message Date
719336d43a test butler early in CI 2025-09-15 09:33:37 -05:00
d20a658ce8 temporarily use staged butler binaries 2025-09-15 09:18:49 -05:00
7e9d251948 update boe-scenarios 2025-09-15 09:12:10 -05:00
38b6daeb01 for now, commit the butler binaries 2025-09-15 09:11:54 -05:00
65e294e5b5 get boe-scenarios from gitea
Some checks failed
/ release (Debug, map[deps:macos-universal flag:arm64 name:macos scons-script:./.github/workflows/scripts/mac/scons-build.sh suffix:-silicon version:14]) (push) Has been cancelled
/ release (Debug, map[deps:macos-universal flag:x86_64 name:macos scons-script:./.github/workflows/scripts/mac/scons-build.sh suffix:-intel version:13]) (push) Has been cancelled
/ release (Debug, map[name:windows scons-script:./.github/workflows/scripts/win/scons-build.bat suffix: version:2022]) (push) Has been cancelled
/ release (Release, map[deps:macos-universal flag:arm64 name:macos scons-script:./.github/workflows/scripts/mac/scons-build.sh suffix:-silicon version:14]) (push) Has been cancelled
/ release (Release, map[deps:macos-universal flag:x86_64 name:macos scons-script:./.github/workflows/scripts/mac/scons-build.sh suffix:-intel version:13]) (push) Has been cancelled
/ release (Release, map[name:windows scons-script:./.github/workflows/scripts/win/scons-build.bat suffix: version:2022]) (push) Has been cancelled
Mac universal build / build (Debug) (push) Has been cancelled
Mac universal build / build (Release) (push) Has been cancelled
2025-09-14 20:40:25 -05:00
1f7d00879c get fix-rpaths from the new remote url 2025-09-14 13:16:32 -05:00
063a763b4c attacking charmed monsters dispels charm, doesn't anger town 2025-09-13 20:16:24 -05:00
6b1edc0f55 fix a buffer message 2025-09-13 20:13:58 -05:00
5b1d418759 fix shop items being unidentified 2025-09-13 17:51:43 -05:00
5f4638deab try something smart with talk node part1 and part2 display 2025-09-13 17:22:51 -05:00
b27efe2c25 install cmake for linux ci 2025-09-13 14:47:18 -05:00
6d10675932 turn off the SHOWCASE flag 2025-09-13 14:46:07 -05:00
037ce90ace tutorial town map change 2025-09-12 17:47:25 -05:00
ab1d58a299 VoDT typo fix 2025-09-06 18:46:51 -05:00
b18904813d tutorial fixes 2025-09-06 18:46:43 -05:00
d3a1d68aa5 fix typo in minimap help text 2025-09-06 08:53:18 -05:00
be175513e6 undo conditional compilation 2025-09-05 20:16:43 -05:00
c96d2b21f0 bugfixes 2025-09-05 19:23:04 -05:00
b848b79e09 that didn't work 2025-09-05 18:52:39 -05:00
47d84bd641 push to experimental branch 2025-09-05 18:25:25 -05:00
23be67c3bc tutorial first draft finished 2025-09-05 18:23:52 -05:00
311f78f0ec fix shrinking talk text to fit 2025-09-05 18:23:36 -05:00
6123dcc41b correct my mistake about destoning prices 2025-09-05 16:39:30 -05:00
e705782e30 Right text for townperson_100 picker 2025-09-05 14:14:25 -05:00
51b4f9c29f note a bug 2025-09-05 14:13:22 -05:00
dcde645866 help messages for death 2025-09-05 13:27:09 -05:00
3a01a41578 fixup! editor explain Kill/Raise Dead ex1c 2025-09-05 13:22:17 -05:00
7d0f3becd4 node graph comment 2025-09-05 12:56:28 -05:00
f58cef79df editor explain Kill/Raise Dead ex1c 2025-09-05 12:56:05 -05:00
c39c16f6bf implement if monsters alive node 2025-09-05 11:16:04 -05:00
cf5fbe24f5 add if-then node definition for checking monster range alive 2025-09-05 10:00:03 -05:00
505a07bd65 add note to scry monster description 2025-09-05 09:00:13 -05:00
d6bfb32a13 basics of final tower 2025-09-05 08:41:14 -05:00
8b4cdc51a6 tutorial 2/3 finished 2025-09-04 17:35:01 -05:00
459e7dd3d3 tip the scales for Unlock Door spell in tutorial 2025-09-04 17:29:19 -05:00
bd898f8d19 fix the minmax calls on success chance printing 2025-09-04 17:18:42 -05:00
33e1ec5938 finish vault tower? 2025-09-04 17:04:31 -05:00
370a106def implement vehicle pictype (presets only, for now) 2025-09-04 17:04:11 -05:00
c7c10f5381 IF_HAVE_ITEM_CLASS treat negative as don't take 2025-09-04 15:14:29 -05:00
2292482462 fix guard repositioning logic 2025-09-04 14:43:29 -05:00
02555ede88 need slightly different townperson picker for relocate node 2025-09-04 14:25:40 -05:00
effab6eecb fix visual studio build 2025-09-04 13:29:02 -05:00
a9d01f8f32 working on tower 2 2025-09-04 13:19:42 -05:00
567681a5a3 fix clicking 'ok' in edit item dialog 2025-09-04 13:07:55 -05:00
faa5be2feb Fix outdated 'Bye' help message 2025-09-04 12:23:52 -05:00
9b31fb1761 fix crash on bash door in new scenario 2025-09-04 12:14:54 -05:00
226a0fd61c relocate creature node use townperson picker 2025-09-04 11:58:14 -05:00
202640a5fc fix crash with up/down key on empty field 2025-09-04 11:43:22 -05:00
4f05e04744 fix bug undoing draw monster 2025-09-04 11:07:14 -05:00
f426bda3c2 tutorial improvements 2025-09-04 10:31:02 -05:00
f6bea8c43d clarify Has Statistic? node options 2025-09-04 10:00:28 -05:00
bdcee8a094 solid chunk of tutorial work 2025-09-03 21:34:08 -05:00
0499f96fd9 fix help text about spellcasting key shortcuts 2025-09-03 21:24:58 -05:00
086e4cceec fix create special node on spot 2025-09-03 20:23:27 -05:00
baec68b244 tutorial work 2025-09-03 19:25:34 -05:00
c5e7f19b78 Town and scenario timers are supposed to repeat 2025-09-03 19:24:56 -05:00
a6e811eb18 tutorial work 2025-09-03 15:20:43 -05:00
3f620fdb3d tutorial work 2025-09-03 13:22:10 -05:00
6be519a3bb fix adding entrance to town 0 2025-09-03 13:03:38 -05:00
3683ffcc70 fix typo in string picker 2025-09-03 12:36:18 -05:00
3e6dbd9f4f fix 'remove frills' prompting town entrance/sign text change 2025-09-03 12:03:19 -05:00
b0c436b630 show timers that call special nodes 2025-09-02 15:27:42 -05:00
2d80ac149b tutorial work 2025-09-01 13:47:59 -05:00
9be6696c77 scenario editor draw roads more correctly 2025-09-01 13:47:33 -05:00
b36475cc88 fix 'frill up terrain' prompting town entrance/sign text change 2025-09-01 12:08:35 -05:00
cb2b495b76 fix highlighting everything on strchoice page left/right 2025-09-01 12:03:36 -05:00
f02fd69e8d start adding other caller types to list 2025-09-01 11:32:22 -05:00
f309e77101 fix book icon for series 2025-09-01 10:41:09 -05:00
b638bf3d4e Make directional key scrolling default on 2025-09-01 10:40:47 -05:00
c023c0c424 update archive 2025-08-31 20:40:02 -05:00
794af36f15 basic support for meta scenario tags 2025-08-31 20:28:16 -05:00
2d713e27e6 don't overwrite meta.xml without a change 2025-08-31 20:26:51 -05:00
3f1be300d8 make tooltip detection recursive 2025-08-31 20:26:18 -05:00
f2481fb8f0 store and restore controls' tooltip text 2025-08-31 20:26:02 -05:00
e4ca77fb5b done with lore floor 2025-08-31 17:18:30 -05:00
bd11f56f71 error message for out-of-bounds teleport 2025-08-31 17:05:27 -05:00
9ff618bf21 remove starting tooltip text 2025-08-31 15:58:59 -05:00
f672b60845 fix record button overlapping picture 2025-08-31 15:57:52 -05:00
549724aa53 restore editing specials mode 2025-08-31 15:36:02 -05:00
cc6c1234f5 tooltips on node links 2025-08-31 15:08:16 -05:00
b9c480e97e fix change cursor when hovering field 2025-08-31 15:05:32 -05:00
12d834fdee show navigable buttons linking to callers and callees 2025-08-31 14:39:55 -05:00
c4f2c2cb9d full graphing 2025-08-31 13:42:48 -05:00
ddd9aef869 fix logic 2025-08-29 20:06:45 -05:00
17817cc6fa WIP nodegraph 2025-08-29 19:31:49 -05:00
9bdc60bc7d reorient the lore room and write more 2025-08-29 17:45:35 -05:00
a191f19c31 humanoid lizards 2025-08-29 16:45:21 -05:00
de0eeac8f9 editor hint for titled message 2025-08-29 16:10:59 -05:00
fcfe04a299 Fix previews animating picts that shouldn't 2025-08-29 16:10:50 -05:00
7020999bcd odd-number pict coords to even 2025-08-29 15:23:26 -05:00
5b8941199d show better changesite for floodfill/terrain frill/item place 2025-08-29 14:51:49 -05:00
81bacd119f WIP tutorial work 2025-08-29 14:37:10 -05:00
95454d90ec interval for scenedit autosave 2025-08-29 14:35:44 -05:00
fe539cf3aa fix crash showing change site at edge of world 2025-08-29 14:28:37 -05:00
5ba4c33eb3 Let packaged prefab be .exg 2025-08-29 12:57:34 -05:00
50149e728e you can manually insert extra files in scenario pack 2025-08-29 12:55:19 -05:00
2800ce2943 tarfile copy filename too 2025-08-29 12:49:47 -05:00
97c011c529 fixup! extremely aggressive scenedit autosave 2025-08-29 12:11:50 -05:00
b3fcfe3122 frame don't draw when control invisible 2025-08-29 11:40:51 -05:00
b96e623ac3 delete signature for nonexistent tarball method 2025-08-29 11:20:12 -05:00
9e0af0151c Monsters don't backtrack in combat move. fix #796 2025-08-29 10:43:33 -05:00
2e131ac0e0 fix continuous shift when zoomed out in editor 2025-08-29 09:46:59 -05:00
a492c36aec reposition Resume 2025-08-28 21:31:33 -05:00
42000f1094 Escape: open a 'pause' menu 2025-08-28 21:18:54 -05:00
3af458eec8 add button & fix buttonpanel crash bug 2025-08-28 21:18:16 -05:00
327ca54b60 extremely aggressive scenedit autosave 2025-08-28 18:20:55 -05:00
9dc75f0f94 Fix typo 2025-08-28 17:26:03 -05:00
f30a6400e7 fix loading last scenario for unpacked scenarios 2025-08-28 12:50:30 -05:00
81961412c5 previewing dialogs, never crash the editor 2025-08-28 12:40:10 -05:00
f33487e284 Update testing help dialog 2025-08-28 12:24:47 -05:00
17951a4d9f disable contest help and reroute getting started 2025-08-28 12:22:53 -05:00
7f5b880794 remove Spiderweb Software copyright & concact info from docs 2025-08-28 12:09:20 -05:00
8073172b95 distribution docs for itch edition 2025-08-28 11:53:45 -05:00
4533d9b2c9 fix draw zoomed-out teranim in scenedit 2025-08-28 11:35:30 -05:00
7c40386ebf tool to find creature in town 2025-08-28 11:27:07 -05:00
03f2385d77 button to preview all dialogs in node list 2025-08-28 10:58:30 -05:00
c51fdc68d9 partly implement parentless button 2025-08-28 10:57:31 -05:00
cf5039554e townperson picker show name if has one 2025-08-27 16:15:39 -05:00
64e40a5d6a fixup! townperson picker for town attitude range 2025-08-27 16:07:08 -05:00
53edc71d61 townperson picker for single monster attitude 2025-08-27 16:06:16 -05:00
1f7fc8854a townperson picker for town attitude range 2025-08-27 16:02:34 -05:00
456c05d4ff allow labeled cPictChoice variant 2025-08-27 13:30:21 -05:00
c947029c5c fixup! preview special item 2025-08-26 20:25:08 -05:00
8399c60d33 preview quest 2025-08-26 20:24:52 -05:00
0ba91aa45a preview special item 2025-08-26 20:02:52 -05:00
49326ff0c9 update search highlights when paging left/right. fix #791 2025-08-26 16:11:10 -05:00
1693148448 allow choose special node type from any category w/ search 2025-08-26 16:06:17 -05:00
4f42146f4d preview for TOWN_STAIR node 2025-08-26 15:41:13 -05:00
a0debde38c preview for TOWN_PORTAL dialog 2025-08-26 14:50:25 -05:00
3a632dbcb5 preview for lever dialog 2025-08-26 14:45:50 -05:00
44bb357ce5 add note to generic stairway text field 2025-08-26 14:38:34 -05:00
935a62d7f5 preview town node generic dialogs 2025-08-26 14:28:53 -05:00
06ca6969f5 hide button2 when not needed 2025-08-26 14:08:31 -05:00
087292f4b6 preview for IF_NUM_RESPONSE node 2025-08-26 14:05:01 -05:00
408cdbfdd6 get_num_response don't show range if there is none 2025-08-26 14:04:45 -05:00
b6238de2ec preview for IF_TEXT_RESPONSE 2025-08-26 13:53:32 -05:00
ab063791e8 previewable Display Picture with control of small icon 2025-08-26 11:49:25 -05:00
ad4becef07 fix full-sheet graphic picker for unpacked scenario 2025-08-26 11:45:48 -05:00
9fa73862a0 preview two more one-time dialogs in editor 2025-08-25 17:25:01 -05:00
7f112d93f6 fix picker for one-time give item dialog msg 2025-08-25 17:24:12 -05:00
fc5ffc0a15 fixup! allow picking special node as well as create/edit 2025-08-25 16:52:44 -05:00
4c51448a68 Quest node fields allow create/edit and choose 2025-08-25 16:52:28 -05:00
845793304e allow picking special node as well as create/edit 2025-08-25 16:13:22 -05:00
2b136bccf3 string choice dialog allow forcing 1 column 2025-08-25 16:11:53 -05:00
72dbcd08f8 allow duplicating special node 2025-08-25 14:02:32 -05:00
5b17b72532 fixup! editor hint for short once dialog, story dialog 2025-08-25 13:46:20 -05:00
da9f023a37 more node editor hints 2025-08-25 13:42:34 -05:00
32f355a787 editor hint for short once dialog, story dialog 2025-08-25 12:00:30 -05:00
6c63292ca4 editor hint for 6-str once dialog 2025-08-25 11:49:43 -05:00
c477d96620 cScenario copy constructor copy sdf_names 2025-08-25 11:48:02 -05:00
90da4c7ca2 story dialog show/hide right/left at ends 2025-08-25 10:36:38 -05:00
521f260cba control-click to duplicate terrain/monster/item type 2025-08-25 10:23:37 -05:00
8b9be2ae28 editor hint for INC_FLAG 2025-08-25 09:30:35 -05:00
c61997cd60 function to get a display name for sdf 2025-08-25 09:30:20 -05:00
2270ab8ce6 substitutions no longer needed 2025-08-25 08:59:52 -05:00
73e2875e91 more lore room 2025-08-25 08:51:33 -05:00
67e45fa688 fixup! Work on lore room 2025-08-25 08:51:33 -05:00
f65ac341ee allow wrapping story dialog title 2025-08-25 08:51:33 -05:00
1406c6eeef allow preview story dialog in editor 2025-08-25 08:51:33 -05:00
90c6e1c1d8 hint for SET_SDF 2025-08-25 08:51:33 -05:00
36e08a3dcb make get_sdf_name() const 2025-08-25 08:51:33 -05:00
04049b4bd7 add an is_new check 2025-08-25 08:51:33 -05:00
be13637efe Fix another bug in creating special encounters 2025-08-25 08:51:33 -05:00
c64367b850 allow importing animated terrain icon 2025-08-25 08:51:33 -05:00
7772a4f389 fix custom graphics manipulation for unpacked scenarios 2025-08-25 08:51:33 -05:00
84d202ecd6 Work on lore room 2025-08-25 08:51:33 -05:00
4c8c68fe12 interpolate correct menu item to find preferences
fix #797 other minor issue
2025-08-25 08:51:33 -05:00
0a249614c3 allow scenario to contain extra first help message. fix #797 2025-08-25 08:51:33 -05:00
d096df28a1 quick-fix failure to show load/create dialog for builtin scens 2025-08-25 08:51:33 -05:00
f5251ceb73 fix key shortcuts of reset help confirmation 2025-08-25 08:51:33 -05:00
6ee7d3af2c Showcase build reset help messages on tutorial launch 2025-08-25 08:51:33 -05:00
d77558afc3 fixup! Release build squashed 2025-08-25 08:51:33 -05:00
05ff7e328c make tutorial feature flag debug-only for now 2025-08-25 08:51:33 -05:00
b3b4724e1b PC editor also clear creature save 2025-08-25 08:51:33 -05:00
36d8ff36f6 Clear saved monsters when exiting scenario. Fix #786 2025-08-25 08:51:33 -05:00
2903f4d6e1 Wire up the tutorial (which is empty) 2025-08-25 08:51:33 -05:00
e907ed343d NSI script copy tutorial.boes 2025-08-25 08:51:33 -05:00
4859ac8db1 Xcode package tutorial 2025-08-25 08:51:33 -05:00
a82c25e01d Visual studio package tutorial 2025-08-25 08:51:33 -05:00
6bc5761bc1 Scons package the tutorial scenario 2025-08-25 08:51:33 -05:00
b89adb3bbf Unpacked empty tutorial scenario 2025-08-25 08:51:33 -05:00
71a072776a try allowing implicit fallthrough in xcode 2025-08-25 08:51:33 -05:00
c6a1fb7ba1 Fix rendering UTF-8 text 2025-08-25 08:41:56 -05:00
7697459f72 has_class require_charges allow item w/ 0 max charges 2025-08-25 08:41:56 -05:00
f917b2305d print success chance when fail breaking door or barrier 2025-08-25 08:41:56 -05:00
af57435a47 add name to funding list 2025-08-25 08:41:56 -05:00
a54b42ee7e town entry autosave wait for specials to run. fix #781 2025-08-25 08:41:56 -05:00
b7cb8395c0 queue_special() return whether special was queued 2025-08-25 08:41:56 -05:00
6c018df0fe starting with stairways, show more info in edit special list 2025-08-25 08:41:56 -05:00
e364ed6a5a When shifting to town entrance, show outdoor loc str
Fix #693
2025-08-25 08:41:56 -05:00
b90851cf98 fix grammar in special node description 2025-08-25 08:41:56 -05:00
101541792d ignore empty encoding element 2025-08-25 08:41:56 -05:00
8fc000639e ignore uninitialized Rectangle 1-8 2025-08-25 08:41:56 -05:00
57dbe49b59 Draw roads with brown dots. Fix #782 2025-08-25 08:41:56 -05:00
e8daf5a973 Get all gold don't steal without consequences 2025-08-25 08:41:55 -05:00
d828c3140c fix outdoor custom monster facing 2025-08-25 08:41:55 -05:00
c4b8a1ada7 fix outdoor monster facing 2025-08-25 08:41:55 -05:00
73e07cef72 Fix a case of minimap area rect spoilers 2025-08-25 08:41:55 -05:00
0db90b0c48 feature flag keep doors easier in old scenarios 2025-08-25 08:41:55 -05:00
5095e1d95b fix monsters rendering backwards? fix #785 2025-08-25 08:41:55 -05:00
3fe4d33481 targeting grid fix big monster handling 2025-08-25 08:41:55 -05:00
a645057ed7 Clip big monster combat frame at window edge 2025-08-25 08:41:55 -05:00
820b5f6a6e don't tooltip or annotate hidden towns/junk sign locs 2025-08-25 08:41:55 -05:00
8f20c6c1f8 move is_sign to boe.locutils 2025-08-25 08:41:55 -05:00
a3fcc96fe6 fix hovering map features outdoors 2025-08-25 08:41:55 -05:00
c511a3add9 fix outdoor positioning of circle markers 2025-08-25 08:41:55 -05:00
7da7a5df33 fix crash when out-of-bounds 'tile' hovered in minimap 2025-08-25 08:41:55 -05:00
1f8bc4b734 fix loc_off_act_area for outdoors 2025-08-25 08:41:55 -05:00
ff2e565353 add btnpanel sources to xcode12 2025-08-25 08:41:55 -05:00
11d8c28765 specify vehicle.hpp directory 2025-08-25 08:41:55 -05:00
b6592788cd Tooltip text when party icon highlighted 2025-08-25 08:41:55 -05:00
b6f1ffcec1 better way of only showing known extent of area rectangle 2025-08-25 08:41:52 -05:00
8ceb5d0ec4 TRANSPARENT->EMPTY makes it compile on Windows 2025-08-25 08:41:23 -05:00
2e33081b1b very messy support for recording 6-string dialog 2025-08-25 08:41:23 -05:00
f19f0dd9b6 combine 2-string dialog records into 1 element 2025-08-25 08:41:23 -05:00
e99ed91683 record 2-string dialogs in one element 2025-08-25 08:41:23 -05:00
f5e0c1b006 fix place/edit special node tool 2025-08-25 08:41:23 -05:00
5746cbd0dd draw and give tooltips for more map features 2025-08-25 08:41:23 -05:00
17e9f22b4f messy map tooltip demo 2025-08-25 08:41:23 -05:00
eb9c85e1ce Refactor minimap rendering and fix tiny town crash 2025-08-25 08:41:23 -05:00
13d05fc614 fix party disappearing in huge town 2025-08-25 08:41:23 -05:00
93e3dcc522 shortcut to get all gold in reach 2025-08-25 08:41:23 -05:00
839dbf823d better handling for out-of-sight ranged/boom anim 2025-08-25 08:41:23 -05:00
e4a8474c12 combat highlighting handle big monsters 2025-08-25 08:41:23 -05:00
d0ab27ec19 remove redundant boat/horse initialization 2025-08-25 08:41:23 -05:00
0fde8e434a make boats and horses exist in legacy scenarios 2025-08-25 08:41:23 -05:00
53b0007baf update scen archive 2025-08-25 08:41:23 -05:00
395d3071c1 shrink talk text when it doesn't fit 2025-08-25 08:41:23 -05:00
6e51b6077f don't show misleading frame in targeting mode 2025-08-25 08:41:23 -05:00
44c54a9f9b frame friendlies/monsters during combat 2025-08-25 08:41:23 -05:00
9694de138f don't highlight invisible monster for targeting 2025-08-25 08:41:23 -05:00
1bc53c51f9 highlight targetable squares with enemy/ally attitude. fix #779 2025-08-25 08:41:23 -05:00
efd513f300 more encodings 2025-08-25 08:41:23 -05:00
f56609ef5d big monsters check whole footprint for safety. Fix #757 2025-08-25 08:41:23 -05:00
0a38b728a7 big monsters don't take extra field damage from multiple of same 2025-08-25 08:41:23 -05:00
0f99ce22c6 fix monster field infliction logic. Fix #765 2025-08-25 08:41:23 -05:00
cd486b9d17 handle MacRoman specially 2025-08-25 08:41:23 -05:00
03fcaa60cf fix empty monsters in activate_groups() 2025-08-25 08:41:23 -05:00
291b9bbe3e Don't draw trims on top of characters in combat 2025-08-25 08:41:23 -05:00
88d43f6443 fix word highlighting where substitutions are used 2025-08-25 08:41:19 -05:00
1ea9c61063 run trimming and decoding on more scenario strings 2025-08-25 08:40:54 -05:00
a38d9c41d8 guessed encodings 2025-08-25 08:40:54 -05:00
1d402bc780 go to absurd lengths handling locales 2025-08-25 08:40:54 -05:00
33d23a9bf6 apply substitutions when calculating line wrapping 2025-08-25 08:40:54 -05:00
46839b4b14 delete obsolete branch which caused unintended roads to draw 2025-08-25 08:40:54 -05:00
39525711e2 Fix walkway trims. Fix #136 2025-08-25 08:40:54 -05:00
63b4679910 reuse RenderTexture 2025-08-25 08:40:54 -05:00
d1eaa83fd8 Fix replay which loads a prefab 2025-08-25 08:40:54 -05:00
971644c977 Fix replaying scenario list with recursive scenario folder structure 2025-08-25 08:40:54 -05:00
c76080894c update scen archive 2025-08-25 08:40:54 -05:00
fc4761f3bf Allow create new or load party after selecting scenario 2025-08-25 08:40:54 -05:00
6b830d8541 WIP fix loc_off_act_area 2025-08-25 08:40:54 -05:00
b5b1d3fb1a bounds check when importing legacy journal entry 2025-08-25 08:40:54 -05:00
15eeda344b resize vector2d to have room for legacy load 2025-08-25 08:40:54 -05:00
9808afd204 blank out scen_name on legacy record if not in_scen 2025-08-25 08:40:54 -05:00
1df2dabe52 for legacy scenarios, help open readme or load prefab 2025-08-25 08:40:51 -05:00
09f6e4ef70 updates to scen archive 2025-08-25 08:39:55 -05:00
93fc55d031 New dialog presents a yes/no choice with alternate non-exclusive actions 2025-08-25 08:39:52 -05:00
665ff2f272 Include Bandit Busywork in custom scenarios section 2025-08-25 08:38:01 -05:00
74abab58fa ignore quote at start of scen name alphabetical 2025-08-25 08:38:01 -05:00
a41409d40a use windows 2022 for release build 2025-08-25 08:38:01 -05:00
a7d76dba74 Scenario picker handle names with first character numeric 2025-08-25 08:38:01 -05:00
f1339dcf88 loading scen headers, skip parts of legacy load that may error 2025-08-25 08:38:01 -05:00
d1f0c97005 add as many custom scenarios as possible 2025-08-25 08:37:59 -05:00
d9d3a00328 Release build squashed 2025-08-25 08:37:22 -05:00
baa85ab9b3 Load image directly
Co-authored-by: Celtic Minstrel <CelticMinstrel@users.noreply.github.com>
2025-08-25 08:36:25 -05:00
449828e2af add donor to credits 2025-08-25 08:36:25 -05:00
9f499b069e fix updating the in-memory image for full-sheets replaced 2025-08-25 08:36:25 -05:00
9ad61ca629 Fix undo reload/import full-sheet graphic 2025-08-25 08:36:25 -05:00
7fec12b005 try fix test compilation 2025-08-25 08:36:25 -05:00
c7193b93d4 add function call that prevents black custom sheet canvas 2025-08-25 08:36:25 -05:00
05d7ec8f45 show selected icons visually 2025-08-25 08:36:25 -05:00
27b8fba4dc refactor custom graphics dialog into a class 2025-08-25 08:36:25 -05:00
8587af17ef strip and re-add terrain backgrounds 2025-08-25 08:36:24 -05:00
83b49f402e import terrain icons to custom sheets 2025-08-25 08:36:24 -05:00
e17f1fef21 allow cPict to draw on any RenderTarget 2025-08-25 08:36:24 -05:00
f26c2fa4b2 non-mac targets scenario editor must save LastScenario pref 2025-08-25 08:36:24 -05:00
51b54cfdec clear icon selection when sheet changes 2025-08-25 08:36:24 -05:00
3810b6e92f allow selecting range of icons in graphics sheet 2025-08-25 08:36:24 -05:00
82824e3f06 MacOS find inner binary of image editor app bundle 2025-08-25 08:36:24 -05:00
f4bc3755f8 edit/reload buttons in graphic editor 2025-08-25 08:36:24 -05:00
965bfb2c55 add image editor preference to scenedit 2025-08-25 08:36:24 -05:00
6 changed files with 168 additions and 165 deletions

8
.gitattributes vendored
View File

@@ -1,10 +1,4 @@
**/*.spec linguist-language=SpecialNodes
**/*.map linguist-language=Maps
**/*.spec -linguist-detectable linguist-language=Text
src/fileio/gzstream/** linguist-vendored
src/fileio/xml-parser/** linguist-vendored
src/fileio/xml-parser/tinyprint.* -linguist-vendored
*.exs linguist-language=Scenario
*.boes linguist-language=Scenario
*.SAV linguist-detectable linguist-language=Party
*.exg linguist-detectable linguist-language=Party

View File

@@ -7,164 +7,165 @@
},
pull_request: {
branches: [ master ]
}
},
workflow_dispatch: {}
},
jobs: {
# macos-xcode: {
# runs-on: macos-13,
# env: {
# DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
# },
# steps: [
# {
# name: checkout,
# uses: actions/checkout@v4,
# with: { submodules: true }
# },
# {
# name: install Boost,
# run: brew install Boost@1.85
# },
# {
# name: install SFML,
# run: ./.github/workflows/scripts/mac/install-sfml.sh
# },
# {
# name: patch Xcode project,
# run: ./.github/workflows/scripts/mac/fix-xcode-proj.sh
# },
# {
# name: build,
# run: ./.github/workflows/scripts/mac/xcode-build.sh
# },
# {
# name: unit tests,
# run: ./.github/workflows/scripts/mac/run-tests.sh
# }
# ]
# },
# macos-scons: {
# runs-on: macos-13,
# steps: [
# {
# name: checkout,
# uses: actions/checkout@v4,
# with: { submodules: true }
# },
# {
# name: install dependencies,
# run: brew install scons SFML@2 Boost@1.85
# },
# {
# name: build and unit test,
# run: ./.github/workflows/scripts/mac/scons-build.sh test=true
# }
# ]
# },
# win-vs32: {
# runs-on: windows-2022,
# env: {
# VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
# },
# steps: [
# {
# name: Export GitHub Actions cache environment variables,
# uses: actions/github-script@v7,
# with: {
# script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
# }
# },
# {
# name: checkout,
# uses: actions/checkout@v4,
# with: { submodules: true }
# },
# {
# name: install dependencies,
# run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x86',
# working-directory: proj/vs2017
# },
# {
# name: build,
# run: '.\.github\workflows\scripts\win\msvc-build.bat x86'
# }
# ]
# },
# win-vs64: {
# runs-on: windows-2022,
# env: {
# VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
# },
# steps: [
# {
# name: Export GitHub Actions cache environment variables,
# uses: actions/github-script@v7,
# with: {
# script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
# }
# },
# {
# name: checkout,
# uses: actions/checkout@v4,
# with: { submodules: true }
# },
# {
# name: install dependencies,
# run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64',
# working-directory: proj/vs2017
# },
# {
# name: build,
# run: '.\.github\workflows\scripts\win\msvc-build.bat x64'
# },
# {
# name: unit tests,
# run: '.\.github\workflows\scripts\win\run-tests.bat'
# }
# ]
# },
# win-scons: {
# runs-on: windows-2019,
# env: {
# VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
# },
# steps: [
# {
# name: Export GitHub Actions cache environment variables,
# uses: actions/github-script@v7,
# with: {
# script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
# }
# },
# {
# name: checkout,
# uses: actions/checkout@v4,
# with: { submodules: true }
# },
# {
# name: install build dependencies,
# run: 'vcpkg install libxml2 && pip install scons'
# },
# {
# name: install dependencies,
# run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64',
# working-directory: proj/vs2017
# },
# {
# name: build and unit test,
# run: '.\.github\workflows\scripts\win\scons-build.bat test=true'
# },
# {
# name: warn about failure to launch tests,
# run: 'echo "::warning title=UNIT-TESTS::unit tests failed for win-scons"',
# shell: bash,
# if: "${{ hashFiles('build/test/passed') == '' }}"
# }
# ]
# },
macos-xcode: {
runs-on: macos-13,
env: {
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
},
steps: [
{
name: checkout,
uses: actions/checkout@v4,
with: { submodules: true }
},
{
name: install Boost,
run: brew install Boost@1.85
},
{
name: install SFML,
run: ./.github/workflows/scripts/mac/install-sfml.sh
},
{
name: patch Xcode project,
run: ./.github/workflows/scripts/mac/fix-xcode-proj.sh
},
{
name: build,
run: ./.github/workflows/scripts/mac/xcode-build.sh
},
{
name: unit tests,
run: ./.github/workflows/scripts/mac/run-tests.sh
}
]
},
macos-scons: {
runs-on: macos-13,
steps: [
{
name: checkout,
uses: actions/checkout@v4,
with: { submodules: true }
},
{
name: install dependencies,
run: brew install scons SFML@2 Boost@1.85
},
{
name: build and unit test,
run: ./.github/workflows/scripts/mac/scons-build.sh test=true
}
]
},
win-vs32: {
runs-on: windows-2022,
env: {
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
},
steps: [
{
name: Export GitHub Actions cache environment variables,
uses: actions/github-script@v7,
with: {
script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
}
},
{
name: checkout,
uses: actions/checkout@v4,
with: { submodules: true }
},
{
name: install dependencies,
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x86',
working-directory: proj/vs2017
},
{
name: build,
run: '.\.github\workflows\scripts\win\msvc-build.bat x86'
}
]
},
win-vs64: {
runs-on: windows-2022,
env: {
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
},
steps: [
{
name: Export GitHub Actions cache environment variables,
uses: actions/github-script@v7,
with: {
script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
}
},
{
name: checkout,
uses: actions/checkout@v4,
with: { submodules: true }
},
{
name: install dependencies,
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64',
working-directory: proj/vs2017
},
{
name: build,
run: '.\.github\workflows\scripts\win\msvc-build.bat x64'
},
{
name: unit tests,
run: '.\.github\workflows\scripts\win\run-tests.bat'
}
]
},
win-scons: {
runs-on: windows-2022,
env: {
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
},
steps: [
{
name: Export GitHub Actions cache environment variables,
uses: actions/github-script@v7,
with: {
script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
}
},
{
name: checkout,
uses: actions/checkout@v4,
with: { submodules: true }
},
{
name: install build dependencies,
run: 'vcpkg install libxml2 && pip install scons'
},
{
name: install dependencies,
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64',
working-directory: proj/vs2017
},
{
name: build and unit test,
run: '.\.github\workflows\scripts\win\scons-build.bat test=true'
},
{
name: warn about failure to launch tests,
run: 'echo "::warning title=UNIT-TESTS::unit tests failed for win-scons"',
shell: bash,
if: "${{ hashFiles('build/test/passed') == '' }}"
}
]
},
# win-mingw: {
# runs-on: windows-2019,
# runs-on: windows-2022,
# steps: [
# {
# name: checkout,
@@ -196,7 +197,7 @@
},
{
name: install dependencies,
run: 'sudo apt-get update && sudo apt-get install -y scons cmake xvfb libxml2-utils zlib1g libsfml-dev libboost-all-dev zenity'
run: 'sudo apt-get update && sudo apt-get install scons cmake libxml2-utils zlib1g libsfml-dev libboost-all-dev zenity'
},
{
name: install TGUI,

View File

@@ -1,4 +1,4 @@
[![CI status](https://k7izh9.gitea.cloud/openboe/oboe/actions/workflows/ci.yml/badge.svg)](https://k7izh9.gitea.cloud/openboe/oboe/actions/workflows/ci.yml)
[![CI status](https://github.com/calref/cboe/actions/workflows/ci.yml/badge.svg)](https://github.com/calref/cboe/actions/workflows/ci.yml)
Open Blades of Exile
====================
@@ -147,5 +147,6 @@ Helpful Links
#openboe on irc.libera.chat)
* [Original Game Source](http://www.spiderwebsoftware.com/blades/opensource.html) - Where
it all began. Warning: Terrifying code.
* [Experimental Windows/Mac Builds](http://pentalithia.ca/oboe/?C=M;O=D) - will be put
up whenever Celtic Minstrel feels like it.
* [Official Web Site](https://openboe.com/) - The hub for all things OpenBoE. The documentation is also in viewable format, and there is an archive of all known scenarios that could be located.
* [The itch.io page](https://nqn.itch.io/blades-of-exile) - if you just want to get the game and play it.

View File

@@ -3838,6 +3838,10 @@ void start_new_game(bool force) {
void start_tutorial() {
std::string version_flag = get_feature_version("tutorial");
if(!version_flag.empty()){
#ifdef SHOWCASE
clear_pref("ReceivedHelp");
#endif
if(party_in_memory){
cChoiceDlog confirm("restart-game",{"okay","cancel"});
confirm->getControl("warning").replaceText("{{action}}", "Starting the tutorial");

View File

@@ -1,6 +1,9 @@
#include <SFML/Graphics.hpp>
// This flag marks a build for live showcase. Starting the tutorial will reset all help dialogs.
// #define SHOWCASE 1
#ifdef __APPLE__
extern eMenuChoice menuChoice;
extern short menuChoiceId;

View File

@@ -827,7 +827,7 @@ void monst_inflict_fields(short which_monst) {
which_m = &univ.town.monst[which_monst];
bool have_radiate = which_m->abil[eMonstAbil::RADIATE].active;
eFieldType which_radiate = which_m->abil[eMonstAbil::RADIATE].radiate.type;
// Judgment call: big monsters should only get damaged once per damage type if they're on
// Judgment call: big monsters shouldn't only get damaged once per damage type if they're on
// multiple of the same field. (Except webs.)
bool quickfire = false;
bool blade_wall = false;