Re: best laptop for MetaCard

2002-09-25 Thread Dominique

 My iBook runs MetaCard wonderfully.

 Is it the 12screen or the 14 one?
As I am a short-sughted person, 1280 px on a 12 screen is a daunting
perspective for me ;-)
I know though that MC is using Helvetica 14 as a default font -- better
than the Geneva 9 with Rev!!!

-- 
Regards,
(-8 Dominique
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Update Mac menubar fails in standalone

2002-09-25 Thread Shari

I agree that the documentation is minimal and could use some 
improvement but  a worse case scenario thinker must have 
anticipated for sure that jumping to production without a proper 
understanding of the possibilities and limitations of the tool comes 
with some risks ;-).

Regards, Andu Novac

Good one :-)

The possibilities are greater than I imagined.  Metacard has more 
features than I anticipated, as a transplantee from Hypercard.

I knew Hypercard intimately.  And did not anticipate such a learning 
curve.  I figured it would have more of everything, and better of 
everything, but did not expect things to work differently.

Actually I like many of the differences.  Especially the ones that 
allow for cross platform programs :-)

When I started with Hypercard, one of the first things I did was 
invest in two big fat books to learn the ins and outs that were 
missing in the documentation.  Unfortunately, we don't have this with 
Metacard, so we just fumble around with what we don't know till we 
figure it out.

We ask you guys, but I've had many questions go unanswered even here, 
so fumbling is the only way sometimes.

Fumbling takes a lot more time than opening a book and having the 
answer magically be there.  I miss having a resource of the caliber 
of the Hypertalk 2.2 book.  That book covered *almost* everything :-)

Shari C

-- 
--Shareware Games for the Mac--
http://www.gypsyware.com
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Update Mac menubar fails in standalone

2002-09-25 Thread Shari

Ambrosia's approach is to have the software phone home to perform validation
of the reg code.

I've heard this approach discussed.  Many believe it's a serious 
privacy intrusion, unless you're upfront in letting people know the 
software does this.  I like any idea that helps reduce piracy. 
People just don't realize they're messing with someone's bread and 
butter.

Even people who sneak out of a restaurant or nightclub not paying, 
assume that some big company will absorb the cost.  But the truth is, 
the waiter or bartender will pay out of pocket.  If they don't, they 
risk losing their job.

In my experience the majority of theft is done by means outside of your
control, with the thief making a legitmate purchase with stolen credit card
info.

There are ways to prevent this.  I highly recommend that all 
shareware authors read the shareware author newsgroups, and devour 
all info they can from newsgroups, articles by other authors, etc. 
There are even articles on crack sites, that will help you PREVENT 
cracks.

I've seen no evidence thus far that anyone has found it worth their while to
truly crack my reg scheme, and as long as credit card info remains easy for
criminals to purchase there is little reason for them to go to that much
trouble for smaller apps (major game releases are another story).

I'm tightening mine now, as after the current project, I will update 
some software, and the next big project is an RPG.  Very high profile.

Happily I can do things with Metacard that will allow for a first class RPG :-)

But tightening the registration system is a key factor to success. 
I've dissected and resected the code about three times in Metacard 
now.

Today, I think I will have it done :-)

Shari C

-- 
--Shareware Games for the Mac--
http://www.gypsyware.com
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Import question from a new user

2002-09-25 Thread Kristen . Billings

I am very new to Metacard and have a (hopefully) simple but frustrating
problem. I have been importing images into my programs with no problems on
both Mac and PC using the import paint from file command in the message
box, and they appear with no problems on my page. However, when I try to
import quicktime videos using the import videoClip from file command on
the PC the program acts like it is importing the clip but the clip doesn't
show up on my page or anywhere, and on the Mac when I do
file-import-videoclip it says it can't open file, mask, or display and when
I use the message box command it gives me an error message. Help!
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Import question from a new user

2002-09-25 Thread Klaus Major

Hi Kristen,

