-
Posts
4,121 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Posts posted by Celtic Minstrel
-
-
Or I could use my original method - the SDF - if I simply wanted to disable all belts in the town.
By the way, what's the maximum number of creatures in a town? And the max num of items?
Edit: There's no way to iterate through all items in the town like you can do with creatures, is there?

Edit: It's telling me there is "syntax error [statement" (ALint) or "Bad term in expression" (Avernum) on line 39. That's the "south" line in the INIT_STATE:
This makes no sense at all.Code:variables;short xTarget,yTarget,willPush,i,j;// Constantsshort north,east,south,west,nw,ne,se,sw;body;beginstate INIT_STATE; // Set the constants nw = 0; ne = 0; se = 0; sw = 0; north = 474; east = 476 south = 477; west = 475; set_ter_script_mode(ME,3);break;
-
I just sent him a private message about this. If he hasn't been checking the forum recently, then hopefully he has opted to be notified by email upon recieving a PM. Really all we can do about this is wait, I think.
-
I can't quite seem to figure out how those paths work. At least, "\p::Resources:bladesofexile.rsrc" fails even though the file exists in the Resources folder within the bundle. It fails with one or three trailing colons, too.Anyway, I increased the maximum number of scenarios listed in the Choose Scenario dialog to 50, as well as omitting the default three from said listing. The hardest part was finding where to apply the changes.

Edit: I also put this number into a constant (kMaxScenarios) to make it easier to change.
Edit: If I obtained the source using "darcs get", can I also use darcs to add my changes?
-
Thanks, but actually my contribution won't really help you much since I use a Mac and you use Windows. I'm not quite sure who would port the Windows character editor – maybe Ormus or Ishad Nha? Only, Ormus has vanished.Quote:Originally written by novaalpha:
Your contribution will be much appreciated.

