Beta testers needed (no longer)!

@guy, on Jan 8 2007, 11:49 PM, said in Beta testers needed (no longer)!:

Actually, how are you locating the assets? If you're using something like 'path to me' then I think that only works on 10.3+ as well, so supporting 10.2 could be complicated and messy.

No wait, now I think about it that probably isn't true at all.

@zacha-pedro, on Jan 9 2007, 07:56 AM, said in Beta testers needed (no longer)!:

I could swear writing a FAQ about that...

This one? It's actually far simpler than you make it out to be. I'll go comment on it now...

@Zacha: Thanks for all the feedback. 🙂 For the sake of brevity (and lazyness) I won't quote you, just respond point by point.

-The only thing that may prevent One ASK to Rule them All is Intel Macs. The newest script editor saves applications as universal. Can 10.2 even run universal binaries? I thought they were limited to 10.3.9+. I suppose I could somehow obtain a PPC-only version and let the Intel Macs use Rosetta, but would it really be fair to make the larger and growing Intel user base suffer at the expense of the much smaller and shrinking 10.2 user base?

That's not to say I won't support 10.2; I just don't see how I can support both it and Intel Macs without making two versions.

-Fair enough; I disagree. 😉 I make a distinction here between user (as in, eventual consumer of a completed map) vs. developer (one who uses the kit to make a map with custom assets). Bundles are much more friendly to the user, as the entire process is encapsulated in a single physical object in their file system. Frankly, if a developer can't figure out how to modify files inside a bundle (it's just a right-click away), they certainly would be incapable of figuring out the SketchFighter editor.

-Correct. It will happily switch anything you care to give it, provided the file names and directory structures match.
-Oops. 😮
-That's a "feature" of AppleScript applets; you can turn it off via a menu item in the File menu (I intend to document this fact by release time since it's not at all intuitive).
-Good point; easy to fix.

-In its current form, the script will clean up after itself on next run even if it's not allowed to do so the first time. I intend to document that. The more I think about it, the more this seems like the simplest and best "repair" procedure, provided the user resorts to the documentation first when a problem occurs.

I may add a notice on startup that something went awry last time the script was run so the user is at least aware of it.

Re: the Hex-fu: Oh. Ok. 🙂 I have about as much interest in figuring out these files as you do in documenting them.

Re: #5: Maybe I should make it "Asset Switcher Script" instead... :unsure:

Guy said:

Actually, how are you locating the assets? If you're using something like 'path to me' then I think that only works on 10.3+ as well, so supporting 10.2 could be complicated and messy.

Guy said:

No wait, now I think about it that probably isn't true at all.

There's only one way to find out, I guess. In any case, it wouldn't be hard at all to get along without "path to me". I could just treat it the same way I treat the SF application location: by asking for it. (Since it's stored as an alias, moving and renaming aren't concerns.)

@FireFalcon: No errors? Really? Huh. Let's try something else. Download this file: debugger.zip and run it, again on a copy of your SketchFighter application. Let the game sit open for awhile, quit it, and wait for the script to close also. The script should have left a file on your desktop called "Debug Out.txt".

PM me the file. That should help me get to the bottom of this. Thanks!

About 10.2: if done correctly, Universal Binaries are backward compatible down to 10.0 :). It's possible for Universal Binaries to contains a ppc half that will only work down to 10.3.9 due to a barely related issue with the C++ library, but it does not look like to be the case here (at least as far as I could analyse, I don't have a 10.2 Mac in my hands right now).

About bundles: right, then you'd better tell in the documentation how to open bundles to begin with (and not everyone has a two-button mouse, it'll have to be ctrl-click instead), right now there is not even a hint of this (yeah, documention has not been written to begin with, I know...)

@cheleball, on Jan 9 2007, 07:36 PM, said in Beta testers needed (no longer)!:

-That's a "feature" of AppleScript applets; you can turn it off via a menu item in the File menu (I intend to document this fact by release time since it's not at all intuitive).

The point of the startup screen is to display the script's description, if there is one. Unless you're planning to write one you may as well turn it off when you save the script.

@guy, on Jan 9 2007, 05:26 PM, said in Beta testers needed (no longer)!:

The point of the startup screen is to display the script's description, if there is one. Unless you're planning to write one you may as well turn it off when you save the script.

D'oh! I didn't even notice that checkbox in the save dialog box. Thanks.

EDIT: Beta testing is now complete. Thanks everyone! I've removed all the beta downloads, and submitted version 1.0 to the add-ons repository.

Well, I've made a lot of changes, and have posted the result. I'm calling this one Release Candidate 1, because I hope it's the last beta release before 1.0.