correction to my last mail.

There is no entry about player in the index.

Instead look for QuickTime, playing :-)


Best

Klaus Major
[EMAIL PROTECTED]

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Import question from a new user

2002-09-25 Thread Klaus Major

Hi Kristen,

 I am very new to Metacard and have a (hopefully) simple but frustrating
 problem. I have been importing images into my programs with no 
 problems on
 both Mac and PC using the import paint from file command in the 
 message
 box, and they appear with no problems on my page. However, when I try 
 to
 import quicktime videos using the import videoClip from file command 
 on
 the PC the program acts like it is importing the clip but the clip 
 doesn't
 show up on my page or anywhere,

this i a bit unususal ;-)

After importing a video-clip, only a copy of that clip is
saved inside your stack WITH NO VISUAL REPRESENTATION !

You can assure yourself by checking stack props - Components - 
Videoclips

To display the clip you have to do it with a script like:

on mouseup
   play vc yourclip.mov
end mouseup

This will play the clip at the center of the current card.
You can specify a location for the display by adding ... at x,y
to that script like:

on mouseup
   play vc yourclip.mov at 100,500
   ### or ... at the loc of img videodisplayarea etc...
end mouseup

However it is highly recommende to use players and set
their filenames to the path to that videoclip.

Search the index for:
player, play and Videoclips.

 and on the Mac when I do
 file-import-videoclip it says it can't open file, mask, or display and 
 when
 I use the message box command it gives me an error message. Help!

Works for me here.

Try quitting and restarting MC.
At least that helped me when i had the same troubles when
importing images...

Drop a line if you have further problems or questions.

Regards

Klaus Major
[EMAIL PROTECTED]

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Passkeys and registrations

2002-09-25 Thread Shari

One thing that Metacard could do that would be so helpful, is to be 
able to set a password for a mainstack, without also encrypting all 
of the embedded stacks.

That would allow us to put primary code where it belonged, encrypt 
it, without also encrypting stacks that would break if encrypted.

I ran the standalone thru a simple hack test.  And it passed with 
flying colors :-)  Something in Scott's primary Metacard code, 
probably one of his self-protections, also protects us.  Am very 
pleased with this discovery.

Shari C
-- 
--Shareware Games for the Mac--
http://www.gypsyware.com
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Editing scripts in a standalone

2002-09-25 Thread Shari

I just realized that the inability to edit scripts in a standalone 
blows the entire marketing strategy of the project I'm working on.

This program is going to have several plug ins, or additions to it, 
over a long period of time.  Additions that will be sold separately 
from the program.

Rather than make someone download a brand new program every time he 
wants to add a module, I had planned to set these additions up as 
updates, that would patch into the program and make whatever changes 
were needed, add images, sounds, and change the scripts etc.

If anyone has ever played Realmz, you download the engine, and the 
modules run off the same engine.  This would be similar, except the 
modules would actually update the engine.

That way, if 5 modules use Image AAA, and it's not in the main engine 
as it wasn't conceived of until that particular module was created, 
the module embeds Image AAA into the engine, and all modules 
thereafter can use that image easily.  (No I will NOT put images and 
sounds into a separate folder for the world to steal.  They will be 
embedded.)

As the MAIN CODE of the engine will be affected by each module, the 
intention was to update it to include the modules as they came into 
being.  And the modules themselves would do the updating.  Each 
script would be versioned.  And the latest script would overwrite the 
older script.

To expect someone to download the entire program every time you 
release a module they want, is bad programming.  That's not how it's 
done.

Any decent program has the ability to be patched.  Especially for bug 
fixes and so forth.  To avoid making your users download the entire 
thing.

Apparently patching is not an option, unless as Scott mentioned you 
are making such an amount of money that you can buy some second, 
special license in addition to the first license.

Does anyone have any specific ideas on how to deal with this?  It's a 
MAJOR issue for this project.  I was relying on the ability to update 
the program using the modules.  This was a long term marketing 
strategy.

