Jump to content

Exile Remaster


Old Beardo

Recommended Posts

Well when getting onto the page, I just downloaded whichever version is the most recent.

 

Anyway, another problem, with the scenario editor: If you write text in a "display message" node, it won't save automatically (you have to preselect a text node to place it in). Additionally, sometimes, when programming a "Display Dialog" node, going into the text boxes somehow causes all the town text to erase, and it's unrecoverable. I've been backing up text in my own text file, but the Text Dump feature doesn't work either.

Link to comment
Share on other sites

I've been backing up text in my own text file, but the Text Dump feature doesn't work either.

Are you sure the Text Dump feature doesn't work? They're saved in the same directory as the scenario file, not in the executable directory (as they used to be, if I recall correctly).
Link to comment
Share on other sites

Some bugs in the latest build you posted:

 

- Deleting specials in the town editor causes a crash

- Using Create/Edit with text messages from the specials page generally causes a crash

 

(Windows 10 64-bit OS)

 

Also, why is this program so hard to compile? I'm currently getting linker errors for several unresolved references from a single file and I don't understand hy. (gzstream fyi).

Link to comment
Share on other sites

Did you install zlib? That file is the only one that directly references zlib, so if you were missing zlib I would definitely expect errors in that file. I'd have to see the specific unresolved references to know for sure whether or not it's zlib, though.

 

I've reproduced the second of those errors and am guessing it shouldn't be too difficult to fix. Hopefully I'll be able to reproduce the first one too.

Link to comment
Share on other sites

"unresolved external symbol _gzclose referenced in function "public class gzstreambuf * __thiscall gzstreambuf::close(void)"

 

3 other symbols too were unresolved from the same file. VS Community 2015. I have triple-checked my library paths.

 

Edit: Another bug you may or may not be aware of -- Apparently, some of the options in the "scenario" menu of the scenario editor are off by two (ex: Edit Item Placement Shortcuts brought up the dialog box for dumping the data to text file. The one before that option actually calls delete last town.)

Link to comment
Share on other sites

Ir: That's definitely a missing zlib, then.

 

I've fixed the three issues you've mentioned, by the way.

 

