Profile for Ishad Nha

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).

Recent posts

Pages

AuthorRecent posts
Petition for Carbonized Character Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #12
The situation with Windows PC Editor is exactly the same as for the Mac Editor. I will have to examine the Mac source code at my leisure.

Anyway I have just taken it for granted that the situation is the same for both Mac and Windows. A spreadsheet solution for the Windows version would presumably work for the Mac version, after you factored in the endianness.

A spreadsheet solution will leave all items with a Special Class of zero. It will remove any Conceal Ability property, which seems to be not functional anyway.

Edit:
PC Editor Problems coming from use of short_item_record_type:
· Special Class is igonored
· Wrong graphics translations for graphics numbered between 25 and 44.
· Conceal Ability is not handled at all, it is still not working in the real game.

It is possible to correct the first two errors by editing the save game file.

Ditto the graphics problem can be possibly fixed by assigning a custom graphic to an item. For example, picture 32 is a sword with a colored blade, normally this would be wrongly translated. However you could create a custom graphic using this picture. All custom item graphics have numbers of at least 150, so there will be no problem. The alteration will need to be done in the spreadsheet.

I have now devised an Excel spreadsheet that will enable you to paste in the scenario item records and turn them into a form that the Character Editor will accept. The item data can be saved as a file by itself then inserted into an editor as needed. Unfortunately it is only useful for Windows. (Edit: this is no longer the case I hope, though I can't test this.)
The link below won't just work, you will have to manually copy it and then paste it into your address bar, I don't know why.
http://www.freewebs.com/ishadnha/BoEPCEditorSpreadsheet.zip

I will need to alter this so it handles data coming from Mac scenarios, this fix is simple enough. (This has been done.)

[ Saturday, May 03, 2008 14:14: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Petition for Carbonized Character Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #10
In the Windows version, the save game file starts with three flags, from line 112 of "Edfileio.cpp":
short flags[3][2] =
{{5790,1342}, // slot 0 ... 5790 - out 1342 - town
{100,200}, // slot 1 100 in scenario, 200 not in
{3422,5567}}; // slot 2 ... 3422 - no maps 5567 - maps

If anyone has any familiarity with Borland Turbo C++ they can try compiling the source code.

In the meantime, I think I have devised formulas in an Excel spreadsheet that will convert the item data found in the exs file into a format that can be pasted right into the Character Editor. I have to do quality control to make sure that I have made no obvious mistakes.

It is only good for one scenario, it is 5.45MB in its original form and is all of 1.1MB when zipped. It is only good for one group of scenarios having the same lists of items.

It is also made solely for the Windows PC Editor.

[ Friday, April 25, 2008 01:55: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Save Game File Decrypting in Blades of Exile
Shock Trooper
Member # 7662
Profile #3
Change of topic: hex editing.

The notes above are scary to people who are not programmers. But if you open an exs file in a hex editor they start to make sense. Perhaps I should include some notes on how to hex - edit, when I find the time.

How to Hex edit
Download a free hex editor. I personally use Hexplorer, found at http://hexplorer.sourceforge.net
Then install it and start it up.
Open the file you want, a good choice to start with is an exs file. You can compare what you see in the hex editor with what the Scenario Editor displays. (Also it lacks the encryption found in the save game files.)

The place that you are looking for is found in the left part of the status bar. Say you want to edit the Special Items in a password - protected Windows scenario. You are looking for place 3,028 which equals hexadecimal address BD4.

Edit: to hex-edit is easy enough, if you can understand Blades of Avernum you are clever enough to hex-edit.

From the BoE Compiled Suggestion List, what hex-editing enables you to do:

Character Editor
(Ishad Nha)Allow the player to add items from the scenario list rather than the default list.

Scenario Editor
(CM)Remove editing restrictions on the first 91 terrain types.
(CM)Allow the designer to resize the outdoors
(CM,Hrothgar)Allow the designer to import an outdoor section

[ Wednesday, April 23, 2008 19:33: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Customizing hot keys, for dialog buttons in Blades of Exile
Shock Trooper
Member # 7662
Profile #0
Accelerator keys, hot keys, for dialog buttons are found from places 603,456 thru 603,605 of the game program. What the keys stand for is set out in the table “button_strs[150]” found on line 108 of the Spiderweb source file “dlogtool.cpp”. Thus it is possible to customize the keyboard assignments for all dialog buttons. In practice there could be a crash if the same hot key was used for different options occuring in the same dialog box.

I will be inserting “b” in place 603,514 for "Bash Door" and “p” in place 603,515 for "Pick Lock".

As for dialog, all options are already covered by appropriate hot keys.
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #19
If anyone wants to send him an email, these are the details from the profile of Ormus:
Member Status: Apprentice
Member Number: 8738
Registered: May 16, 2007
Posts: 14
Email Address: gkvl@tlen.pl
Location: Poland, Warsaw
Occupation: Student
Homepage: http://info.wsisiz.edu.pl/~kowalsg0/
Birth Date: January 09, 1985
Real Name: Grzegorz Kowalski
Favorite Spiderweb Game: Exile II
Posts: 292 | Registered: Monday, November 13 2006 08:00
Save Game File Decrypting in Blades of Exile
Shock Trooper
Member # 7662
Profile #2
I imagine that it is the same. But I have yet to check the two different source files. If you have the official Spiderweb source code you will have both the Mac and the Windows versions of "global.h". In Windows the above tables come from the data structures "scenario_data_type" and "party_record_type".

A difference of endianness won't by itself affect the above tables.

Edit: I just checked the two source files and they both gave the same result, thus the above tables are valid for both Mac and Windows.

[ Monday, April 21, 2008 19:41: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Save Game File Decrypting in Blades of Exile
Shock Trooper
Member # 7662
Profile #0
This is the first installment of decrypting the BoE save game file. It is based upon the source code file "global.h". Simply copy into the word processor of your choice and change all the tildes into tab stops. (Fine print, the save file uses an idiosyncratic system for recording values of letters and numbers. I have not fully decrypted it, but 0 thru 10 is usually:
k,j,i,h,o,n,m,l,c,b,a.)

PARTY RECORDS
Data type~name~length~starts at
(short)~(scenario flags)~6~0
long ~age;~4~6
short~gold, food;~4~10
unsigned char~stuff_done[310][10]~3,100~14
unsigned char~item_taken[200][8];~1,600~3114
short~light_level;~2~4714
location ~outdoor_corner, i_w_c, p_loc, loc_in_sec;~8~4716
boat_record_type ~boats[30];~300~4724
horse_record_type ~horses[30];~300~5024
creature_list_type ~creature_save[4];~33856~5324
short~in_boat, in_horse;~4~39180
outdoor_creature_type ~out_c[10];~290~39184
item_record_type ~magic_store_items[5][10];~3300~39474
short~imprisoned_monst[4];~8~42774
char~m_seen[256];~256~42782
char~journal_str[50];~50~43038
short~journal_day[50];~100~43088
short~special_notes_str[140][2];~560~43188
talk_save_type ~talk_save[120];~720~43748
short~direction, at_which_save_slot;~4~44468
char~alchemy[20];~20~44472
Boolean ~can_find_town[200];~200~44492
short~key_times[100];~200~44692
short~party_event_timers[30];~60~44892
short~global_or_town[30];~60~44952
short~node_to_call[30];~60~45012
char~spec_items[50]~50~45072
char~help_received[120];~120~45122
short~m_killed[200];~400~45242
long~total_m_killed, total_dam_done~8~45642
long~total_xp_gained, total_dam_taken;~8~45650
char~scen_name[256];~256~45658

"Age" means time, day of scenario&.

Lengths of data types in bytes:
1~Boolean
1~char
1~unsigned char
2~location
2~short
4~long
6~talk_save_type
10~boat_record_type
10~horse_record_type
29~outdoor_creature_type
66~item_record_type
8,464~creature_list_type

PC RECORDS
short ~main_status;~2~0
char ~name[20];~20~2
short ~skills[30];~60~22
short ~max_health~2~82
short ~cur_health~2~84
short ~max_sp~2~86
short ~cur_sp~2~88
short ~experience~2~90
short ~skill_pts~2~92
short ~level;~2~94
short ~status[15];~30~96
item_record_type ~items[24];~1584~126
Boolean ~equip[24];~24~1710
Boolean ~priest_spells[62]~62~1734
Boolean ~mage_spells[62];~62~1796
short ~which_graphic~2~1858
short ~weap_poisoned;~2~1860
Boolean ~advan[15]~15~1862
Boolean ~traits[15];~15~1877
short ~race~2~1892
short ~exp_adj~2~1894
short ~direction;~2~1896

A lot of the Debug functions don't work. "Actions.cpp" lines 1,586 onwards, Debug keystrokes are listed. Only the case > and case W work. Apart from minor message keys: &,*,(,).

[ Monday, April 21, 2008 05:10: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #18
If anyone can contact Ormus, as he knows programming, ask him how the password works.

Update to the EXS Decrypt file posted above:
36,47 thru 42,26: “Short out_data_size[100][2]”
First column is always just the size of “outdoor_record_type”: 4,146 bytes.
Second column seems to be the sum of the size of all signs and text messages.

42,59 thru 44,18: Special Items [50]
A value of 1 means that the Special Item can be used, while a value of 10 means that the party starts the scenario with the item. A value of 11 means that it can be used and the party starts with it.

Edit, further update:
44,19 thru 45,48: Special Items Specials [50]
What scenario special is called when the item is used.

[ Wednesday, April 23, 2008 03:46: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #16
As for Lazarus's original post about getting nowhere compiling with Dev-C++, that is the story of my life. I have been unable to compile anything from Spiderweb on the Dev-C++. Perhaps he can email Ormus and ask directly?

My notes will have to be made comprehensible to other people. They are based upon the official Spiderweb source code. I will also have to check that they match what you see in the exs file itself. I will include provision for hexadecimal addresses, programs like Hexplorer & are very useful.

Edit:
I have uploaded some notes that will enable decryption of an exs file:
http://www.freewebs.com/ishadnha/EXSDecrypts.zip
(Note these are Windows notes. The Mac version has no "unsigned char town_hidden[200],a;", instead it just has "unsigned char town_hidden[200];". I will have to compare the Mac and Windows source code later on.)

Edit:
I had to manually copy the address above and then enter it into the location bar before the link worked?!?

[ Monday, April 21, 2008 19:49: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #14
I just tried to alter the password with the wtfed editor and I got nowhere.

Hex editing requires a decryption of the exs file, which I have done using the source code for the editor. I can clean up my notes and you can post them on your site if you like.

It is less convenient than just editing but there you go.

[ Thursday, April 17, 2008 23:11: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #12
Why do we need passwords removed anyway?

If the scenario has an error there are only two solutions:
  • Edit the scenario file itself
Both require the use and knowledge of the password.
Hex editing is possible, but it takes more effort.

[ Thursday, April 17, 2008 17:29: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Reiner commits suicide! in Geneforge 4: Rebellion
Shock Trooper
Member # 7662
Profile #3
In the Scripts folder check the file "z20reiner.txt", this spells out that if a certain flag is not set then he may attack. I don't currently know the contents of his memory cells, so I can't finally say if there is a flag.
Posts: 292 | Registered: Monday, November 13 2006 08:00
Tables, tab stops in General
Shock Trooper
Member # 7662
Profile #9
My experience is that pasting anything into a post will cause the loss of all tab stops and other formatting.

Other forums, like the Ironworks Vaults, do have provision for html.
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #11
Another approach to passwords is possible now that we have access to the source code. Have someone who knows C read the source and figure out how the program handles the passwords.

I think they are recorded in the exs file by the means of "scenario flags", there are nine of them.
They are found at the following locations, when the file has a line width of 70 characters:
Short flag a: 6, 69 - 70
Short flag b: 7, 13 - 14
Short flag c: 36, 45 - 46
Short flag d: 595, 55-56.
Short flag e: 42, 57 - 58
Short flag f: 45, 53 - 54
Short flag g: 449, 23-24.
Short flag h: 509,1-2
Short flag i: 600, 7-8.

(Notation format is :
Short flag @: line number, column number-column number.)

Here is one example from line 1,319 of the Spiderweb source file tfileio.cpp:
short town_s(short flag)
{
long k = 0;

k = (long) flag;
k = k * k * k;
jl = jl * 54;
jl = jl * 2 + 1234 + k;
k = k + 51;
k = k % 3000;
jl = jl * 2 + 1234 + k;
k = k * scenario.num_towns;
k = k % 10000;
jl = jl * jl + 84 + k;
k = k + 10000;

return (short) k;
}

Posts: 292 | Registered: Monday, November 13 2006 08:00
Tables, tab stops in General
Shock Trooper
Member # 7662
Profile #7
As far as I can tell, the Code tags just preserve formatting, they don't enable the running of scripts. Hopefully they will enable the padding of text with spaces, to give the same effect as tab stops.

[ Wednesday, April 09, 2008 20:27: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Tables, tab stops in General
Shock Trooper
Member # 7662
Profile #0
I can find no way to insert tab stops or tables into posts in this forum. HTML is not enabled so I can't solve the problem that way. This would be a useful feature in certain posts.
Posts: 292 | Registered: Monday, November 13 2006 08:00
Exile 3 to .Blades in Blades of Exile
Shock Trooper
Member # 7662
Profile #9
So we already have an E3 re-enactment in the form of Assault on Valorim: Part One. It may be dreadful but who cares, you only need the floors and terrain from the thing.

(As for an Avernum 3 resource, all I need do is port the above Exile scenario to Blades of Avernum. Not practical, it also features lousy maps of Valorim for good measure.)

Removing the password, requires a re - write of the editor, quite simple if anyone knows how to program. I can't do it because I can't get the editor source code to compile properly into a functioning program.

Alternately, if you can figure out the password formula, you might be able to write a program that derives the password from the exs file.

These are the only passwords that I know:
All scenarios by "Drizzt" – 071576. Password found on home page.
"Rubacus", by Leon Lin: 28134.
"Islands of the Wheel": 23457 (best hand in deuce-to-seven lowball)
"Tatterdemalion": akqj10 (as a royal flush, best hand in most forms of poker)
"War on Bigail": bob

[ Monday, March 24, 2008 04:04: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Exile 3 to .Blades in Blades of Exile
Shock Trooper
Member # 7662
Profile #7
I am occasionally doing a translation of Avernum 3 to a Blades of Avernum resource scenario. One thing that I have found: a lot of the floor numbers are different for the two programs. It is not just a matter of cut and paste, I would need to figure out a list of translations first. You might have the same problem, I don't know as I have never tried an Exile 3 to Blades of Exile translation.
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #7
I hate to sound like an idiot but the SuprEditor by itself seems just like the original old official Editor. Does it require supporting files? Is there something wrong with the version posted on True Site?

[ Tuesday, March 18, 2008 23:54: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Compiling Windows BoE Editor in Blades of Exile
Shock Trooper
Member # 7662
Profile #5
The two programs mentioned by Jewelz are both Windows 95 vintage.

WTFED, this program is a Windows Blades of Exile Scenario Editor that allows you to view the password protected scenarios. No need for knowledge of the password. However to actually save your changes you will still need to know the password.

SuprEdit, seems to be just a conventional Windows BoE Scenario Editor. I can’t see any major differences or improvements.

Both of these editors are incompatible with the new BoE package by Ormus. The latter has a different file path for the standard graphics used. So you will need to copy the entire BlScenEd folder into the BoE Package before you can use either editor with the Package.

In the MS-Dos Edit command, when Line Width = 70
Line 5,629 Column 62, start of the text on the main screen. Here you can alter the name of the program as it appears on the main screen. This is how you can tell one program from another.

(Title bar: ?!??!! Now what is going on here?! Normally this is no problem for me. For whatever reason I can’t alter the text on the title bar.)
Posts: 292 | Registered: Monday, November 13 2006 08:00
Shadow Vale scenario archives in Blades of Avernum
Shock Trooper
Member # 7662
Profile #5
You haven't made it hidden or anything else like that?
Posts: 292 | Registered: Monday, November 13 2006 08:00
Shadow Vale scenario archives in Blades of Avernum
Shock Trooper
Member # 7662
Profile #0
The Shadow Vale Scenario archives is down or restricted or whatever, I tried to access it and I got:

"Forbidden

You don't have permission to access /index.htm on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request."

This has been the case for a few days.
Posts: 292 | Registered: Monday, November 13 2006 08:00
Roman fort in Nethergate
Shock Trooper
Member # 7662
Profile #1
The killing is a deliberate design decision by Jeff to emphasize the dangerous nature of the enemy fort. Stay out of sight as much as possible. I don't recall where the Eye is, but it should be there someplace?
Posts: 292 | Registered: Monday, November 13 2006 08:00
Where I left Demonslayer? in Avernum 4
Shock Trooper
Member # 7662
Profile #8
You are looking at item 304. Put a call like reward_give(304);
into the Init_state of a zone script.
Posts: 292 | Registered: Monday, November 13 2006 08:00
A2 Template in Blades of Avernum Editor
Shock Trooper
Member # 7662
Profile #5
I would still recommend adding it to all the lists of scenarios, so that people know it exists.

It is actually simple to fix the upper NW part of the template, the areas that were inaccessible in A2. Simply hex edit a save game to take you into those areas.
Posts: 292 | Registered: Monday, November 13 2006 08:00

Pages