Note that the modules will be using the same code as the engine, but 
that the engine code will need to accomodate the modules.  There's no 
way to program this in advance, without the modules all being created 
before the engine is ever released.

Updating would actually have added a series of if-thens to the main 
code.  Where a piece of code might now have 3 if-thens, each module 
may, or may not, add an if to that piece of code.

The modules affect the menubar as well.  As there is a menu to turn 
the modules on/off, or load them, as the case may be.

As each module will affect a different piece of code, there's no way 
of knowing in advance what code will be affected, until the module is 
created.

This is a major setback.  I am not a happy camper!

:-(
-- 
--Shareware Games for the Mac--
http://www.gypsyware.com
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Editing scripts in a standalone

2002-09-25 Thread Scott Rossi

Recently, Shari  wrote:

 I just realized that the inability to edit scripts in a standalone
 blows the entire marketing strategy of the project I'm working on.
 
 This program is going to have several plug ins, or additions to it,
 over a long period of time.  Additions that will be sold separately
 from the program.
 
 Rather than make someone download a brand new program every time he
 wants to add a module, I had planned to set these additions up as
 updates, that would patch into the program and make whatever changes
 were needed, add images, sounds, and change the scripts etc.
 ...

 To expect someone to download the entire program every time you
 release a module they want, is bad programming.  That's not how it's
 done.

 ...

 Does anyone have any specific ideas on how to deal with this?  It's a
 MAJOR issue for this project.  I was relying on the ability to update
 the program using the modules.  This was a long term marketing
 strategy.

Yes - you separate your stacks from the standalone.  The standalone
essentially becomes the engine that drives the stacks, which become data
files.  Then you can update/add stacks as needed without forcing the user to
download the engine for each update.

We developed a marketing/promotional app that works this way.  The package
consists of content files (text files and images), the app's UI/scripts (an
MC stack) and an engine (MC standalone) that runs it all.  To update the
package, we create a new UI stack if necessary which is only 200K and add
new content files (a few K here and there); the engine doesn't need to be
updated until MC Corp comes out with major feature updates.

Regards,

Scott Rossi
Creative Director
Tactile Media, Multimedia  Design
-
E: [EMAIL PROTECTED]
W: http://www.tactilemedia.com

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Editing scripts in a standalone

2002-09-25 Thread Richard Gaskin

Shari wrote:

 This program is going to have several plug ins, or additions to it,
 over a long period of time.  Additions that will be sold separately
 from the program.
 
 Rather than make someone download a brand new program every time he
 wants to add a module, I had planned to set these additions up as
 updates, that would patch into the program and make whatever changes
 were needed, add images, sounds, and change the scripts etc.
... 
 That way, if 5 modules use Image AAA, and it's not in the main engine
 as it wasn't conceived of until that particular module was created,
 the module embeds Image AAA into the engine, and all modules
 thereafter can use that image easily.  (No I will NOT put images and
 sounds into a separate folder for the world to steal.  They will be
 embedded.)
 
 As the MAIN CODE of the engine will be affected by each module, the
 intention was to update it to include the modules as they came into
 being.  And the modules themselves would do the updating.  Each
 script would be versioned.  And the latest script would overwrite the
 older script.
 
 To expect someone to download the entire program every time you
 release a module they want, is bad programming.  That's not how it's
 done.
 
 Any decent program has the ability to be patched.  Especially for bug
 fixes and so forth.  To avoid making your users download the entire
 thing.
 
 Apparently patching is not an option, unless as Scott mentioned you
 are making such an amount of money that you can buy some second,
 special license in addition to the first license.
 
 Does anyone have any specific ideas on how to deal with this?

Just move the code that needs to be patched into a separate stack file in
your plugins folder.

If you suspect you may want to change UI code as well, architect with that
approach in mind:  have your controls call routines in centralized libraries
used as backscripts and/or start using stacks, and store those in your
plugins folder as well.