Jewels: I suspect git is included in the command-line tools that can be installed from XCode preferences (at least, that's how they used to be installed, I don't know if that's still the case). It doesn't matter which folder you clone into. (Generally, cloning automatically creates a folder whose name matches the repository.)

Link to comment
Share on other sites

Would you prefer I use a direct clone, or a fork? (I started with just a clone but Tyler suggested the fork) Branches vs. staying on master? And I expect I'll still need to get the hang of testing changes. I'm used to just refreshing a web page to troubleshoot something and I have a feeling it's a bit more complicated for the game.

Link to comment
Share on other sites

You can easily redirect your clone to point to a fork, if necessary. Unless you get direct push access to the main respository, you would need to have a fork so that you can make any changes available to me. (Both require a github account; if you didn't have a github account you could still submit email patches.) Branches are helpful, allowing you to have multiple proposed changes (ie pull requests) simultaneously, so I'd recommend it. I however work almost entirely on master at the moment.

Link to comment
Share on other sites

...what? Both those things work perfectly fine for me on the latest master (which only has a few changes relative to the linked build). What the heck is going on here... :(

 

I suppose it might help if you tell me exactly what happens when you attempt to do those two things, but it seems like a long shot...

Link to comment
Share on other sites

Using Mac OS 10.11.6 I couldn't get the buttons to work for training or combat, but OS 10.8.5 allows training.

 

In fighting the rats in the northwest part of fort, I can't use the arrow or ends button with the mouse and the keyboard commands don't work either. So I can fight with melee weapon and cast spells, but no missiles or leaving combat.

Link to comment
Share on other sites

Hmm. I can't rule out the possibility that my old Mac is simply incapable of producing a build that works properly on modern Macs, though if that were the problem I would've expected crashes rather than subtle bugs like this... but the OSX APIs are Objective-C, so who knows. For my part, I was (by coincidence) doing both the things you described earlier today, without any trouble, so whatever the problem is doesn't show up on my computer, which makes it difficult or even impossible (if it's really due to library versions) to fix.

 

It might even be necessary to get someone else to handle packaging for the Mac builds...

Link to comment
Share on other sites

It could be changes in the way Apple did the different operating system versions. There are some weird things with the way they changed things that might not show up until you hit them.

 

Back when Jeff released the code, the original version and the first open system version would save the party's location in different places on the game map. So if you loaded the same saved game with each version they would appear in different places.

Link to comment
Share on other sites

So, messing around with the scenario editor again and I would like to comment that for whatever reason, in the scenario details dialog, it puts a number like 119 in the minor version field for new scenarios. A bit weird imo.

 

Edit: Other issues:

 

- Outdoor Create/Edit Special does absolutely nothing.

- "Exception thrown at 0x012DD5A7 in Blades of Exile.exe: 0xC0000005: Access Violation reading location 0x00000000" when loading custom scenario in Blades of Exile. Source file: boe.towns.cpp around line 1276 (give or take a few lines since this is an older version than the most recent.)

Link to comment
Share on other sites

  • 2 weeks later...

That and Ir's create special bug have been fixed in master.

 

There's also an actual web page now for Open Blades of Exile. Currently it's a lot of stuff paraphrased from Spiderweb's site coupled with a lot of relevant links. Still needs work, so feedback would be great.

Link to comment
Share on other sites

  • 1 month later...

Did you install zlib? That file is the only one that directly references zlib, so if you were missing zlib I would definitely expect errors in that file. I'd have to see the specific unresolved references to know for sure whether or not it's zlib, though.

 

I've reproduced the second of those errors and am guessing it shouldn't be too difficult to fix. Hopefully I'll be able to reproduce the first one too.

"unresolved external symbol _gzclose referenced in function "public class gzstreambuf * __thiscall gzstreambuf::close(void)"

 

3 other symbols too were unresolved from the same file. VS Community 2015. I have triple-checked my library paths.

 

Edit: Another bug you may or may not be aware of -- Apparently, some of the options in the "scenario" menu of the scenario editor are off by two (ex: Edit Item Placement Shortcuts brought up the dialog box for dumping the data to text file. The one before that option actually calls delete last town.)

Ir: That's definitely a missing zlib, then.

 

I've fixed the three issues you've mentioned, by the way.

 

Jewels: I suspect git is included in the command-line tools that can be installed from XCode preferences (at least, that's how they used to be installed, I don't know if that's still the case). It doesn't matter which folder you clone into. (Generally, cloning automatically creates a folder whose name matches the repository.)

This does not appear to be the issue as it fails with SCons as well (same errors). It certainly did find ZLIB, so it's definitely not missing.

Link to comment
Share on other sites

Well, that error definitely indicates it's not linking against zlib - the gzclose() function is defined in the zlib .lib/.dll, so if it was linking against it, it would've resolved the symbol. I'm not sure why it wouldn't be linking against it though... sorry...

Link to comment
Share on other sites

Here's a list of bugs I spotted so far in OBoE, January 2017 Edition

 

- “A Small Rebellion” file corrupted? Entering scenario seems to make save files unreadable.

 

- When saved game is loaded, characters with spell points start at 0 regardless of where they were at when game was last saved.

 

- Add/Remove Mage Lore skill in training window affects the Mage Spells skill, not Mage Lore.

 

- Anama Member trait does not prevent PC from using items with mage spells.

 

- Attempting to add/remove mage lore affects the Mage Spells skill in the training window.

 

- Character editor: “Item 2” menu gives the item two slots below, e.g. selecting “Iron Javelins” gives “Lemonwood Bow”

 

- Character editor: “Item 3” menu gives the item four slots below, e.g. selecting “Scroll: Flame” gives “Scroll: Kill”

 

- Character editor: “Item 4” menu gives the item six slots below, e.g. selecting “Gold Ring” gives “Silver Ring of Weight”

 

- Character editor: “Add Mage Spells” and “Add Priest Spells” have no effect.

 

- Scenario editor: “One Time Display Dialog” node - clicking “edit text” causes the editor to crash if text number at -1.

 

- Scenario editor: In Scenario menu, Advanced section, starting with “Edit Horses”, the menu option two slots below is called. For example, choosing “Edit Horses” calls “Variable Town Entry”

 

- ZA-KHAZI RUN, Town 0: Ghost in Fort Goodling has merchant talking picture.

 

- ZA-KHAZI RUN, Town 0: Boats don’t appear despite being placed.

 

- ZA-KHAZI RUN, Town 0: Message telling player they “can’t enter” docks until they have supplies does not actually block them.

 

Since there are no boats despite showing up the the editor, I'm stuck.

Link to comment
Share on other sites

I've fixed two of those if I recall correctly - the Advanced section in the Scenario menu, and the Mage Lore training issue.

 

In addition to the missing boats, it seems that there are missing items in some scenarios, for example in the first storeroom in Valley of Dying things. I'm not sure what to make of these issues... but I suppose I will have to investigate soon since they essentially make the game unplayable.

Link to comment
Share on other sites

  • 4 weeks later...

Progress report! Fixed these bugs:

 

- When saved game is loaded, characters with spell points start at 0 regardless of where they were at when game was last saved.

 

- Add/Remove Mage Lore skill in training window affects the Mage Spells skill, not Mage Lore.

 

- Character editor: “Item 2” menu gives the item two slots below, e.g. selecting “Iron Javelins” gives “Lemonwood Bow”

 

- Character editor: “Item 3” menu gives the item four slots below, e.g. selecting “Scroll: Flame” gives “Scroll: Kill”

 

- Character editor: “Item 4” menu gives the item six slots below, e.g. selecting “Gold Ring” gives “Silver Ring of Weight”

 

- Character editor: “Add Mage Spells” and “Add Priest Spells” have no effect.

 

- Scenario editor: In Scenario menu, Advanced section, starting with “Edit Horses”, the menu option two slots below is called. For example, choosing “Edit Horses” calls “Variable Town Entry”

 

- ZA-KHAZI RUN, Town 0: Boats don’t appear despite being placed.

 

Plus the issue where items didn't appear at all (similar to the boats issue), and another issue with the PC editor item menus (the last three or so items were sometimes missing due to bad rounding).

 

 

These bugs are still not addressed:

- “A Small Rebellion” file corrupted? Entering scenario seems to make save files unreadable.

 

- Scenario editor: “One Time Display Dialog” node - clicking “edit text” causes the editor to crash if text number at -1.

 

- ZA-KHAZI RUN, Town 0: Ghost in Fort Goodling has merchant talking picture.

 

- ZA-KHAZI RUN, Town 0: Message telling player they “can’t enter” docks until they have supplies does not actually block them.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...
  • 1 month later...

I am a die hard Exile III Ruined World fan. It's slightly ridiculous how obsessed I am with that game. Is there a way to play it on my newer computer? I'm not tech savvy at all.. I saw that you were trying to come up with way a to combine the blades of exile and exile 3. Any progress on that?

Edited by BlueBonsia
Link to comment
Share on other sites

We have no plans to combine BoE with Exile 3. Although the Exile Trilogy are now freeware, they have not been released under a Free license and therefore it would be illegal to do so. As for Exile 3 itself, there are ways to run it using things like virtual machines or DOSBox or something, although it may not work perfectly or at all; see the Exile Trilogy forum for details.

Edited by The Almighty Doer of Stuff
Link to comment
Share on other sites

12 hours ago, BlueBonsia said:

I am a die hard Exile III Ruined World fan. It's slightly ridiculous how obsessed I am with that game. Is there a way to play it on my newer computer? I'm not tech savvy at all.. I saw that you were trying to come up with way a to combine the blades of exile and exile 3. Any progress on that?

I'd love to port Exile III to the OBoE engine, and we've discussed this a few times in the past. However, I have no plans to do so, and in any case we'd need permission from Jeff before doing it.

 

For playing E3 on modern computers, my suggestion would be to install Windows 3.x on DOSBox and then install E3 on that.

 

EDIT: Oh, there is actually an option which wouldn't require Jeff's permission (though I still have no plans to do it) - enable OBoE to read the Exile III data files.

Link to comment
Share on other sites

Oh, so you'd have to download the trilogy from the official site under the freeware license as usual, and BoE doesn't actually convert it into a scenario but just plays the original program like it was a scenario once you plug it in? Interesting idea. Does the Exile Trilogy's license allow for that?

Link to comment
Share on other sites

6 minutes ago, The Almighty Doer of Stuff said:

Does the Exile Trilogy's license allow for that?

i haven't seen the license (and cant be bothered to look it up) but i would assume (based on presumably-similar licenses i have read) it would be fine as long as you aren't tampering with the original game files or distributing them? just loading doesn't count, so a new "reader" would be fine.

Edited by sylae
but what do i know about licenses, i use GPL3 for everything
Link to comment
Share on other sites

3 hours ago, The Almighty Doer of Stuff said:

Sylae, is there any chance you'll become active in the development team again?

probably not. you know why. let's not get into it here pls.

 

4 hours ago, The Almighty Doer of Stuff said:

You seem like you're still at least somewhat enthusiastic about the project.

i am.

Link to comment
Share on other sites

I would say that it's the fact that it's now freeware that enables the possibility. Before it was freeware, the existence of such a tool likely would've allowed playing the full version without registering, since as I understand Exile relied on a flag in the preferences file to determine whether it was registered. (Sure, you could make the upgraded version read that flag, but that wouldn't stop anyone from making a modified build that ignores it.)

 

In any case, this isn't something to even consider doing until OBoE is stable for running BoE scenarios.

Link to comment
Share on other sites

Hey! I told Celtic Minstrel that I would be helping with this project over the summer, but some crazy weather the past few weeks and other unforeseen circumstances have led to me putting that off. Just today realized it's a almost the end of July already, time sure flies when nothing is going according to plan.

 

Just wanted to apologize and say that I probably wont be helping out after all. I'll still be popping up in the forums from time to time, and if I get some unexpected free time I can help with bug testing, but that's about it. I'll let you know if things change. I'm going to be studying C++ language in a bit so that might tie into me being of use next summer, but I shouldn't make any promises after how things turned out this summer.

Link to comment
Share on other sites

  • 2 months later...

A new release build is probably possible right now, I guess. I honestly think it would be better for interested people to check out and compile master, though. Especially Mac users, since I'm not sure whether builds I make will run properly on the latest OSX - the gulf just keeps widening and I wouldn't be surprised if there's a point where stuff deprecated since 10.7 is simply removed.

Link to comment
Share on other sites

  • 5 weeks later...
On 10/22/2017 at 2:51 PM, Celtic Minstrel said:

A new release build is probably possible right now, I guess. I honestly think it would be better for interested people to check out and compile master, though. Especially Mac users, since I'm not sure whether builds I make will run properly on the latest OSX - the gulf just keeps widening and I wouldn't be surprised if there's a point where stuff deprecated since 10.7 is simply removed.

(Personally, I disagree with that. While I can understand why you would find that to be best, it is very inconvenient for most people especially considering that OBoE has external dependencies that make it more difficult to build.)

 

Anyway, it has been a while since I've posted here. Since I feel like this thread deals with OBoE in general, I'll post a few thoughts here: (Fyi: This is going off the latest Windows build that Celtic posted a zip for, so it is probably a bit of an older build.):

 

1) I noticed above that you state that save doesn't work. Has this been fixed yet (and if not, why not)?

2) Can we please use a different color (darker green would probably work) for the HP on the interface? The light green hurts my eyes a lot. (I'm pretty sure it was darker in the original version, but I may be mistaken.)

2b) Likewise, can we avoid using light green for items in the inventory?

