Jump to content
Sign in to follow this  
Lazzamore

Anyone around?

Recommended Posts

Hello, I'm Lazzamore. I'd like to get back into Blades of Avernum, but first I want to know if their any chance at all someone other then me would be playing/making the scenarios? I know BoA is mostly dead, and had a rough go at being alive to start with, but I still have fond memories of my first playthrough. While their are some i haven't played, I think it would get a bit dull playing just the same scenarios again, and even worse spending time and effort designing my own if no one's ever gonna try them!

 

So, would anybody here like to form a new BoA group with me?

Share this post


Link to post
Share on other sites

Not sure how long since you've played, but you could always play Of Good and Evil, a BoE scenario I ported over a couple years ago :p It's pretty full length, and (to my knowledge) hasn't been played since release.

 

Excalibur also released Restless Souls, that's pretty good too.

Share this post


Link to post
Share on other sites

Hm, okay! Its been a while, don't think I've played that one. Where might I find them?

 

Nevermind, I found them here. My original question still stands, though: If I made scenarios, would anybody else come back?

Edited by Lazzamore

Share this post


Link to post
Share on other sites

Same as Tyranicus and Kelandon. I don't regularly play or design scenarios, but I'll play whatever new stuff comes out. The same will be true of maybe a dozen other regulars on this forum.

 

However, it's really hard to say how many people who aren't regular contributing members of this forum still play BoA whenever something new comes out.

Share this post


Link to post
Share on other sites

I'm here! I may or may not play a new scenario though (depending on factors like whether it seems interesting, how long/large it is, and whether I feel like I have time to spare).

Share this post


Link to post
Share on other sites

Many of us may be busy playing the latest game from the Avadon series or a remake of A1 or A2.

Porting games from the Blades of Exile world is the quickest way to produce quality new BoA Scenarios.

Share this post


Link to post
Share on other sites

I think it can be done. I will need to create some programs to detect customized terrain, items and monsters...

 

Code done for program, now I need to write a suitable spreadsheet for doing the actual comparisons.

 

 

 

#include <iostream>

using namespace std;

 

#include <stdio.h>

#include <stdlib.h>

 

//cd C:\

 

int main(void)

{

unsigned long buffer[81200]; /* initialized to zeroes */

unsigned long i,j,k;

FILE *fp = fopen("myfile", "rb");

 

if (fp == NULL) {

perror("Failed to open file \"myfile\"");

return EXIT_FAILURE;

}

 

for (i = 0; i < 81200; i++) {

unsigned long rc = getc(fp);

if (rc == EOF) {

fputs("An error occurred while reading the file.\n", stderr);

return EXIT_FAILURE;

}

buffer = rc;

}

 

fclose(fp);

 

 

char *scen_letters[127] = {

"*"," "," "," "," "," "," "," "," "," ",

" "," "," "," "," "," "," "," "," "," ",

" "," "," "," "," "," "," "," "," "," ",

"",""," ","!","\"","#","$","%","&","'",

"(",")","*","+",";","-",".","/","0","1",

"2","3","4","5","6","7","8","9",":",";",

"<","=",">","?","@","A","B","C","D","E",

"F","G","H","I","J","K","L","M","N","O",

"P","Q","R","S","T","U","V","W","X","Y",

"Z","[","]","]","^","_","`","a","b","c",

"d","e","f","g","h","i","j","k","l","m",

"n","o","p","q","r","s","t","u","v","w",

"x","y","z","{","|","}","~",

};

 

printf("\nThis program prints out a few features of the Blades of Exile scenario file.\n It is only concerned with detecting customization of monsters, items and");

printf("\nterrain types. It does this by printing out data for the current Exs file.\n Said data is then compared with the data from Bladbase.exs\n");

 

printf("\n\nScenario Flag\n0,,,"); // Scenario Flag

printf("%d,%d,%d,%d",buffer[0],buffer[1],buffer[2],buffer[3]);

 

printf("\n\n\nOffsets 3134:30781 Scenario Monsters [256][108]\n");

 

for (i = 3134; i < 30782; i++) { // Scenario Monsters [256][108]

if (i % 108 == 2)

printf("%d,%d,,",i,(i - 3134)/108);

printf("%d,",buffer);

 

if (i % 108 == 1)

printf("\n");

if (i == 30781)

printf("\n\n\nOffsets 31384:35479 Terrain Types [256][16]\n");

}

 

for (i = 31384; i < 35480; i++) { // Scenario Terrains [256][16]

if (i % 16 == 8)

printf("%d,%d,,",i,(i - 31384)/16);

printf("%d,",buffer);

 

if (i % 16 == 7)

printf("\n");

if (i == 35479)

printf("\n\n\nOffsets 41942:68341 Item Types [400][66]\n");

}

 

for (i = 41942; i < 68342; i++) { // Item Types [400][66]

if (i % 66 == 32)

printf("%d,%d,,",i,(i - 41942)/66);

printf("%d,",buffer);

 

if (i % 66 == 31)

printf("\n");

if (i == 68341)

printf("\n\n\nOffsets 68342:73461 Monster Names [256][20]\n");

}

 

// 22:46 Full, Identified Item Name

 

 

for (i = 68342; i < 73462; i++) { // Monster Names [256][20]

if (i % 20 == 2) {

printf("%d,%d,",i,(i - 68342)/20);

for (j = 0; j < 20; j++) {

printf("%s",scen_letters[buffer[i + j]]);

if (buffer[i + j + 1] == 0)

break;

}

printf(",");

}

 

printf("%d,",buffer);

 

if (i % 20 == 1)

printf("\n");

if (i == 73461)

printf("\n\n\nOffsets 73462:81141 Terrain Names [256][30]\n");

}

 

 

for (i = 73462; i < 81142; i++) { // Terrain Names [256][30]

if (i % 30 == 22) {

printf("%d,%d,",i,(i - 73462)/30);

for (j = 0; j < 30; j++) {

printf("%s",scen_letters[buffer[i + j]]);

if (buffer[i + j + 1] == 0)

break;

}

printf(",");

}

 

printf("%d,",buffer);

 

if (i % 30 == 21)

printf("\n");

if (i == 81141)

printf("\n\n\nStarting at Offset 81142 Scenario Name\n");

}

 

k = 81142 + buffer[41636];

for (i = 81142; i < k; i++) { // Scenario Name

printf("%s",scen_letters[buffer]);

}

 

printf("\n\n");

 

return EXIT_SUCCESS;

}

 

 