P.S. Way too many emoticons. -
Well... I never thought of this. Only one minor problem – I wanted to be able to set an SDF to turn it off (so it stops pushing). However it's fairly unlikely I'll have two completely separate conveyor networks in the same town, so that shouldn't be a significant problem.
I actually made the terrain script be set automatically, but I still had to go through and set the direction appropriately.
I wonder... could I make this work outdoors?
-
I'm trying to create a terrain script which makes a space act like a conveyor belt. It works, but there's one problem: when several conveyor spaces are chained together, you are taken instantly to the end of the chain rather than being pushed a single space. Is there any way to fix this? I thought of setting an SDF which is reset in, say, the scenario start state, but then only one belt space would operate per turn.
My code:
(It's in the START_STATE.)Code:if (char_on_me() == -1) end(); willPush = 1; // If hasted, the character may not be pushed. if (get_char_status(char_on_me(),3) > get_ran(1,1,100)) willPush = 0; // If flying or hovering feet, the character will not be pushed. if (get_char_status(char_on_me(),25) > 0 || get_char_status(char_on_me(),27) > 0) willPush = 0; if (willPush == 1) { print_named_str(char_on_me()," is pushed!"); relocate_character(char_on_me(),xTarget,yTarget); force_instant_terrain_redraw(); } -
Thanks, it was that the resource files were not where they were expected to be.
Now, can someone explain this:
"\p::::bladesofexile.rsrc"
I know \p is the length byte, but why are there so many colons?
Edit: Oh, I'm using Khoth's source. Not the OBoE source, just the BoE source. And thanks, Niemand, for the tip.
-
Okay, I'm trying to compile the BoE source code on a Mac. It compiles*, links, and runs, but instantly exits with status 1. (One time it was status 5.) There isn't even a chance to debug to find where the problem is. It's almost like it has an error before it even gets to main(). Does anyone know how I can get it to run?
*Except the scenario editor, which is missing a constant. This should be easy to fix.
Also, is there any simple way to get rid of the tons of "deprecated" warnings? Or is the only solution to hunt through the documentation? Or... is it simply because Carbon is being phased out? (At least I thought it was...)
-
I think you'd want to put it in the SEARCH_STATE to prevent access to the contents of the container.
-
No... no, I wouldn't call myself "maintainer" of the project. If anyone could have been considered "maintainer", it would have been Stareye, but he's been gone from the BoE board for quite some time. I do, however, have some coding experience, and since my exams are now over I think I would like to try working on some stuff. Carbonizing the character editor, in particular.Quote:Originally written by novaalpha:
So you're current maintainer of this treasure? I was hoping that Spiderweb Software is interested in opensource version of it's best game ever... Now I see that chances are slim.
On the other hand, I may just play through my Avernum games now that I have both the time and the full versions.
(Incidentally, does anyone know why it would compile, run, and then quit without doing anything? It exited with status 5, whatever that means...) -
If you want to learn coding without risk of crashes (or at least greatly reduced risk), try something like Python, Logo (especially if you want to draw pictures), Perl (never tried it myself) etc. Generally speaking, these higher level programming languages have better error handling than, say, C or C++ or Pascal, and hence will be less likely to crash your computer.
You could also try a scripting language, if it is not too specialized (AvernumScript is too specialized). For example, a HyperCard clone.
Of course, none of that would help you contribute to BoE in the short run.
But it could help you learn principles of programming which could later be applied to a lower level language like C++.My first "programming" was done in UCB Logo and HyperCard, and when I moved on to C++ and Python I found that I already understood some of the concepts, such as recursion. Next I have to learn Objective C or Java so I can use the Cocoa APIs...

-
Ah, I thought it might. It can handle all three newline types? (CR, LF, CRLF)Quote:Originally written by Niemand:
Although Windows and Macintosh text-editor usually use different newline characters, the game is prepared for this, and converts them all to a single type as it reads them.No surprises here.Quote:Originally written by Niemand:
Sadly, GA does not run under classic OS.You would probably also need a firm understanding of the HFS+ file system, wouldn't you?Quote:Originally written by Niemand:
I am kicking around some ideas for creating a zip file on WIndows that would decompress as a usable cmg file, the trouble is that the I would have to figure out both how to write the data for a resource map manually, without the help of the library functions that normally do it, and I would then have to compress that data into a zip file so that it looks like it was in a resource fork. -
I think they are, but I just thought - Windows and Macintosh use different newlines. Does the game automatically detect the type of newline used and adjust accordingly, or must you make sure to use the correct one?Quote:Originally written by Ishad Nha:
I imagine that the scripts are plain text and should be okay in either format,
The bas files are platform independent. To convert custom graphics from Mac to Windows or Windows to Mac, you need to use a resource editor (which is time-consuming) or GraphicAdjuster (by Niemand). If you use Windows, you have to get a Mac OSX user to do the conversion for you. (I doubt GA works on OS9).Quote:Originally written by Ishad Nha:
which leaves the bas files and custom graphics.Unless you use Mac Classic, you should probably compress with zip since this is just a simple right-click (or control-click) and select "Compress". (This is available in Tiger, but I'm not quite sure if it's available in earlier versions.) Mac OS9 comes with DropStuff, which can create sit files. I don't think there's a time limit on its use, but I'm not sure. On Windows I think it may be similarly easy to create a zip file, at least in XP.Quote:Originally written by Ishad Nha:
Then the thing has to be put into sit/stuffit or zip format.
Really, porting the graphics is the only issue. I wonder if someone who uses Windows could create a utility that collects the bmp files and creates a zip file which will decompress into a valid cmg? It's probably possible, but I bet it'd also be quite difficult... -
Do you mean this site ? I'd say upload your scenarios there when they are done or when the site accepts new registrations (whichever comes last).
-
Well, Stareye was working on it at one point, and then disappeared. If I had time and could get it to compile and run, I might try to do some of it. (It currently compiles, but when I run it nothing happens.) In particular I was hoping to Carbonize the character editor. That will only help if you use a Mac - I will absolutely not do anything for the Windows version. Khoth carbonized the Mac version, and Ormus ported from Win16 to Win32, but they've disappeared too.
Perhaps I'll look at it over the holidays...
-
It means it will run natively on Mac OSX Intel; however, if you are able to run the demo character editor, you're clearly not using Mac OSX Intel (since that is the only platform it won't run on).
So I guess it's irrelevant. You could start a similar one for Win32 though, if you use Windows.
Edit: It seems the purpose of that thread may have been inadvertently expanded to include Windows...
-
I guess this is a bug, so I've added it to the bugs and suggestions list .
-
Added bug from this topic .
-
So... when will we be able to register?
-
That definitely applies to Mac Classic, but I think you should be able to run Max OSX in an emulator?
-
You put the .exs and .bmp files in the scenarios folder, right? Not in a subfolder of the scenarios folder?
And you restarted BoE after putting them there?
I can't think what else could be the problem.
-
*sigh* See here .
-
I am pretty sure that there is no way to run MacOS on your Windows computer without buying a copy of it. Sorry.

