Jump to content

Niemand

Moderator
  • Posts

    2,138
  • Joined

  • Last visited

Profile Information

  • Gender
    Not Telling
  • Location
    Wisconsin
  • Favorite Games
    Avernum 2, Blades of Avernum
  • Interests
    Reading, Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Niemand's Achievements

Well-Actually War Trall

Well-Actually War Trall (13/17)

  1. I would be happy to help with testing, although I haven't quite managed to get the groundwork in order yet: I've compiled and installed Mono, but so far I can't get it actually to work. It looks like to get anything graphical to run Mono actually needs a bunch of other stuff installed, and so far I haven't quite been able to figure out how to get glib without all of GTK+, which I would prefer to avoid. I'll take another shot at it tomorrow (since I probably just need to use Google more effectively to find the appropriate tarball). Hopefully I'll get that working soon, so if you have something you would like tested feel free to send it to niemandcw(at)gmail(dot)com with instructions for what you want done.
  2. The default behavior isn't very useful, since it can easily put a game into an un-winnable state. I, for one, see no problem with your choice to alter it. Absolutely. Avernumscript is very slow, as can be seen when designers ask it to do too much. (See for example, A Visit to the Madhouse, which accumulated a fair number of complaints because of frequently running creature scripts.) However, in this case I think you're probably fine, since you're only putting in a single conditional. If you really feel paranoid, you could factor out the body of the conditional into another state and brach to it with set_state_continue() so that there's very little code actually in the START_STATE. (Assuming the interpreter in the game works as the pieces of it leftover in the editor do, even when the body of a conditional is skipped the skipping takes time proportional to the amount of code skipped.)
  3. (Bump) The bug should be fixed and version 1.3.1 is released. Use the 'Check for Updates...' menu item and you should be able to download it directly. Tridash: The same bugs will need to be fixed in the Windows version as well; I'll try to see to it later today, but I thought I'd mention it in writing here in case I forget.
  4. I can reproduce such a crash with r91; I'm looking into why it happens now. It doesn't crash if the first thing I do is creating an Area Description, but it does if I already had an Area Description selected and I create another, or if I add one, delete it, and then add another. I have the bad feeling that this is my fault; something to do with wiring up the undo code. EDIT: I found the problem; a pointer was being initialized to a garbage value due to a typo. This actually affects every undo record of a change which alters a string, not just area descriptions, so I think I'm going to bump the version number to 1.3.1 and make a bugfix release. EDIT 2: It turns out that undo was completely broken for creating and deleting area descriptions anyway. I think I have it fixed, but I made enough changes that I want to take another look at it in the morning (when I trust myself to think a bit more clearly) before I check it in. If it still looks okay then, I'll proceed with the release. (There's also a QOI issue with the description strings for creating and deleting objects and how they change when moved between the undo and redo stacks that I just noticed, but rather than risk breaking stuff that works, in an ugly way, in an attempt to make it pretty, I think I'll leave it alone for now.)
  5. It's good to know that this is possible, although it comes with the disadvantage of having to enter dialogue mode, which may look rather odd, depending on why you wanted to invoke a town script state.
  6. Yes because we definitely need to have an even harder time telling which version is the most up to date and actually has the most bugs fixed. (Not that my opion counts for much, since I hardly contribute anything to BoE, but I personally detest git, and have been repeatedly annoyed by open source projects which I use moving to github and then metastasizing.)
  7. What do you mean by 'entering the value'? Writing it into your scenario data script? If the next creature definition doesn't use `clear` or `import` then it will inherit all of the properties from the one you edited, causing them to cascade to it and possibly other definitions.
  8. BainIhrno: It sounds like you have an old copy. I'm also on 10.8.2 and the version on my website works for me.
  9. I can test this, but the answer is very likely to be no. The Mac editor certainly can't handle this, and I think that it probably uses the same Resource Manager interface for opening the resources (since we have never changed it from Jeff's original code). EDIT: No, the game can't handle it.
  10. You really don't need to worry about the features of HFS; you just need to know the magic suffix to append to a file name to indicate that HFS should treat the file as the resource fork of the same file without the suffix. In fact, having remembered more of my own planning, I realize that we, or at least I, have been overthinking the problem somewhat. If you want to handle this feature (which is really a rather minor one compared to getting the rest of your editor working), you only need to be able to write bitmap data for images using a very limited subset of the PICT format, write that data within a resource map format (for which we have the code I linked above as an example), and write the resource map data to a tar format (which is easy and for which I already have code). You never actually need to do any reading of this data, since while doing so would be nice, it is irrelevant, because it cannot exist on your filesystem.
  11. (Sorry it took me a while to get back to you, I haven't been the most attentive of late.) As far as other tactics go, a lot depends on how you've distributed your skill points and what items you've been able to scrounge up. Things like bows and thrown missiles can be very useful because they can let you do melee-type damage to enemies well across the battlefield. Wands and scrolls can also help, since they can let your fighters cast offensive spells, in basically the way that potions let any character do the equivalent of casting a defensive spell on itself. Another handy trick is that using an item from your inventory only takes 3 AP, and you get 4 AP by default. So, a fighter can drink a potion and then still take another action, like striking an adjacent enemy with a melee weapon, firing an arrow, or using a second item. Similarly, a mage who is out of energy can drink an energy potion, and then immediately cast a spell.
  12. Sorry, I hadn't meant to imply any lack of competence on your part, just that the code wouldn't be directly useful as a library the way I had intended. The best resource I've found on the PICT format is this: http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-458.html]http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-458.html . I dug up my old code and worked on it a bit this evening, and got it to the point that I can read in a PICT resource and correctly interpret most of its header data and a few opcodes. I threw everything into a tarball so you can look at it or try it out. In particular, there are some files you could work with if you want to test your own code. I moved their resources to the data forks so that they can survive as normal files on non-HFS filesystems.
  13. I don't quite see why this example is hard, unless space is very constrained; the 'S's are replaced by a single special rectangle, which is moved away from point T until the party is guaranteed not to cross it (4 spaces away for if there are no joinable NPCs in the scenario). This would only fail if for some reason there isn't enough room to move T and S apart.
  14. Both points are true. For the Mac Editor we've transitioned to storing the editor's own graphics (those not already present in the game itself) as png images stored in the application bundle. The images which are in the game we just read from its files, which shouldn't be a problem for you since the Windows editor will only need to read the Windows game's files which should be easy. I'd recommend just being lazy and doing what the existing editor does: if it doesn't know where the game's files are, ask the user to locate them for it, then remember the result. I think that this is probably true; I have been working on this off and on with an eye toward making at least a command line version of Graphic Adjuster for use on Windows. The idea was to take the the Windows BMP graphics and write out the cmg file inside a tarball (to ensure proper preservation and handling of the resource fork). I already wrote the code for writing the resource map, but I haven't yet started on the PICT writing code. I'd be happy to share what I have so far or write in the future, but I guess it wouldn't be useful for direct inclusion in your editor (I've worked in C++ as I usually do). You could always just use it as a subsidiary tool, like the way that AScript just bundles a copy of alint.
  15. I would say that your option 1 is probably usually better if I understand the original purpose of this construction correctly, that is, to trigger the special more-or-less immediately, regardless of what the party does. This won't work, however, if one of the things you need it to do is to move the party to another town, as that is only allowed as a result of the party stepping into a special rectangle. For option 2, I think it may be sufficient to surround the first member of the party (although I don't remember for certain whether special rectangles are triggered if a later party member is already inside and the party leader switches places with that character, that would have to be checked). This can still be a bit tricky, though, since you would need to deal with the party placement rules, which as I recall begin by placing the last party member and then laying out the rest where there is space.
×
×
  • Create New...