Most of the major software publishers use patchers that store binary dif
info; they almost never patch individual lines of compiled code.  And of
course EXEs on Win and UNIX can't modify themselves at runtime.  If you need
to patch your EXE, using an installer like Wise Install (Win) or
InstallerVise (Mac) will let you make such patchers.

But I've gone that route in the past and it can get confusing for end users
to keep track of which patch applies to which EXE.

These days I tend to put relatively little code in my standalones, and break
out as much as possible into centralized libraries.  This can also simplify
the day-to-day management of a large code base:  I have one backscript for
menu routines, one for file I/O, one for printing, etc.  These are stored as
buttons in a group in a stack file, with a startup handler that steps
through the group and inserts each script into the backscripts.

A similar approach could be done with start using libraries, with the
additional benefit that such libraries get a message when they are brought
into use and another when they are retired, allowing you conveniently
encapsulate initialization and cleanup right into the library itself.

The MC IDE does not provide access to libraries or backscripts directly
other than in the Message Box (ugh).  So I wrote a lil' utility that
provides a popup list or current frontscripts, backscripts, and libs from a
palette (with a few other conveniences as well):

ftp://ftp.fourthworld.com/MetaCard/mcAuthor2.4.mc.sit

It's very much an internal tool and accordingly lacks the polish I would
prefer to put into anything designed for public consumption.  Just the same,
it can be such a time-saver that I make it available anyway, and update it
periodically.

-- 
 Richard Gaskin 
 Fourth World Media Corporation
 Custom Software and Web Development for All Major Platforms
 Developer of WebMerge 2.0: Publish any database on any site
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
 Tel: 323-225-3717   AIM: FourthWorldInc

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Passkeys and registrations

2002-09-25 Thread Ken Ray

Hey, Shari... if it's not too proprietary, could you tell us what you ended
up doing? Some of us might be interested in protecting our stacks in the
same way...

Thanks,


- Original Message -
From: Shari [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, September 25, 2002 2:39 PM
Subject: Passkeys and registrations


 One thing that Metacard could do that would be so helpful, is to be
 able to set a password for a mainstack, without also encrypting all
 of the embedded stacks.

 That would allow us to put primary code where it belonged, encrypt
 it, without also encrypting stacks that would break if encrypted.

 I ran the standalone thru a simple hack test.  And it passed with
 flying colors :-)  Something in Scott's primary Metacard code,
 probably one of his self-protections, also protects us.  Am very
 pleased with this discovery.

 Shari C
 --
 --Shareware Games for the Mac--
 http://www.gypsyware.com
 ___
 metacard mailing list
 [EMAIL PROTECTED]
 http://lists.runrev.com/mailman/listinfo/metacard


___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Editing scripts in a standalone

2002-09-25 Thread Ken Ray

 Does anyone have any specific ideas on how to deal with this?  It's a
 MAJOR issue for this project.  I was relying on the ability to update
 the program using the modules.  This was a long term marketing
 strategy.

 Note that the modules will be using the same code as the engine, but
 that the engine code will need to accomodate the modules.  There's no
 way to program this in advance, without the modules all being created
 before the engine is ever released.

Not exactly, Shari. You can make sure that external plug ins have the same
*kind* of things they add to the overall program... for example, in a simple
model, suppose each plug in supplies two graphics (A and B), and some
chunk of descriptive text (C). Then, the engine could be built to scan the
plugins folder, and if it finds any, it requests grpahics A and B and
text C from each one, building an internal list of available graphics and
text that will be used later in the program.

