Jump to content

Niemand

Moderator
  • Posts

    2,138
  • Joined

  • Last visited

Everything posted by Niemand

  1. I have just had an experience rather similar to what Alorael describes: My laptop's wireless card wasn't working, along with a couple of minor issues. It was still under the tail end of the extended warranty, but Apple replaced for free: the wireless card, optical drive, logic board, keyboard and entire case. The only things wrong with the keyboard and case were normal wear-and-tear and some small dents from me dropping it. I'm also not certain how much the logic board was actually implicated in any of the problems. They gave me well over a thousand dollars worth of parts, and for rather nebulous reasons (although the parts in question are so old as to be virtually useless in general, I suppose). As for calling Apple Support on the phone. . . I had never tried it before today, but there was a miscommunication about getting my computer back to me, which lead to me calling the local retail store to find out if they knew anything. I can't say anything meaningful about the quality of the actual service since after forty minutes on hold I had to hang up to go catch a bus. However, when I later wandered into the store (without an appointment) I left again, in under ten minutes, laptop in hand.
  2. Originally Posted By: Dantius Originally Posted By: Enraged Slith Custom items will only disappear if they use custom graphics or scripts. That's odd- I thought some of TM's items from Canopy carried over despite using custom graphics- the uber-bow that one General carries, for instance. Right, custom graphics or calling script states will cause items to be non-transferable between scenarios. Built-in graphics with adjust applied will transfer, and TM also was fond of using some of the more obscure built-in graphics (although I believe that the Adlerauge just uses a regular bow graphic). The other thing to watch out for is that there are some ranges of items that the game treats specially (potions, scrolls, ammunition, and probably a couple of others) which can be overwritten with custom items and will transfer (if they meet the criteria above) but will cause trouble when the game re-interprets them. This can lead to characters wearing crossbow bolts for hats and vegetables for pants (as I recall two known cases of such screw-ups), and should be avoided.
  3. Yeah. . . the existing Avernumscript interpreter is really bad at counting lines. There's a real error somewhere, but unfortunately you're going to have to try to find it manually*. You can do this by commenting out sections of code (or moving them temporarily to another file) to and checking to see when you do and don't get the error. Once you've narrowed it down to one or a few lines you can look at them more closely to try to actually solve the problem. You may be able to make educated guesses about which code is guilty if you remember which parts you've added or changed since the last time everything was working. * Something which will help a great deal in many cases and in this one in particular is the Alint tool, which is hosted by Kelandon. Alint can check Avernumscript for syntax errors and is a good deal more helpful than the game's/editor's built-in interpreter. If you're on Windows it may be more of a pain since there's only a command line version, but it is still likely to be worthwhile. If you use Alint it will almost certainly report the error on the correct line or one very close to it.
  4. The error message means that the script interpreter was reading your script and got to a point where it expected something which it refers to as an 'identifier' and it found the string "Master". Usually in programming jargon an identifier is the name of a logical entity in the program, like a variable or a function. Since you were writing a BoA data script, which has neither variables nor functions, I honestly don't know what exactly Jeff meant with this terminology. To really debug this, we would need to see the section of code that causes the error (hopefully the error message also came with a line number). Just as a stab in the dark, did you write something like: Code: it_name = Master Sword; (A quick google search indicates that this is probably the name of an item from Zelda ) If this is the case, you need to write: Code: it_name = "Master Sword"; So that the script interpreter will recognize "Master Sword" as a single unit, which is a string.
  5. Quote: Can you be more specific? Background aside, what makes it busy? I also had this impression (of busyness) at first glance. I think it has to do with the fact that, while there is a cohesive color scheme, there are a lot of different textures which catch the eye. There's the plain purple background, the blurry cloudy background, the knot-like edge patterns, the gradients behind the boxes on the right and in the middle, and the different gradient behind the various items at the top. I think that a solid color (though it need not be identical to the solid color to the sides) might work better for the background. The blurriness of the current one seems distracting to me, when I try to focus on it showing between the foreground items, but can't. A minor nitpick: For some reason the page ends up with a horizontal scrollbar for me (using Safari on Mac OS, with a screen set to 1440 pixels wide and the window using that full width), even though all of the actual page content is in the narrow central column, and there are only a few pixels of space off the right side.
  6. No, it's a cross-platform C++ GUI library.
  7. Quote: I guess to me it seems like better practice to separate all your functions into files containing similar functions and constants and such. Have one source file for your sounds, one for handling the party data, and so on. This is basically what is already done, it's just that how one defines the categories is often subjective, and there may just be a lot of code for a given subunit of the program. Quote: Is there a practical consideration? Does the compiler get bogged down with too many files? Will the resulting executable be giganticker than need be? Am I just completely missing something here? It depends on details. Assuming that we're talking about a C or C++ compiler here (since that's what's relevant to the codebase in question) having many, many little header files will slow it down, although only a little bit, since the way the preprocessor handles #include is basically to go find the indicated file and paste it in. Once this is finished happening, though, the resulting file will be almost the same regardless of how you had it divided up originally. (The only difference I can think of would be in the little indicators that the compiler leaves for itself to say which bits originally came from which file.) In general, having many small implementation files is considered good, since each implementation file is sort of the nucleus of a 'translation unit', the actual unit of stuff which gets compiled. (One translation unit = one implementation file + all the header files it includes.) Since each translation unit is compiled alone (and the results of all of these separate compilations are then linked), a smart build system looks at which files were changed and recompiles only the affected translation units. This means that if you change something in one implementation file, the compiler only needs to be run over that file, plus the included header files. There are limits to how much splitting up implementation files helps, however. One thing to consider is that if you change a header which is used in multiple translation units, you end up having to recompile all of those translation units. Another point is that the code in a give implementation file is usually dwarfed by the amount of code in the headers it includes; it's easy to write a few line C++ program which turns into over a hundred thousand lines when run through the preprocessor. This is one of the main reasons that C++ programs are known for being slow to compile.
  8. Quote: Okay, but would it be possible to have it be able to decode mp3's or ogg's or something for longer sounds (like background music)? It's easy to handle a good variety of sounds by just hooking into the media library provided with the OS, assuming one is on Mac OS or Windows. Quote: Yeah...I think it's just my relative inexperience with C++, as well as the fact that it's quite poorly commented and uses pointers and [censored]. Like, what is the freaking point of a pointer. You know, the vast majority of the BoE code (pretty much anything not written by Celtic Minstrel) is very plain vanilla (procedural) C. Pointers are an oddly tricky concept to grasp when one is first starting with them (I know I had trouble) but they're really pretty basic. You want crazy stuff? You should see what people can do with evil, complicated preprocessor macros or with template meta-programming.
  9. @SoT: Are you sure you didn't drop a factor of ten? I'm getting ~3e7 J to blast a one pound object to infinite distance starting from ~sea level. (That is, assuming that you magically apply your energy to instantly put the object at escape velocity, rather than accelerating over time with a rocket, which necessitates accelerating some of the fuel as well.) The binding energy for an object at the Earth's surface should be E_b = -g * R * m, where R is the Earth's radius and m is the object's mass. The energy to free the object is just -E_b, and with g=9.81 m/s^2, R=6.36e6 m, and m=.45 kg, E_b=-2.83e7 J.
  10. What you describe (with the possible exception of the floating palettes) is exactly what I too had envisioned for the rewrite-to-solve-all-problems. What was being discussed above is not, I think quite like your first point (floating palettes): The idea, as shown in Ishad Nha's screenshots is just to make the single editor window bigger and allocate more space to the palette area inside it. This grew into a wider discussion of making the editor's single window bigger or resizable. --------------------------- Separate discussion of why I hate floating palettes: As the section title says I very much dislike this technique in UI design. Basically it strikes me as a lazy way out for the designer, who doesn't have to bother figuring out how to fit both the data/document and the tools/options on the screen at the same time, and instead pushes the problem off onto me, the user. I usually find that in programs which insist on working this way (Grapher.app, iWork applications, Interface Builder) I have to spend what seems like an inordinate amount of time messing around with trying to figure out where to put the palettes so that they aren't in my way, and then having to mess with the palettes because the commands or options I need are buried somewhere inside them. It's quite possible that this can be done well, Appleworks pulled it off quite nicely. I think that it was able to do so in part because the palette's default sizes and locations were carefully chosen and because the palettes were able to be quite compact (I count 34 items, of which most have a 28 by 28 pixel icon). The situation for the BoA editor isn't quite as nice because we have a lot of stuff that needs to live in our palettes; up to 500 items. Still, it doesn't seem like continuing to try to jam everything into a single editing window makes much sense, particularly if we want to be able to have multiple such windows around. --------------------------- Separate discussion of the steps I envision toward the fantastic rewrite-to-solve-all-problems: The first step is a new codebase for storing, reading, and writing scenario data. (The model) The current editor is hard coded to only be able to hold one town and one (plus neighboring) outdoor sections in memory at a time. To facilitate letting the user editing multiple zones in different windows (a sort of pseudo-document based approach) we would want to be able to hold an entire scenario in memory at once. This isn't a very tall order, since even large scenarios are only of order a few megabytes of data (Exodus is 2.1 MB). This would mean that while we were at it we cold make the editor truly document based, much like IDEs such as Xcode, which can have open multiple projects at the same time and also multiple documents belonging to each project. The BoAEdRemake people (Kernelknowledge primarily, I believe) wrote a library for this called libRemembrance. I looked through it, and it scared the heck out of me with its fancy design. It's put together like a boost library (for those who know what that's like), with directories and subdirectories like algorithm, class, detail, and impl, and it depends heavily on fancy boost stuff (serialization, MPL, phoenix). While I'm a lot more comfortable with fancy C++ code than I used to be, this thing is seriously complicated (I still can't quite tell what the cementer class does) and I'm not sure how easy it will be to work with it and extend it (particularly if we want to be able to do super awesome things in an even more remote future, when we have the actual game source code, like change the scenario format, make town sizes more flexible, and so on). I've also been working, very slowly, on writing an equivalent library myself, but I haven't gotten all that far mainly because it isn't very fun to work on and there wasn't really any immediate need. I still don't have enough done on it for it to be worth showing to anyone. So, where we stand on this point is that libRemembrance exists, and is available under the GPL for us to use. (As an aside, I'm personally not fond of the GPL and general prefer free licenses which entail actual freedom, but since any code Jeff gives to us will be GPL'd we probably aren't ever going to get away from it.) I can keep working on my version, which will likely never be as fancy as Kernelknowledge's approach and which isn't close to ready yet, thus entailing more delay. It might, however, be better suited to future use, although at this time I'm not sure I can really say much for certain about the assumptions written into libRemembrance and how easy they would be to loosen. The second step is to write new drawing code for displaying BoA zones. (The view) The existing Quickdraw code (on Mac OS) is an evolutionary dead end, and the Windows code doesn't seem very different (aside from the library it uses not being deprecated, I think). Ideally this code should be written in a cross-platform manner using something like OpenGL so that it will both have a long useful life and be usable for both Windows and Mac OS programs. (I didn't mention above, but the model component should be cross-platform as well, though this isn't very hard to do since it mostly doesn't need anything external to itself.) The fundamental task of drawing the graphics tiles for the isometric and above views shouldn't be too difficult, but some care would need to go into properly handling all of the picky details like line of sight, wall corners, lighting, and graphical adjusts. The third and largest step would be to write the logic to assemble the preceding components together to form an editor. (The controller, plus a bit more of the view component) This could be done, as the BoAEdRemake group planned, in a cross-platform way, using a library such as WxWidgets or Qt. This method seems attractive, and is what I would have advocated originally as well, but my view has changed somewhat, and I would now be more in favor of doing this separately for each platform. It would mean more programming, in terms of total amount of code written, but gives the flexibility to let the user facing part of the program take full advantage of its environment and 'fit in' properly on the OS on which it runs. For the IDE idea both Kelandon and I have put forward building in a good script editor and integrating Alint would also be done during this phase. I think I've written about this topic before, but there's an idea of what would have to happen, as I see it, to build a really great, really modern editor.
  11. Niemand

    Alan Turing

    It's really simple: The BoA Avernumscript interpreter has a stream of tokens (which basically are just the tokenized script). It runs an interpreter loop which picks up the next token and decides what to do with it. The interpreter just keeps count of how many tokens it has picked up, and if that count reaches 30000, it stops and yells at you. This is exactly the same thing that you can do with Turing machines, have one Turing machine which reads another machine as its input and simulates it, keeping count of the number of moves executed and can be designed to stop when a chosen limit is reached. You haven't solved the halting problem because you don't know ahead of time whether the machine being simulated is going to actually finish or whether you'll cut it off, so you don't know whether it will actually accomplish anything in particular, but you do know that the computation will stop. I'm still trying to figure out how I want to implement this in my own Avernumscript implmentation, since I wrote it in a way that doesn't have a centralized interpreter loop (it's an AST walker) and I also introduced the possiblility of recursion, which introduces both a new way to fail to terminate, and a way to crash.
  12. My gut feeling it that it would be only slightly easier than making it freely resizable, and if one is going to go to the effort, one might as well do it right. I'll look at the code and think about this a bit more, but unless it turns out to be really easy to do, I'm not going to have time to do it until May or so.
  13. Niemand

    6

    Yeah, I got frustrated with UBB ruining my Unicode and told it to use HTML formatting, which I think only mods can do. The particularly dumb part being that I didn't actually use any HTML, I just needed UBB to using the HTML character entity for the ampersand to escape the ampersands that are actually the first characters of other HTML character entities. When I do need to typeset small snippets into images I use LaTeXiT,but for non-Mac OS systems one would have to find something else.
  14. Quote: In which case we might want different versions of the Editor for different size screens. This would be horrible for users and developers. Quote: Give the thing a maximize button and let folks drag to resize. This will be horrible to code, at least in the present Mac codebase. It may be possible, but it will be a rather large undertaking due to the host of hard-coded rectangles, offsets, and sizes scattered through the code. I have (and I think every every other person who has worked on the code has) wanted to fix this, but it's a big enough job that it always gets put off into that mythical future where the editor is rewritten from the ground up.
  15. Niemand

    6

    Originally Posted By: Dantius So the lim t-->oo[Harm(Spam)]=0, then? No, Harm=Harm(Spam,Δt) which can also be written Harm(ρ^α) for some α>0 where ρ=Spam/Δt and it is the case that lim ρ→0[Harm(ρ)]=0 and this limit can be approached either by taking Spam→0 or Δt→∞. Originally Posted By: Nikki There is a greasemonkey script (for Firefox), which allows users to see the joining date of memmbers here, rather than their member number. I think Niemand wrote it too, actually. The script in question actually does the reverse (replaces the joined date information with member number). The two are related by a monotonic function, though. Originally Posted By: Dikiyoba You mean it's not the answer sheet for the next Quiz of Knowledge? Great. Now Dikiyoba actually has to study. Actually, part of the reason I created this thread is that it is the key for the next quiz. Of course, it's encoded, so it isn't much use without the mapping function: Code: [answer key text] => [current contents of this thread][anything else] => wombat Now all you have to do is invert it (taking into account that the mapping is necessarily time dependent).
  16. Niemand

    6

    Over such a time scale a single item of spam should do little harm.
  17. Niemand

    Custom Titles

    UBB claims that there are only 31 custom titles extant (excluding 'BANNED'), of which only 'Chicken God' appears to be shared by multiple accounts. This post was, in fact, mostly an excuse to use the word 'extant'. I love that word.
  18. It looks like in usual spiderweb style they aren't really correctly named (one would expect com.SpiderwebSoftware.Avadon.plist), but I do see a file named 'Avadon Settings'.
  19. Quote: Where did you find information about how repressive the Iranian government is? The BBC
  20. Quote: why are the other function keys still not free? I have some but not all of the printed features on the keys disabled, using FunctionFlip. This way, I can use F1 and F2 to adjust screen brightness, but assign my own functions to the other keys using Quicksilver. Click to reveal.. On the off chance that anyone cares, the uses to which I've put my keys are: F4: Show Desktop (actually a function of Exposé, instead of show Dashboard) F7: Mute (instead of previous iTunes track) F8: Decrease Volume (instead of pause or un-pause iTunes) F9: Increase Volume (instead of next iTunes track) F10: Pause or un-pause Quicktime Player (instead of mute) F11: Pause or un-pause iTunes (instead of decrease volume) F12: Hide all applications except the Finder (instead of increase volume) My point was that, while I use the function keys in fairly unusual ways, it seems likely that there are also a lot of users who use them for their printed-on functions, and don't necessarily want to disable this or switch to having to press an extra key.
  21. Niemand

    i don't like it

    Quote: Now for the mag field, the sun emits large amounts of light (a.k.a radiation) which is, in effect, a response to a sharp change in the electromagnetic field of its source, so ipso facto it has to have a mag field even if a minuscule one (which it probably isn't). More to the point, the gas is hot, and in fact hot enough to be ionized (so it is a plasma). This means that there are electric charges running around loose, and moving charge necessarily creates a magnetic field. Since charge is also deflected by magnetic fields, you get very complex motion where energy is shared between the moving particles and the magnetic fields (the study of this is magnetohydrodynamics).
  22. That's a different option than the one to which I was referring. It, or something equivalent would help, though. EDIT: It works! I'm free of the horrible Exposé key. This does essentially nothing to address my original complaint about Jeff's key assignments, though, since this still only means that F3, F5, and F6 are free on my system.
  23. It isn't entirely clear what you're asking, and it doesn't appear to be relevant to this thread. To answer what I think you're asking, namely, do you need the full version of BoA to modify scenarios: Not technically, but yes practically. You can download and use the editor to make or edit scenarios (and you can edit scripts with any text editor) without owning the game, but if you do not own the game the only scenario you can play is Valley of the Dying Things. If you have more to ask about this or I misunderstood your question (but it still doesn't relate to the original topic of this thread) please make a new thread to discuss this.
  24. Quote: but i has no money. Then, unfortunately, you cannot play the rest of the game. Sorry, but that's just how it goes.
  25. Originally Posted By: Celtic Minstrel Originally Posted By: Niemand (the default quicksave shortcut literally doesn't work on my keyboard due to trying to use the key zealously claimed by Exposé). You know that can be changed in System Preferences, right? Or just press the fn key along with F3. Nope, there is a bug, at least up through OS 10.6.5, and removing that key binding in System Preferences has no impact. (Your suggestion with the Fn key would probably work, though.) However, part of my point was that the function keys in general are not things that individual applications should assume that they can use on Mac OS. At least Jeff has made it possible you change the mappings, though, so that the poor default choices can be replaced. Additional nitpick: Avadon ignores Command-H.
×
×
  • Create New...