Jump to content

OBoE under VS2005 + minor fixes


Ilintar

Recommended Posts

In case anyone's interested:

1) I've ported Ormus' dev-cpp code to Visual Studio 2005, if anyone is doing development in this environment, I'd be happy to help.

2) There's a bug in the Windows version causing BoE not to read scenario lists properly - the ListBox LD_DIR message reads files starting from the current directory, not from the starting directory. Simple fix, in FILEIO.CPP starting from line 2034 add:

 

Code:
char directory[256];GetModuleFileName(store_hInstance, directory, 255);PathRemoveFileSpec(directory);SetCurrentDirectory(directory);
(this one requires the include of shlwapi.h and requires linking with the shlwapi library, since the library is just needed for the PathRemoveFileSpec, you can probably rewrite it without it, but I'm lazy tongue )

 

Also, I've seen some requests for fixing petrification touch, so here it is.

 

In COMBAT.CPP, around line 2388, add:

 

Code:
if ((attacker->m_d.spec_skill == 30) && (get_ran(1,0,2) < 2)){	add_string_to_buf("  Petrifies!                ");	print_buf();        petrify_pc(target,attacker->m_d.level * 5);}
(you also have to remove the "|| ... skill == 30" from the disease case).

 

In PARTY.CPP, add the following:

Code:
void petrify_pc(short which_pc,short how_much){	short r1; // resistance value	if (adven[which_pc].isAlive() == false)		return;	if (pc_has_abil_equip(which_pc,49) < 24)	{		sprintf ((char *) c_line, "  %s is immune to petrification.",(char *) adven[which_pc].name);		add_string_to_buf((char *) c_line);		return;	}	r1 = get_ran(1,0,100); 	r1 += adven[which_pc].level * 4;		if (r1 > how_much)	{		sprintf((char *)c_line, "  %s resists petrification.", (char *)adven[which_pc].name);		add_string_to_buf((char *)c_line);		return;	}	else	{		sprintf((char *)c_line, "  %s is turned to stone.", (char *)adven[which_pc].name);		add_string_to_buf((char *)c_line);		kill_pc(which_pc,4);		one_sound(90);		put_pc_screen();	}}
Also, add a relevant declaration to PARTY.H.
Link to comment
Share on other sites

Adding new dialog boxes as in? I think I might know what you are saying, but could you please be more specific. Just remember, there are differences between the Mac and PC versions when modifying certain things.

 

EDIT: I think I know what you mean more now. Before making changes permanent, we should look to the usefulness of various fields. This is best gagued by community reaction. If something can be done another way and is only a convenience thing, then perhaps it is best left open for a more "useful" idea.

Link to comment
Share on other sites

Yes, a good idea Stareye...

And about that change idea of yours, Ilintar, I doubt that we really need such a node. There's already the End Scenario - Node and that's as far as anyone should go in designing.

Closing the program is normally not needed, just end the scenario, closing Exile fully could anger players and I see no reason why to risk this...

Link to comment
Share on other sites

Quote:
Originally written by Crynsos:
Yes, a good idea Stareye...
And about that change idea of yours, Ilintar, I doubt that we really need such a node. There's already the End Scenario - Node and that's as far as anyone should go in designing.
Closing the program is normally not needed, just end the scenario, closing Exile fully could anger players and I see no reason why to risk this...
It's not that. I didn't add a new node, I just filled in the < Unused > area (where "How to order" used to be) in the main menu with "Quit game". However, in the meantime I had to also figure out how to add a new dialog box to the resources (because of the custom dialog graphics, it's not as simple as adding and programming a standard dialog box). So, if anyone's programming under Windows and feels a need to know how to add new dialog boxes to BoE, I can give some assistance.
Link to comment
Share on other sites

As I said elsewhere on this forum (Ormus agreed) it might be more useful to have that button bring up the license the code is released under instead of having it close BoE. There's already the little X button in the upper right corner of the window for closing the program anyway.

 

As for the Start Scenario and Custom Scenario buttons, I think we could hypothetically get rid of the Start Scenario button since it only displays VoDT, ASR (with a typo in the title, no less), and ZKR, regardless of whether they're actually in the folder, while Custom Scenario displays a list of all scenarios in the folder (up to the hard-coded limit anyway), including those three if they're in the folder. Then we could put something else there. I don't know what should go there though.

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