3) It is not a major issue, but the screen does flicker a lot whenever a dialog box is open. Is there any way to reduce this?

 

I'm going to see if I can actually make a scenario that works using the new scenario editor.

Edit:

4) The game crashed when I tried to look at the info for a completed quest. (I cannot get this one to reproduce, but there is definitely something strange going on when trying to look at the info of a completed quest.)

5) The priest spells menu lists mage spells instead of priest spells for some reason.

 

Edit2:

6) After finishing a quest, I tried to award the player with 250 XP. The system apparently has a problem with this as it says "Too much xp  - Report this". (Granted, I forgot that Exile had a base XP of 100 per level; I'm used to it being a thousand.)

7) I think there may be an issue with viewing monster lore in the menu when using the arrows.

 

Edit3:

8) There is some issue with "Set Scenario Timer". Pressing the OK button causes a crash with an error message of "time11 does not exist in dialog edit-scenario-events.xml". (There is no issue with 'Set Town Timer'.)

 

Edit4:

9) Checking for the "Anama Member" trait results in a non-fatal out-of-bounds error.

10) "Invalid Shop Type" error appears whenever I use the shopping node type during dialogue. (There's no issue with this in Warrior's Grove but I cannot get this to work in a scenario without Warrior's Grove.)

 

Edit5:

11) Pressing 'b' activates the bashing door message even when talking.