I'm most interested to know if it works on Pi's iBook, as I'm pretty sure it's now 10.2 compatible. Please give it a try and let me know what you think!

Changelog:
Release Candidate 1 - 16 January 2006

  • Refactored into an AppleScript Studio application with a GUI

  • As a consequence of the GUI part, it became necessary to remove support for automatically restoring the SketchFighter default assets when the program was quit.

  • Made a lot of changes - a lot , too many to list - as part of the above.

  • Renamed "Custom Asset Enabler", or CAE for short

  • Now 10.2 compatible!

  • First draft of documentation included

This post has been edited by cheleball : 20 January 2007 - 12:01 AM

'Fraid not, chele. I double click it and it bounces once or twice in the dock then goes away. Sorry.

Two things I spotted within the last few seconds:

-there's still a "Coming soon..." in the "Documentation" folder.

-and maybe the three folders and the programme (nice icon, btw) could be in an extra folder, I think it'd be more concise that way after copying it to the desktop

EDIT: Beta testing is now complete. Thanks everyone! I've removed all the beta downloads, and submitted version 1.0 to the add-ons repository.

Grr. Brainfarts all over the place. I guess that's what I get for being in a hurry.

Note to self: Interface Builder has a compatibility checking feature. It seems I was using a button style that doesn't exist under 10.2. Hopefully that's all that was wrong.

@Freq: I'm in the habit of just dragging the drive icon if there's more than one thing in there. I know it defaults to making an alias (annoying and stupid; the OS9 default of copying was better), but you can hold option (or command) to make it copy.

I'll have to decide whether to put everything inside a folder or not.

Anyway, it's RC1a now.

This post has been edited by cheleball : 20 January 2007 - 12:01 AM

I'm not sure I like the lack of automatic restoration in the new version, but as it would make it slightly easier to use this for building a level with custom assets, I won't yell too loudly.

  • You still have the warning dialog from the previous version of the script- it just says to quit the game to restore the previous assets.

  • The application menu still has "NewApplication" as the name of the program in all the menu items.

  • You may wish to add a "Quit Asset Switcher" button to the dialog box, with associated "do you want to restore assets" warning dialog.

  • If there is any way you could add the name of the modification that will be installed to the main dialog box, that would be good.

  • Automating the creation of the appropriate directories in the "switchhouse" directory would be a nice touch to help people trying to distribute maps with CAE. For that matter, if you could distribute the program with a pre-made directory tree in the Assets directory, that would be great.

  • In Step 2 in the Developing and Deploying readme, the word is spelled "explanatory", not "explanetory".

  • Thanks for the mention of my AI Guide in the How to Make Custom Graphics readme. 🙂 One of these days I'll get around to writing the Complete Guide to Sprites, as well (it isn't as large as I had first thought, but there are definitely oddities with some sprites that need to be listed.

Edwards

@edwards, on Jan 16 2007, 04:40 PM, said in Beta testers needed (no longer)!:

I'm not sure I like the lack of automatic restoration in the new version, but as it would make it slightly easier to use this for building a level with custom assets, I won't yell too loudly.

The problem I face here is that AppleScript Studio is by nature single-threaded. That means that the UI will not update (and the application will not respond) until the "Play" button's clicked handler returns. If I sit around in the handler and wait for SketchFighter to quit, then the dialog would stay frozen, with the button pushed in, until it happens. There is no easy way around this as far as I can see -- if I find one it might make it into a future release.