Share this post


Link to post
Share on other sites

Ishad Nha: First of all, your buffer is not initialized to zeroes (only variables declared outside a function get that treatment); instead, it's not initialized at all and thus starts out as garbage data. (Also, why are you including <iostream> when you don't even use it?)

 

Secondly, I wonder if it might be more convenient for you to parse the XML format that the latest Blades of Exile releases can produce? You'd just have to resave it as a .boes in the new scenario editor, change the file extension to .tgz (or .tar.gz), and unpack it with 7zip (which would produce a folder called "scenario" - not the scenario's name, just "scenario"). Just a thought. (It's also somewhat human-readable.) Barring one or two issues I fixed recently (like changing "One-Time Do Nothing" nodes to "One-Time And Set"), the conversion seems to be pretty accurate now. (And I'd love to have someone point out any places where it's not accurate.)

Share this post


Link to post
Share on other sites

I'd still play! I sometimes do with older scenarios! And, I'm perpetually plinking away at making new stuff. I'll have a weekend where I'll do a lot, and then weeks where I don't touch it, but there is A Something!

Share this post


Link to post
Share on other sites

I am not a serious coder/programmer! Program prints out okay...

Program prints out data, which is put into a spreadsheet for analysis. To detect customization, data from the relevant scenario is compared with data from Bladbase.exs. Idea is go through each object (monster, item or terrain type) and see how it differs from the default values found in Bladbase.exs.

 

XML I will need to look into at some point...

Edited by Ishad Nha

Share this post


Link to post
Share on other sites

I was mainly objecting to your inaccurate comment (it might not have been important for it to be initialized to zeros).

 

One nice thing about XML is that it can be compared with normal diffing tools. No idea where you'd find such a thing for Windows though (UNIXes generally come with it preinstalled).

Share this post


Link to post
Share on other sites

I completely forgot, and since Kelandon didn't mention it: "The Magic", by him, was very enjoyable - it ties into the Bahssikava/Exodus scenarios, if those interested you when you played.

Share this post


Link to post
Share on other sites

That would be because I last updated my site a month before Kel released The Magic. :p

I'll update it again when I get a chance.

Share this post


Link to post
Share on other sites

Late to the party but playing this now.

 

Amazing old-school goodness!

 

Guess I know what I'll be spending most of my time on during the holidays.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×