12) Something about alchemy is also presented when using 'b' to bash door.

Edited by Ir the Great
More stuff
Link to comment
Share on other sites

 

Okay, I actually got the master branch to compile on my end, and I found a (very quick) fix to one of the issues I brought up above (if I get a chance to, I may try to upload it to Github, but for now, I'll simply post it here because it is easier for me):

 

9) Checking for "Anama Member" trait results in an out-of-bounds error (and a related error):

In file boe.specials.cpp around line 3185:

		case eSpecType::AFFECT_TRAITS:
			if(pc_num >= 100) break;
			if(spec.ex1a < 0 || spec.ex1a > 15) {
				showError("Trait is out of range (0 - 15).");
				break;
			}

spec.ex1a > 15 should be changed be changed to 16. (Anama Member is trait number #16.) Likewise, the error message should be updated accordingly.

 

Make a similar adjustment also around line 3503 for the IF_TRAIT case.

 

Edit:

Also, why is it that running a release build is more stable than running a debug build? For instance, the following line of code triggers an out-of-bounds exception most of the time in the debug build (using MSVC on Windows) but it seems to get skipped entirely in the release build:

(Around line 322 of boe.graphutil.cpp:)

	cVehicle& in_boat = univ.party.boats[univ.party.in_boat];
	cVehicle& in_horse = univ.party.horses[univ.party.in_horse];

This triggers an out-of-bounds exception when trying to enter a scenario because the code use any number greater than or equal to zero to indicate an actual boat, but it uses -1 to indicate not in a boat, and when the scenario loads, it tries to access univ.party.boats[-1].

 

I would change it to look like this:

	cVehicle* in_boat = univ.party.in_boat >= 0 ?
		&univ.party.boats[univ.party.in_boat] : nullptr;
	cVehicle* in_horse = univ.party.in_horse >= 0 ?
		&univ.party.horses[univ.party.in_horse] : nullptr;

(Then, in the loops, test the pointer and if valid, dereference it for the comparison.)

 

Do something similar around line 354.

 

Edit2:

5) Priest spells menu lists mage spells for some reason:

Around line 238 of boe.menus.win.cpp:

				eSpell spell = cSpell::fromNum(eSkill::MAGE_SPELLS, on_spell_menu[1][i]);

The MAGE_SPELLS should be changed to PRIEST_SPELLS.

 

A little bit farther down:

				AppendMenuA(spell_menu, MF_STRING | MF_ENABLED, 2000 + int(spell), sout.str().c_str());

Should be 2900, not 2000.

 

Edit3:

10) Invalid shop type error occurs when using the shopping node during dialogue:

Around line 839 in boe.dlgutil.cpp: 

			if(d < 0 || d > 11) {
				showError("Invalid shop type!");
				return;
			}

Pretty sure the issue here is that d isn't used and is normally -1 when creating new dialogue nodes whereas in Warrior's Grove, the value is 0. I'm pretty sure you meant to check b here, but if that is the case, I do have to ask -- why only 12 shops?

 

Also, bug/suggestion 13) Whenever you exit shopping mode, the bottom part of the screen starts flashing.

 

Edit4:

1) The Save command does not seem to work.

In function do_load (located around line 2178) of boe.actions.cpp:

void do_load() {
	fs::path file_to_load = nav_get_party();
	if(file_to_load.empty()) return;
	if(!load_party(file_to_load, univ))
		return;
	finish_load_party();
	if(overall_mode != MODE_STARTUP)
		post_load();
	menu_activate();
}