In the meantime, the best I can do is check and restore when the CAE becomes active. If the user hasn't used other applications during their SF session, then it will happen automagically when they quit. I'll also offer a setting in the Application menu to disable it (that seems like the logical choice; I'll just put it where the "Preferences" dialog would go if I had enough settings to justify one).

@edwards, on Jan 16 2007, 04:40 PM, said in Beta testers needed (no longer)!:

  • Automating the creation of the appropriate directories in the "switchhouse" directory would be a nice touch to help people trying to distribute maps with CAE. For that matter, if you could distribute the program with a pre-made directory tree in the Assets directory, that would be great.

Is it really so hard to option-drag it over from the Assets dir? 😛 Anyway, re: pre-configuring--I'll have to see what kind of performance penalty putting unnecessary empty directories in there incurs (because Apple events are very expensive, and every subdirectory requires an additional Apple event to the Finder to get its contents).

Quote

Thanks for the mention of my AI Guide in the How to Make Custom Graphics readme.

No, thank you for writing it! I think you should submit it to the add-ons so it has a more permanent home (and gets to more SketchFighter users; I'm sure only a fraction read the forums).

This post has been edited by cheleball : 17 January 2007 - 12:44 PM

Edward's guide, as well as my tips on secret passages, are going to find a home with a map making guide which is in the works... can't tell you more than that (and I'd rather not have a bunch of little guides in the add-ons, better have a few ones with more info each).

You don't need to be multi-threaded to have Apple Script Studio react to SketchFighter quitting. As you figured it's a bad idea to steal control by staying in the handler (it's supposed to be a handler, not a place to stay and run an event loop, or thre in fact no event loop at all, blocking the whole GUI and causing the dreaded rainbow beachball of death to appear since events are not handled), but you don't need to do that; I don't know the details of the ASS environment but you can surely register timer that will regularly fire (there's probably a Cocoa class for that which does this automatically with a delegate), in which you can test whether SketchFighter has quit, and restore and quit yourself if it has, and do nothing otherwise. I don't like the idea of restoring being done automagically upon your tool being active again, such a minor thing from an UI standpoint shouldn't trigger this important action, not to mention there would be a gazillion ways to screw this up.

Lastly, if you find Apple Events to be expensive, then try to get direct access to some file manager, will be faster. 😛

EDIT: Beta testing is now complete. Thanks everyone! I've removed all the beta downloads, and submitted version 1.0 to the add-ons repository.

Whew. It's Release Candidate 2 time! I mean it this time, this is the last beta before final. I'm still interested to see if the new, compatible buttons fixed it on 10.2.

Thanks of everyone's help and feedback so far. This project is much better for it.

Now, responses:

@zacha-pedro, on Jan 17 2007, 11:35 AM, said in Beta testers needed (no longer)!:

...I don't know the details of the ASS environment but you can surely register timer that will regularly fire (there's probably a Cocoa class for that which does this automatically with a delegate), in which you can test whether SketchFighter has quit, and restore and quit yourself if it has, and do nothing otherwise.

Like I said, there's no easy way to do it. 😉 I never said it wouldn't be possible using Cocoa; it is indeed possible to call into Cocoa from within ASStudio. I just don't know Objective-C or Cocoa (actually, I've only just learned ASStudio, too. It's all 10.2's fault) and don't have time to learn them before I'd like to release this. This is open source, after all: release early and often, right?

@zacha-pedro, on Jan 17 2007, 11:35 AM, said in Beta testers needed (no longer)!:

I don't like the idea of restoring being done automagically upon your tool being active again, such a minor thing from an UI standpoint shouldn't trigger this important action, not to mention there would be a gazillion ways to screw this up.

I feel the same, but thought it could be done well. After implementing it, I decided that it just isn't the best behavior. Oh well.

This post has been edited by cheleball : 20 January 2007 - 12:02 AM

Well, I've managed to test under 10.2 and, after fixing a couple minor issues, am ready to release this beast! Hooray! Thanks to everyone for all of your help with testing and such.

I've submitted version 1.0 to the repository, and as such have removed all beta download links from this thread. 🙂

Submission approved, excellent stuff, in particular the documentation, which is not only present in the first place in this thing (and in fact present at all, its usefulness transcends the bounds of this tool), but covers a variety of subjects and is damn good (you really think of everything, I have the same tendancy, and every time I thought, while reading the document, that perhaps you should say this and that, it's exactly what's next in the docs). I can't wait for stuff taking advantage of this to show up (not limited to custom levels with custom graphics, mind you... 😉 a TC is definitely not impossible, though it requires quite a bit of technical knowledge).

Thanks. Now you know why I didn't write any at all for the early betas (Documentation, that is). 🙂

This post has been edited by cheleball : 20 January 2007 - 11:27 AM

Oh, I missed the rest of the testing. Well I'll still make a suggestion anyway - make the Tiffer script add the TIFF type code instead of an extension, then you don't need to worry about detiffing. And mention it somewhere in the documentation.

Quote

Oh, I missed the rest of the testing. Well I'll still make a suggestion anyway - make the Tiffer script add the TIFF type code instead of an extension, then you don't need to worry about detiffing. And mention it somewhere in the documentation.

Are type codes still supported by all Mac applications? My impression from reading Jon Siracusa's reviews of OS X over the years is that Apple has deprecated type and creator codes in all but name in favor of filename extensions. Sad but true; on today's Mac I can't just add a creator code and assume that all applications will recognize it.

According to JS's Tiger review, there is a replacement for the old way that's much improved included in Tiger...but like some other technologies included in Tiger (ACL's, resolution independence, Q2DE) is not quite well supported and/or disabled.

Anyway, back to the topic at hand, I believe I did mention the need to detiff in the docs, but I'm not at home so I can't check. 🙂

Well I don't have a wide variety of image editing programs to test with but I would think many programs still recognise the codes. Or like Graphic Converter who doesn't even care and will try to open anything and everything. And no, I couldn't find any mention in the docs.