Now if it is just replacing assets in the main program, this is simple. If
you are talking about plug-ins that change what the program DOES during
execution, the way you can do it is to create registerable plugins, and
define certain places in the code where there are events that take place
that might be overridden by an external. For example, when I wrote the
HyperCard converter for SuperCard, the converter had a series of
custom-defined events that occurred during the conversion process
(BeforeConversion, BeforeLoadingResources, AfterLoadingResources,
AfterConversion, etc.). The main program would load each plugin and would
send it an InitSelf message. Each plugin would then use this message to
initialize itself and to register for specific events that it cared about;
the main program would keep track of what plugin registered for what event.
Then, when the event was about to happen, the main program would tell the
plugin(s) that registered for that event that is was their turn to do what
they wanted to do, and program execution in the main program would pause
until all the plugins that wanted to handle the event had completed, and
then it continued on.

So in the HyperCard Converter example, I had a PLTE Converter plugin whose
responsibility was to convert HC external palettes (PLTE resources) to
SuperCard palette windows. It registered for the BeforeCleanup event (i.e.
the last event before the converter finished). When it came around, the PLTE
Converter converted the PLTE resource, and handed control back to the main
program, which then completed and notified the user.

Doing something like this makes it REALLY flexible, and at the same time the
main program doesn't need to modify itself.

Hope that was clear... if you need additional info, let me know.

Ken Ray
Sons of Thunder Software
Email: [EMAIL PROTECTED]
Web Site: http://www.sonsothunder.com/

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Passkeys and registrations

2002-09-25 Thread Richard Gaskin

Shari wrote:

 One thing that Metacard could do that would be so helpful, is to be
 able to set a password for a mainstack, without also encrypting all
 of the embedded stacks.
 
 That would allow us to put primary code where it belonged, encrypt
 it, without also encrypting stacks that would break if encrypted.

You could break this into separate stack files, but if you have an
architecture dependent on direct script access there's probably a less
volatile solution.

In our WebMerge product, for example, I need a list of handlers in one of my
libraries.  Instead of relying on direct script access I added a function to
my stripNship handler (a master reset called just before I build a
standalone) which reads the scripts, extracts the handler names, stores
those in a custom property, and saves the stack file.

-- 
 Richard Gaskin 
 Fourth World Media Corporation
 Custom Software and Web Development for All Major Platforms
 Developer of WebMerge 2.0: Publish any database on any site
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
 Tel: 323-225-3717   AIM: FourthWorldInc

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Passkeys and registrations

2002-09-25 Thread Shari

Hey, Shari... if it's not too proprietary, could you tell us what you ended
up doing? Some of us might be interested in protecting our stacks in the
same way...

Thanks,

The registration code is stored in a embedded stack, which is 
password encrypted.  This prevents people from reading the code with 
a text editor.

The hack test was a very simple one.  I opened the standalone with a 
text editor and attempted to change the code.  By either adding an 
answer handler, or changing an answer handler to say something 
else.  I even tried changing only one word, to a word of the same 
length, in case it was looking for a length match.

When I tried to launch the program, it would not launch.  This is 
something within Metacard's code, not mine, that performs the 
checksum that fails when you try to change the code.  This was good 
news, as I'd heard you could hack a program this way, but had never 
tried it.  Opening a standard program presumably written in C, no 
code was visible at all.

It is quite unnerving to see your program's code all laid out nice 
and pretty in a text editor, for anyone to read.

Any piece of code that relates to registration, or checking 
registration, is stored in a password encrypted stack.  This hides 
the code from text editors.  Actually it encrypts the code, turns it 
into gibberish.

Password protection is easy.

In the stack's object window, there is a PASSWORD button.  You then 
set the password.  Whenever you open that stack, you must click the 
PASSKEY button (the Password button becomes a Passkey button) and 
enter the password.  This temporarily allows you to edit the stack. 
Once you save and close the stack, the password automatically goes 
back into effect.  And the stack cannot be edited, nor the scripts 
read, until the password is supplied.

Note that if the stack needs to store data, you will have to store 
the data somewhere outside the stack.  I was not able to enter data 
into a field, or make any modification to, a password protected 
stack, without first supplying the password, which I assume can't be 
done from within a script.  My attempts to store data in the stack 
failed.