Adding univ.file = file_to_load; after post_load() should make save work properly (like it used to.) (At least in the normal game -- not sure about the character editor.)

 

Also, bug/suggestion #14) An out of range exception was triggered when trying to export graphics.

The code being executed when the exception occurred is around line 1167 of universe.cpp:

	for(mon_num_t monst : party.imprisoned_monst) {
		if(monst != 0)
			check_monst(scenario.scen_monsters[monst]);
	}

(It could be having something do with negatives, but not certain. The value of monst was 52428 but scenario.scen_monsters had a size of 191.)

 

Edit5:

There is one case I missed with fixing the save bug (new parties):

In boe.actions.cpp around line 2685:

	fs::path file = nav_put_party();
	if(!file.empty()) save_party(file, univ);

Add right below that last line:

univ.file = file;

 

14) Exiting a scenario may cause a crash when it tries to export graphics:

In party.cpp around line 45:

	for(int i = 0; i < 6; i++)
		adven[i] = new cPlayer(*this, party_preset, i);

Add the following right below this:

	for (auto& monst : this->imprisoned_monst)
		monst = 0;

15) You cannot equip two one-handed weapons at once:

In pc.cpp around line 566:

	if(equip_item_type != eItemCat::MISC) {
		for(int i = 0; i < items.size(); i++)
			if(equip[i] && (*items[i].variety).exclusion == equip_item_type) {
				if(do_print && print_result) {
					print_result("Equip: You have something of this type");
					print_result("  equipped.");
				}
				return false;
			}
	}

Change the outermost if statement to something like this:

	if(equip_item_type == eItemCat::MISSILE_AMMO || equip_item_type == eItemCat::MISSILE_WEAPON) {

Edit6:

11) Using b in talk mode mentions the fact you cannot bash doors in that mode

Looking at a comment in the code somewhere, this appears to be feature-by-design rather than a bug. Considering that the shortcut keys a-h are commonly used when talking, shopping, or getting, I would highly encourage reverting this design change. (Hearing that you cannot bash doors while purchasing items is kinda obnoxious and unnecessary.)

Edited by Ir the Great
More stuff
Link to comment
Share on other sites

  • 3 weeks later...

I've pushed all the fixes from your second post to master. Thanks for the help!

 

On 11/21/2017 at 5:38 PM, Ir the Great said:

(Personally, I disagree with that. While I can understand why you would find that to be best, it is very inconvenient for most people especially considering that OBoE has external dependencies that make it more difficult to build.)

 

Yeah, it's certainly less convenient to have to build it yourself. It's pretty inconvenient to have to manually release new builds though, too. Especially for platforms other than Windows where I can't even be sure my builds will work.

Link to comment
Share on other sites

I think the difference is that you can do it, it's just inconvenient, whereas many potential players have no idea how to do it or even how to figure out how to do it.  Others might have the ability but still be dissuaded from trying it on that basis.

 

Note, I'm not criticizing all the time and effort you're putting into the project CM, which I know is already a lot.  I'm just pointing out that this is not a simple equation where inconvenience goes on one side, or on the other side.

Link to comment
Share on other sites

Yeah, I realize that. Convenience for the users is inconvenient for me, particularly in terms of supporting modern Mac OSX. I strongly suspect I'm not able to do the latter myself, actually.

 

I should be able to find time to at least make a new Windows build after Christmas, but if someone else could step up to making periodic Mac builds (I can still host them), that would be helpful.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...