-
Oh, I see. The avatar thing is confusing. A note about that might be useful.
As for my name, removing the space does not work. I get a "User Name field is required" error.

Conveyor belt
in Blades of Avernum Editor
Posted
The "east" line is missing a semicolon.
Maybe an SDF could be used to chart whether a belt has moved a player yet, with one for each player (6). Set them to a number after moving a player, and reset them every turn. If you want the belt to stop you can set all the SDFs to the inactive value.
Will monsters also need to walk on the belt?
Edit: as it so happens the Blazing Blades produced good conveyor belt graphics.
The maximum is 120 creatures, I think, and something like 144 items, but move_item_on_spot is probably your best bet for items.
Originally written by Niemand:
80 placed creatures + 34 summoned + 6 party members = 120 charcters in the town.
Now I just have to figure out a way to ensure a specific pile of items is only pushed once per turn... The easiest way would be to work backwards along the chain, but that would require different code for each town that uses conveyors. I'll do it if I can't think of a better way, though... I have a suspicion that this is actually the only way it could work.
Edit: Well, it's improved, but now for some reason it moves about ten spaces at a time, and I can't figure out why. Here's the functional code:
i = 0;//print_str("Checking conveyors...");while(i<120){ // What's the maximum number of creatures in a town? xTarget = char_loc_x(i); yTarget = char_loc_y(i); if(i == 0){ print_named_str(i,"considered"); print_nums(xTarget,yTarget,get_terrain(xTarget, yTarget)); } if ((get_terrain(xTarget, yTarget) == north && north > 0) || (get_terrain(xTarget, yTarget) == ne && ne > 0) || (get_terrain(xTarget, yTarget) == nw && nw > 0)) yTarget = yTarget - 1; else if ((get_terrain(xTarget, yTarget) == south && south > 0) || (get_terrain(xTarget, yTarget) == se && se > 0) || (get_terrain(xTarget, yTarget) == sw && sw > 0)) yTarget = yTarget + 1; if ((get_terrain(xTarget, yTarget) == east && east > 0) || (get_terrain(xTarget, yTarget) == ne && ne > 0) || (get_terrain(xTarget, yTarget) == se && se > 0)) xTarget = xTarget + 1; else if ((get_terrain(xTarget, yTarget) == west && west > 0) || (get_terrain(xTarget, yTarget) == sw && sw > 0) || (get_terrain(xTarget, yTarget) == nw && nw > 0)) xTarget = xTarget - 1; if(i == 0)print_nums(xTarget,yTarget,0); if (xTarget != char_loc_x(i) || yTarget != char_loc_y(i)){ willPush = 1; // If hasted, the character may not be pushed. if (get_char_status(i,3) > get_ran(1,1,100)) willPush = 0; // If flying or hovering feet, the character will not be pushed. if (get_char_status(i,25) > 0 || get_char_status(i,27) > 0) willPush = 0; if (willPush == 1) { print_named_str(i," is pushed!"); relocate_character(i,xTarget,yTarget); force_instant_terrain_redraw(); } } i = i + 1;}