Obviously you can store big chunks of your code this way, as long as 
the stacks that contain the code don't need data changed or stored in 
them.

Password protecting the main stack, encrypts all of the stacks 
within.  Which broke my program.  So I moved any critical code from 
the main stack, to an embedded stack, and encrypted it.

As for my actual registration system, that part is proprietary :-) 
I've read many shareware authors newsgroups, articles on protection, 
articles by well known shareware authors, and whatever else I could 
get my hands on, and created a very detailed registration system made 
up of bits and pieces of all I read.

Nothing is hack proof.  Just as no house is burglar proof.  But you 
can make it a lot harder, so that only a very anal hacker with a lot 
of time can break in.

One thing many authors do, which is a very big no-no... is to create 
a code based on the user's name.

John Doe = registration code 12345

Anybody can post that info on the net, download your program, type in 
John Doe for the name and code 12345, and instant registration.

Find another way!  Find a way to prevent people from giving out their 
user name and password.

Recommended newsgroups:

alt.comp.shareware.authors
alt.comp.shareware.programmer
comp.software.shareware.authors

You will wade through a lot of philosophy and a few wars, but many 
jewels make their way into the posts, and often links to articles and 
detailed info will be posted as well.

Read everything you can, and ask yourself if the advice makes sense. 
Try to think of ways someone could workaround your system, and do 
whatever you can to prevent that.

I also read the Kagi mailing list, as I'm a Kagi author.  (Kagi is my 
payment processor.)

Shari C
-- 
--Shareware Games for the Mac--
http://www.gypsyware.com
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Passkeys and registrations

2002-09-25 Thread Scott Rossi

Recently, Shari  wrote:

 Note that if the stack needs to store data, you will have to store
 the data somewhere outside the stack.  I was not able to enter data
 into a field, or make any modification to, a password protected
 stack, without first supplying the password, which I assume can't be
 done from within a script.  My attempts to store data in the stack
 failed.

Sure this can be done.  You need to set the passKey of the stack (to your
password) before you make any modifications to it.

  set passKey of stack myProtectedStack to blablabla

Regards,

Scott Rossi
Creative Director
Tactile Media, Multimedia  Design
-
E: [EMAIL PROTECTED]
W: http://www.tactilemedia.com

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: best laptop for MetaCard

2002-09-25 Thread Karl Becker

On Wednesday, September 25, 2002, at 04:25  AM, Dominique wrote:

 My iBook runs MetaCard wonderfully.

  Is it the 12screen or the 14 one?
 As I am a short-sughted person, 1280 px on a 12 screen is a daunting
 perspective for me ;-)

Mine's the 12 version.  However, the iBook is 1024x768, not 1280.
I had the exact same worry as you when I bought this a year ago - my 
mind was instantly at ease once I saw the display, though.  If you can 
check out a retail Apple Store and actually use an iBook (either a 12 
or 14), that'd be what I recommend.  I thought 12 would be in no way 
usable, but because it's an LCD, the 12 LCD is easier to read and 
crisper than my 19 Sony CRT!  If you're used to CRTs, the iBook LCD 
will give you shell shock!

 I know though that MC is using Helvetica 14 as a default font -- better
 than the Geneva 9 with Rev!!!

Whether you like it or not, OS X uses much larger fonts than OS 9 for 
many things, too.  The default system font is bigger, programs use 
bigger fonts, and everything's antialiased, which actually looks quite 
nice in OS X 10.2 now with subpixel aliasing.

And I have no trouble waking from sleep with MC open... never tried it 
with a player running I guess, but because of OS X's stability, I 
wouldn't be worried about it.  The stability is absolutely *wicked!*
--
Go Bison!
http://www.karlbecker.com

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Re: Editing scripts in a standalone

2002-09-25 Thread Karl Becker

On Wednesday, September 25, 2002, at 02:39  PM, Shari wrote:
 ...
 That way, if 5 modules use Image AAA, and it's not in the main engine 
 as it wasn't conceived of until that particular module was created, 
 the module embeds Image AAA into the engine, and all modules 
 thereafter can use that image easily.  (No I will NOT put images and 
 sounds into a separate folder for the world to steal.  They will be 
 embedded.)

I don't know if I like your attitude here, Shari  :-)

Using some very simple techniques (hiding the folder in Mac OS or 
Windows, though it won't be as secure in Windows), you can keep your 
media files hidden from a good chunk of people out there.

Now, this is totally dependent on your outlook on life, but I don't 
think everyone is out to steal your images, or anyone else's.  People 
should, ideally, play a game to have an enjoyable experience.  Yes, a 
good number of people will probably have fun hacking open a game... but 
if they see an image from the end of the game and spoil the ending for 
themselves, that's their fault, no?

This is probably more of an ethical issue I'm bringing up, and I don't 
mean anything personal at all by it.  I'm just wondering if putting 
media in a separate folder would be such a bad thing to do... it would 
at least let you do what you're interested in doing here, quite easily 
might I add!

--
Go Bison!
http://www.karlbecker.com

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



which is faster (a repeat structure question)

2002-09-25 Thread Shao Sean

repeat with i = 127 to 255
   replace numToChar(i) with (=  toUpper(baseConvert(i,10,16))) in
inputData
end repeat
return inputData


repeat for each char inputDataChar in inputData
  if (charToNum(inputDataChar) = 127) then
put =  toUpper(baseConvert(charToNum(inputDataChar),10,16)) after
outputData
  else
put inputDataChar after outputData
  end if
end repeat
return outputData


is repeat for each really that much quicker?  i realize that the amount of
data being converted is a major factor, but the first one only needs to loop
128 times whereas the second one has to loop for each char, which could be
well more than 128 chars..

TIA - Sean

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard



Output text with Unix line feeds on jaguar

2002-09-25 Thread Sannyasin Sivakatirswami

Problem:

Unable/How  to enforce unix linefeeds as the line delimiters in files 
output by xTalk scripts on OSX Jaguar. ?

Context:
Process data on from our mail server on a local station running Jaguar. 
Attempts to run a shell commands on a file just previously output by 
script failing because the file contains mac line breaks.

Try using return and numTochar(10) --  neither works. The resulting 
file causes the shell script to fail. Open that same file in BBEdit, 
convert line breaks and save as Unix... then the shell script processes 
the file just fine.

Also tested opening a Unix file with proper line breaks in BBedit with 
line translation off and it all comes in on one line -- expected 
behavior...  Then, importing the file created under xTalk,  always 
opens with mac line breaks... presumable proof that the xTalk script 
is outputting mac line breaks, no matter what we do

on mouseup
   put the effective filename of this stack into stackFilePath
   set itemdel to /
   delete last item of stackFilePath
   repeat for each line x in fld Bounce Window
 set itemdel to tab
 if (item 2 of x = 5) and not (item 3 of x is tb) then
 ## if true then we have an email address in x which we want to pass,
   ##  line delimited to a unix compatible file
put item 1 of x  return after toRemoveEmails
## does not work: file contains mac line breaks
put item 1 of x  numbTochar(10) after toRemoveEmails
   ## also does not work... resulting file still contains mac line 
breaks.
 end if
   end repeat
   put toRemoveEmails into URL (file:  stackFilePath  /emails)
triggerEmailShellScripts
   ##  to process above saved file
   ##  but shell scripts fail...
  end mouseup

go out to BBedit; open file  emails  output above;
save as Unix file with Unix line breaks

on mouseup
triggerEmailShellScripts ## process same file
end mouseup

Shell script now succeeds

??

TIA

Himalayan Academy Publications
Sannyasin Sivakatirswami
Editor's Assistant/Production Manager
[EMAIL PROTECTED]
www.HinduismToday.com, www.HimalayanAcademy.com,
www.Gurudeva.org, www.hindu.org

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard