On a much lighter note…

Chris and John went duck hunting for the first time.

They took decoys, shotguns, and camouflage hunting suits. Before they left, a friend suggested that they bring a “dog to get the ducks”. They took his advice and off they went.

As noon time rolled around, the other hunters on the lake were heading back with boats filled with ducks, while Chris and John had not a single duck.

Chris asked “What do you think we’re doing wrong John?”

John replied “Maybe we’re not throwing the dog high enough”…

Buh dom bom… Sorry I couldn’t resist that one… It so reminded me of jokes from the Prarie Home Companion Joke shows. But they are always Sven and Ole (Pronounced Ollie)… Like this one from 2004

Swen and Ole go duck hunting and Ole is very excited to show off his new hunting dog. They are out in their duck hunting boat and a couple of ducks fly over. They fire and a duck them drops. Ole sends his retriever out to get the duck. The dog jumps out of the boat and runs across the water picks up duck and hops back into the boat. And much to Ole’s dismay, Swen doesn’t say word.
Another couple of ducks fly over. They shoot and another duck falls. Ole sends his dog out again. The dog again runs across the water, picks up the duck, and runs back and hops into the boat. Still, Swen doesn’t say a word.
This happens several more times and finally Ole smugly says, “So Swen, do you notice anything unusual about my new dog?”
“Ja, he can’t swim.”

Obituary: Tom Green / Christian television program producer

UPDATE: I’m getting a lot of traffic from searches for Rose and Tom. Please leave a comment or shout out here. I’d like to see where you all are coming from. It might also be nice to turn this into a tribute page for Tom, Thom and/or Rose (even though she’s not dead yet 😉 – Hmm maybe I’ll do another post for her and put up a few pictures from 20 years ago 😉 I think I might have one or two of her at Creation ’86 with a towel wrapped around her head).

Also, if you are just looking for the song “Forty Brave Soldiers”, here’s how to get it…
(This links directly to LightMusic.tv. I don’t get a cut or anything like that. You’ll exit my site when you hit buy now…)


Thanks to the generosity
of Candy Green and the Green family, we are now offering “40 Brave
Soldiers” for download (mp3). Proceeds will benefit lightmusic.tv, which is
dedicated to preserving Tom’s memory. We accept Visa, MasterCard, American
Express, and Discover. Thank you.
$9.99

I came across a friend’s obituary again today. I thought I would post it. Tom Green was a good man. Set a good example and lead a life that lead others. To him, I was probably just some teenager he knew by name from a church he visited off and on and went to retreats with. But he’s one of the people that showed me early what a successful life truly meant…

I was already in a bit of a weird mood since I was looking at three somewhat related websites and trying to figure out what I thought of them. One is Slacktivist, another is BadChristian, and another is Anabaptist Monk (which has two mirror urls that are censored for nudity at the office for some reason I do not understand he’s a baptist preacher after all…). Discovered in that order. They’ve in this whole subculture of liberal Christians and I’ve been trying to decide where I come down one each of their sites.

I gave up on that for the night and moved on to trying to find an mp3 or a track of Tom Green’s song “Forty Brave Soldiers”. I’d really like to sing it in church or at least hear it a few more times if I can’t get an accompaniment tape. So, I stumbled across his obituary again. I’d found it out of the blue about a year ago and it was a bit of a shock. The shock tonight was less, but I’m still shocked at how strong an emotion it pulls out of me.

I still think about Tom on occasion as as another person that was equally influential in my early life can be heard on the radio every morning Rose (Somma) Tennent co-host with Jim Quinn in their “war room” http://www.warroom.com. She actually helped put Lightmusic on the air. I guess I feel protective over Rose as I considered her, and still do though we haven’t spoken for two decades, a very close friend. She was one of our youth group’s (The Cornerstone Crusaders) leaders and a good person. Some of Quinn’s attitudes and demeanors are not, shall we say, founded on intellectualism. I think Rose could do, and deserves better. I’m always melancholy when I listen to their morning show. So I usually don’t. But like I said, I’m a bit over-protective.

Oh jeez, I went out to http://www.lightmusic.tv to find a picture of Rose and found out that someone else I knew just died in a car accident. Thom Hickling, co-creator of light music and the man who hosted “His Place” from 1989 to 2003. You can read about him here: http://www.dailyreckoning.com/Featured/Thom.html

Now, Lightmusic was nationally sindicated and was one of the driving forces of Christian Music as it is today. Some of you may have heard of Amy Grant and Michael W. Smith? They can, in part, thank the chocolate chip cookie loving Tom Green for their success. If you haven’t heard of “His Place”, that might be expected, it was more of a Pittsburgh thing as far as I know. I sort of missed out on it as I was away at college for the first few years it was around…

OK, I just saw that the song is available for 9.99 from Candy (Tom’s wife. Nice woman.) I listened to the first 15 seconds. That’s all I can do right now. It’s the kind of song that makes your hair from your arms all the way to the back of your scalp rise, and your heart catch in your throat even when you aren’t giving it your full attention.

I’m going to bed before anything else even more emotional happens…


For Tom Green, one of the brave soldiers:http://www.post-gazette.com/obituaries/20030709green0709p3.asp
Obituary: Tom Green / Christian television program producer

Wednesday, July 09, 2003

By Ann Rodgers-Melnick, Post-Gazette Staff Writer

Tom Green, 55, a creative force and lovingly scathing critic in Christian media, died Friday after heart surgery in New Zealand, where he has lived since 1997.

Mr. Green was a longtime producer for Cornerstone Television in Wall, where he was best known as the host of the “Lightmusic” video show. He was also a co-creator of “His Place,” a soap opera and talk show set in a diner.

With his wife, Candy, he wrote and recorded many songs, including “Forty Brave Soldiers,” a Christian radio hit about Roman soldiers who were left to die on a frozen lake because of their faith.

“Tom was a groundbreaker, both as an artist back in the late 1970s and certainly as one of the pioneering Christian music video shows,” said John Styll, president of the Gospel Music Association. “He was a real innovator who took chances.”

Born in San Francisco, Mr. Green in the 1960s ran the lights at the Troubadour, a club on Hollywood’s Sunset Strip. Many of the elite folk and rock artists who played there also came to see the art theater that Mr. Green produced.

After moving to Vermont, Mr. Green, who was Jewish, became a Christian, along with his wife.

“They almost instantly became Tom and Candy Green, the guitar-strumming evangelists,” said Thom Hickling, a friend and co-worker.

After their first child was born, Mr. Green became head of the theater department at televangelist Jim Bakker’s ill-fated Heritage University in North Carolina. They entered that world of clean-shaven Southern evangelicals as “a couple of hippie types from the Jesus movement,” said Roger Wilson, a close friend and co-worker there and at Cornerstone Television.

Mr. Green was never comfortable in the evangelical media industry.

“He didn’t care about fund raising and making a commercial appeal to the donors. Tom wanted to make good television that people who didn’t love God would be willing to watch and maybe it would have an impact on them,” Hickling said.

Cornerstone Television received complaints that he ran secular videos like Phil Collins’ “Another Day in Paradise” on “Lightmusic.” Mr. Green insisted that Collins’ message about homelessness was biblical. After the show was nationally syndicated in 1985, not-yet-disgraced televangelist Jimmy Swaggart threatened to pull his preaching from any station that carried “Lightmusic.”

“[Mr. Green] was on the cutting edge of contemporary music, not afraid to disagree with [the president] or the general manager or anyone about what we had to do if we wanted to reach young people,” Wilson said.

In 13 years, Mr. Green produced more than 3,000 episodes of “Lightmusic.” But he complained that too many evangelical hits sounded like last year’s secular hits with the name “Jesus” inserted.

“The difference between art and propaganda is often blurred in Christian videos,” he wrote. “Propaganda tells us what to think. Art allows us to come to truth on our own. Propaganda keeps everything easy. Art forces us to confront issues that we perhaps would rather not think about.”

“Lightmusic” won three consecutive Billboard magazine awards for best Christian music video show, but in 1997, Mr. Green was offered the opportunity to run a pioneering Christian station in Christchurch, New Zealand.

The Christchurch station did not feature preachers. It ran old American sitcoms like “Leave It to Beaver.” Mr. Green produced specials designed to make the faith appealing in a highly secular society.

When the station was purchased by American evangelicals, Mr. Green believed that his creative wings would be clipped. He left to produce independent videos. While he was preparing for a working trip to Antarctica, a physical revealed a leaky heart valve.

There was a lag of months before surgery, and he was extremely weak by the time of the June 30 operation, Hickling said.

During his last days, New Zealand was hit by the coldest blast of Antarctic air on record, Candy Green wrote.

“At the time of his dying we were not only praying for Tom but we prayed for the peace of Jerusalem and peace in the world. Our children had spoken forth great words of faith and prayers of healing for their father. It is now our prayer that these words were caught up with this blast of air which takes 10 years to travel around the world. I am going to be looking for answers to these prayers.”

A local memorial service is planned for sometime in August. Details will be posted at www.lightmusic.tv.

In addition to his wife, Mr. Green is survived by two daughters, Shoshanna Hill of King of Prussia, Montgomery County, and Hadassah, at home in Christchurch; two sons, Joe and Nate, both of Christchurch; his mother, Dottie Green of California; and one grandson.

——————————————————————————–
Ann Rodgers-Melnick can be reached at arodgersmelnick @post-gazette.com or 412-263-1416.


PASSING OF Tom Green, PIONEER CONTEMPORARY CHRISTIAN BROADCASTER
Date Sunday, July 06 @ 09:00:38
The Fourth of July 2003 was Tom Green’s Independence DayBy V. Glen Megill
Special to ASSIST News ServiceHUNTINGTON BEACH, CALIFORNIA (ANS) —
Tom Green, former host of the award winning Christian music program LIGHTMUSIC, died Friday (New Zealand time) in Christchurch, New Zealand from complications following open heart surgery. July 4, 2003 was Tom Green’s Independence Day.


After surgery on Monday to repair a leaking heart valve, Tom’s heart could not be restarted. There was no option but to keep him on the heart-lung machine, and the prognosis became bleak. (Pictured: Tom Green).

As news reached the US, friends around the world covered Tomand family with a blanket of prayer. Finally on Wednesday morning his heart began to beat with the help of a pacemaker, and everyone rejoiced. During this time Tom’s mother and daughter, Shoshanna, were able to travel from the US to be at his bedside. Tom’s heart was beating, but he was not out of danger.

Wednesday and Thursday Tomwent on and off the heart-lung machine. He was not able to sustain sufficient blood pressure for a long period of time. After a series of ups and downs, Tomlost the battle Friday morning. He had never regained consciousness following his surgery.
Tom’s father had died in his early forties from a genetic heart defect. Ten years ago Tomdiscovered he carried the same defect and had a heart valve replaced. This recent problem was only revealed during a physical examination in preparation for a trip to Antarctica to film a documentary.

Tom Green and his family have lived in Christchurch, New Zealand for the past seven years where he had worked for a Christian television station, and as a freelance filmmaker. He was born in 1947 and is survived by his mother Dottie, wife Candy, and children, Shoshanna, Joseph, Nathan and Hadassah. The birth of his son Joseph’s first child just two months ago had made him a grandfather for the first time.

Tom Green was a pioneering music missionary. When some saw Christian rock music as rebellion, Tomsaw the gospel translated into a new language. Contemporary music was a language that many people in darkness would listen to, and Tomembraced this new opportunity to share Jesus with missionary zeal.

Tomcreated LIGHTMUSIC, the groundbreaking contemporary Christian music program, featuring music and videos for a dark world. He produced and hosted over 3,000 daily half-hour broadcasts in over thirteen years with Cornerstone Television and received “Best Contemporary Christian Music Video Show” honors from Billboard Magazine for three consecutive years.

B.E. Taylor, LIGHTMUSIC music director remembered, “Some people thought Tomwas radical. He just didn’t fit into the norm — but God called Tomto radical ministry. He was called to take the gospel into streets of darkness. When we received letters from people on the verge of suicide that were alienated from the church, it was powerful! That is what Tomwas all about. It was simply about being obedient to God and letting God use you.” (Pictured: LIGHTMUSIC Music Director B.E. Taylor with Tom Green).

Gregg Cooper, cameraman and creative consultant to LIGHTMUSIC said, “A long time before the term ‘seeker sensitive’ was even mentioned, that was pretty much Tom. He would reach out to people that were alienated from the church. That was Tom’s ministry.”

Tom Green’s remarkable personality had a powerful impact on many people. Rose Somma Tennent former co-host and associate producer of LIGHTMUSIC said of Tom, “The relationship I had with Tom Green has become the yardstick by which I have measured all subsequent friendships. Tomwas unique in that he was one of the few people I know that had a gift for identifying talent in others and encouraging and aiding its development. Some people seek to be large by diminishing those around them. Wiser men become large in the shared gifts and talents of their peers. Tomwas a wise man, but he didn’t think so, and that was part of his charm.”

Gregg Copper added, “Tomwas really good at helping people soar to their God-given potential, and he was just always there for us. That was one of the most difficult things in going through this. Tomwas always there when we needed him, and when he was going though this most difficult time, he was in New Zealand and we couldn’t be there for him”

Friend and colleague, Thom Hickling said, “Many people know Tomas a broadcaster, but Tomwas also an accomplished musician. Tomand his wife Candy recorded about thirteen albums, including the powerful and moving ballad ‘Forty Brave Soldiers for Christ’ that was recorded in the late seventies and still receives much airplay.”

Only God knows how many lives were impacted by this contemporary Christian music pioneer. The impact of his untimely death will undoubtedly ripple through the lives of many more. Tomproudly carried the torch for Jesus to a dark world and has now completed his assignment. I am grateful his path crossed mine. I will carry that torch with renewed energy. Only God knows how many lives were impacted.

Tom Green ended each show saying,” God loves you and has a wonderful plan for your life.” God loved Tomand had a wonderful plan for his life, and we are very grateful Tomfaithfully answered the call.

——————————————————————————–
B.E. Taylor served as music director for LIGHTMUSIC and is currently a recording artist and performer living in Wheeling, West Virginia. He can be reached at: http://www.betaylor.com

Gregg Cooper was a cameraman and creative consultant to LIGHTMUSIC and is currently production manager for Orchard Hill Church in Wexford, Pennsylvania http://www.orchardhillchurch.com

Rose Somma Tennent was co-host and associate producer of LIGHTMUSIC and is currently a radio personality and co-host of “Quinn and Rose in the Morning” WRRK-FM, Pittsburgh, Pennsylvania http://www.warroom.com

Thom Hickling was formerly with Cornerstone Television and is currently a journalist living in Baltimore, Maryland. He can be reached at: thombomb@hotmail.com

LIGHTMUSIC was produced at Cornerstone Television located in Pittsburgh, Pennsylvania. Cornerston TV http://www.ctv.org/lightmusic/

Additional information on LIGHTMUSIC and Tom Green will be posted at Light Music Tv

“13 years of Christian Video: Enough Already?” (an interview with Tom Green)
Crown Vider

“My Favorite Christian Music Videos” (an article by Tom Green)
http://www.crownvideo.com/vpJan72000.cfm

——————————————————————————–
V. Glen Megill is Director of International Outreach for the World Bible Society www.worldbible.org. He also serves as president of the Rock of Africa Mission, an outreach to sub-Saharan Africa. www.rockofafrica.org. Glen can be reached in Huntington Beach, CA at vgmegill@rockofafrica.org.

This article comes from Christian-Connection
http://www.christian-connection.orgThe URL for this story is:
http://www.christian-connection.org/article.php?sid=258

How to: Creating a unique temporary file and determining the working drive and path

This is a demonstration of how to use a TempFile in a .BAT or .CMD file. The goal of this example is to determine the relative path of the current working directory and assign it to a variable.

Concepts Demonstrated:

  • Generating a unique file names
  • Creating a temp file, using the Windows Naming convetion, and deleting it when done
  • Calling support subroutines in a batch file
  • Using GOTO :EOF to end exit a subroutine but not the batch file
  • Use of the command line “FOR” routine
  • Using Variables with “for /F”
  • How to get the current directory
  • Verbose and Quiet modes for a batch file

Temporary files are incredibly useful in batch files. When used in combination with a “For” loop, you can accomplish some amazing stuff from the command line.

In this example we assign a new file name to the TEMPORARY_FILE variable and then export the current working path to that file by echoing cd environment variable to it:

call :GETTEMPNAME
echo %cd%>%TEMPORARY_FILE%

Once our temp file has contents, the For routine can be used to parse each line and execute a command with the result. So, we use the For command to divide the working directory, lets say it is “C:\WorkingDir” into several peices (aka tokens):

FOR /F “tokens=1* delims=:” %%G IN (%TEMPORARY_FILE%) DO set RelativePath=%%H

Literaly we are telling it to break the line up at every colon ( : ), and to assign the first token to the variable %G. The asterisk (*) indicates that each token after that should be assigned to a new variable letter (H,I,J, and etc.). In our example, our %H will contain “\WorkingDir”.

“For /F” is really most usefull with larger files containing multiple lines. Since our file contains only one line with two tokens, the process stops there but you could, for example, parse all the names of files in a directory (dir *.xyz /b > %TEMPORARY_FILE%), or the contents of a registry key exported to that file using (REG QUERY […] > %TEMPORARY_FILE%). I’ve used both of these methods in the past to do some really neat things that might have otherwise involved creating a custom executible. One advantage of doing it from teh command line is that it keeps the registry clean of all the garbage left behind by Windows anytime you run an exe.

Oh!

Something that is not often emphasized in “For /F” documentation is that it can parse variables as well as files. This could greatly optimize this example. Instead of parsing our file, we would simply put our %CD variable in quotes and call:

FOR /F “tokens=1* delims=:” %%G IN (“%CD%”) DO set RelativePath=%%H

We will get exactly the same results and can cut our batch file size in half! Of course, then we wouldn’t have a good example of temp file usage would we? So, we will do it the hard way.

Thus:
Continue reading How to: Creating a unique temporary file and determining the working drive and path

Are you ready? Did you miss it this morning?

Early this morning, at two minutes and three seconds after 1:00 in the
morning, the time and date was 01:02:03 04/05/06.

That’s coming up again this afternoon. For my readers in Europe, you’ve got a month and a day yet! Get ready!

If you miss this one, you’ll have ruined your whole century for 02:03:04 05/06/07 and 03:04:05 06/07/08 just won’t feel the same will they???

Man, had I thought of this earlier I’d have created a website for pictures of people’s clocks and conspiracy stories people have heard. Like:

“A bug in Microsoft Windows XP will cause the year to start incrementing the year instead of the second afte the date time reaches 01:02:03 04/05/06.”

Binary Blue 1.1.0 Customizations & How to get your link categories to show..

The Count has done it again with another GREAT release of his theme Binary Blue. I thought I would share how I’ve customized it to fit my blog.

This version has several things fixed that I was looking for, including improved localization via a field in the options tab. I haven’t found all of the goodies yet. I haven’t even experimented with the widgets yet. But, I did need to get my customizations back into my blog.
Continue reading Binary Blue 1.1.0 Customizations & How to get your link categories to show..

Using Environment variables to load a file from My Pictures

It’s been a while since I used Environment Variables in Delphi and I had to look it up.

I have a loose rule that anything I have to look up, I want to share on my blog so that I can find it again easily later.

So here you have it: Enviromental Variable expansion ala Delphi.

It’s really not that complex, and it’s possible that this routine could be optimized some. But I think it works well enough as is and demonstrates the use of ExpandEnvironmentStrings quite nicely. If you need to get a list of the variables, you’ll need to do further research on GetEnvironmentStrings and FreeEnvironmentStrings to return the list to you for manipulation. A search for FreeEnvironmentStrings Delphi gives you pleanty of code examples.

Here is my example for ExpandEnvironmentStrings:

[delphi]
var
ImageFileName, FullFileName: string;
BufSize: Integer;
NewPath: String;
begin
// Retrieve the contents of the edit field into a local variable for ease of use.
ImageFileName := Edit1.Text;

// If it exists in the working path, use that as our retrieval point.
// Otherwise, look in the Application directory, then the My Pictures folder,
// then look in the Windows directory
if (FileExists(ImageFileName))
then FullFileName := ImageFileName // Working directory needs no path.
else if (FileExists(ExtractFilePath(Application.ExeName) + ImageFileName))
then FullFileName := ExtractFilePath(Application.ExeName) + ImageFileName // Grab the path from the application executible info
else begin

// Use environmental variables to locate two other possible places
// Allow 254 character paths to be returned.
SetLength(NewPath, 254);

// Call ExpandEnvironmentStrings with string containing environmental variables
BufSize := ExpandEnvironmentStrings(‘%userprofile%\My Documents\My Pictures\’, PChar(NewPath), 254);

// The returned BuffSize must be used to truncate off any extra garbage & injections.
SetLength(NewPath, BufSize – 1);

// Look for it and if it is found, assign the full name otherwise keep looking.
if (FileExists(NewPath + ImageFileName))
then FullFileName := NewPath + ImageFileName
else begin
// Repeat the above process for the Windows Directory.
SetLength(NewPath, 254);
BufSize := ExpandEnvironmentStrings(‘%windir%\’, PChar(NewPath), 254);
SetLength(NewPath, BufSize – 1);
if (FileExists(NewPath + ImageFileName))
then FullFileName := NewPath + ImageFileName
else FullFileName :=’NOT FOUND’;
end;
end;
[/delphi]

Game Review: Super Gerball by Binary Sun

or “You had me at ‘Smeg'” Part 1

This is the second of two reviews that are part of the Binary Moon’s Free Games for Bloggers promotion. More reviews are likely to follow.


Super Gerbil
Super Gerball game is a sure winner!

Now, I do find it funny that every one 6 and older that played this game, including my wife and myself, looked at it and said “Oh, it’s like Best Friends“. Best Friends is a big hit in this house with the 2 and 4 year olds. The 2 year old doesn’t quite have the skills to play it but he still enjoys the birds being knocked off of the tracks into space and he wanders around.

It turns out that these games share a lot of the same behind the scenes technology. Don’t be mislead by that statement. Though Ben, of Binary Sun, and Mike, of Retro64 have colaborated on some projects one of Ben’s other work places, www.MiniClip.com, these are two VERY different games.

While we’ve had the trial version of Best Friends for months without purchasing, this could not have been the case for Super Gerball! As I said my two youngest kids loved Best Friends, as did the older kids at one time. However, I very quickly grew tired of it. That won’t be the case with Super Gerball, which takes a whole new approach.

Part of the fun of Super Gerball is that we right now have an escape artist Dwarf Hamster.


Anyone seen this hamster?

Just when I started to review Super Gerball, Streaky, one of our hamsters, had been recovered from her last escape act and had been wandering around the house for two days. And that, my friends, pretty much sums up Super Gerball. Super Gerball is about a Gerbil that is wandering all around the house in its little rolling ball.

No for the record, Gerbils have tails See a tail! and Dwarf Hamsters don’t See No tail!.
So, I’m pretty sure this should be Super Dwarf Hamster Ball, but that’s hardly as catching of a name, now is it?


Got it?
Any Question?

Ok, we’ll let that go for now. 🙂 What makes this game so unique is that it is the world & platforms that are rotating so instead of you just guiding the hamster around, you are rolling the hamster like a marble in one of those old wooden marble maze games. It’s neat to see the whole world tilting that way.

While the beginner levels are easy enough for my two year old to complete them, they are also big enough that I’ve tried a couple times to collect all of the gems but run out of time. (Practice will make perfect).

The medium levels are where the fun really starts for the 8 & up crowd. First, there is a Red Dwarf reference as the Gerbil tries to find its way through the kitchen. That alone made the game a winner. “You had me at Smeg”. Though what such language is doing in a kids game, I have no idea…. 😉 So, this difficulty setting adds self tilting islands (for lack of a better term), spinning obstacles, moving ground and a couple other terrains that affect the physics of the hamster. It was enough to give my wife quite a challenge in the game and to get the kids sucked in so far that I never got more than two brief moments at the controls. I did however get beat by the very end second level the first time I played it. So I want to go back and play some more.

This game is a MUST have and is truely worth the price asked.

Since my 10 year old son has asked me over 15 times in the last two days if I’ve written this review, I need to sign of and leave my recommendations for Part 2.

But I’ll leave you with the comments of my two year old.

This is him as we forced him to let his sister have a turn…
Gain! I play again!

This was his reaction after he got another long turn and it was time for everyone to head to bed:I try again nnnnn!!!

The next 15 minutes were repeats of the first two slowing dying down to a numb:
aaaiiinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

I think he liked it!


What the smeg is that doing there?

Things I like:

  • I like the fun concept
  • I like the tilting of the platforms – that’s unique
  • I like the attention to detail – for instance on the easy levels, all of the obstacles you guide your Gerbil around have round corners. That means that the little ones can be a little imprecise in how they guide the ball around.
  • The art style is very nice

Things I would change:

  • Recommend, some how, that older players play at the medium level first so that they don’t dismiss the game after just playing the medium level. Maybe level shots in the menu?
  • In all of the character based games I’ve played from Binary Sun, you spend the whole time staring a the back of the character. At least at the end of the rounds in this one you see the Gerbil’s face. It would be nice if you could see the Gerbil a little better and watch him run around in the ball. With being zoomed out this far you pretty much miss that entire effect. It becomes just a ball not a Gerbil in a ball.

That’s not a very long list. Why? Because everything else I want to I’m gonna be able to do in the level editor that comes with the full version of the game. That means I’ll be making an additional level pack for my two year old VERY soon.

Here’s a feature list of the full game:

• 60 levels – 60 fun, exciting levels provide a long-lasting challenge.
Each level has been designed to offer something new, with no two levels alike –
ensuring a fresh experience from start to finish.

• 6 game zones – Super Gerball provides you with the ultimate in graphical variety
– there are no less than 6 game zones in the game,
starting off in the garden and moving onto the garage, kitchen, bedroom, bathroom and attic.

• 3 difficulty settings – easy, medium and hard modes make the game accessible
to everyone and also provide lasting challenge.
Start the game off in easy mode, and then as you get better try mastering the medium and hard modes!

• 3 unique endings – complete the game in easy,
medium or hard mode and you will be rewarded with an entertaining end sequence –
completely unique to that mode! Do your best to see all 3 endings!

• 3 high score tables – compete against friends and family to see who is the best Super Gerball player of them all.
Can you reach No. 1 in all 3 tables?

• Freeplay mode – play any level in any order and try and beat your best score for that level.
Import additional level paks for endless fun! (Note: shareware version allows you to import 2 level paks,
the full version can import an unlimited number.)

Level Editor


(included with full version of Super Gerball)

Level editor features:

• Easy to use – normally, 3D level editors can be horribly complex to use – but not Super Gerball’s editor (SGB Ed).
SGB Ed has been designed to be useable by anyone whether they’ve used a 3D editor before or not.

• Powerful – Super Gerball’s editor lets you do everything that can be done in the game –
so you can create levels just as simple or as complex as you want.

• Complete and thorough documentation – the documentation for SGB Ed explains everything about the editor, so you should never get stuck.

• Support and community – already there is a community of Super Gerball full version owners who are creating their own levels.
Get the full version and join this creative community!

Yet to Come: A gratuitous review: Binary Sun’s SETH’s Puzzles

Treating a TImage’s loaded JPEG as a Bitmap in Delphi

One problem with the TImage component is that it doesn’t natively support JPegs. JPeg just wasn’t as popular a format back in the early to mid nineties when the Delphi was first developed. Well, today that is a different story. Starting with Delphi 3 , if memory serves (I didn’t every use D2), the TJPegImage component was introduced and the TImage could be extended to allow JPegs to be loaded. Today’s TImage component can load a JPeg straight from the LoadFromFile command. However, you still cannot directly manipulated it as easily as you can a BitMap. This is clear if you look at the structure of a TImage’s Picture property.

A TPicture has a BitMap property and a MetaFile property and a Graphic property that stores everything that isn’t a BitMap or a metafile.

Yet you’ll quickly see that very few routines and example on the web deal with the Graphic property. They can’t! The structure of the information in the Graphic varies depending upon the type of image.

So, the trick of dealing with JPegs, or anything else like TIFFs, GIFS or Targa’s (oh my), is to get their data uncompressed and de-interlaced and back over to the bitmap property. A little known fact is that this is exactly what Windows has to do any time you choose a JPEG as a background. Windows will load the JPEG save it to a BMP and write the name of that BMP to the registry and then display that file instead of the original JPEG. So, we all should quit blaming Borland (DevCo) for a klunky control, they are doing it the right low level way. And that’s, after all, what we like about Delphi right?

So, what we must do is once we allow a user to load a file, we will check to see if the type is a TJPegImage. If it is, then we create a TJPegImage component. We then assign the JPegImage to the BitMap property and we are done! You can now access the image data in the BitMap.

In Delphi, that looks like this:
[delphi]
SourceImage.Picture.LoadFromFile(FullFileName);
if (SourceImage.Picture.Graphic is TJPegImage)
then begin
JpegImage := TJpegImage.Create;
try
JpegImage.Assign(SourceImage.Picture.Graphic);
SourceImage.Picture.Bitmap.Assign(JpegImage);
finally
end;
FreeAndNil(JpegImage);
end;
[/delphi]

Assign is a wonderful little black box function built into many objects. Assign is one of the neatest functions in Delphi. It basically accepts other types of objects as a parameter, and converts as much of that type of object as possible.

Let’s go abstract and say you have two object types TCar and TSuitCase.
C: TCar
S: TSuitcase

Obviously can’t say S := C; or C := S; because they are of different types.
However you can say
C.Assign(S)
and inside the TCar’s Assign method have a statement that looks like:

[delphi]

if (Source is TSuitcase)
then Self.Trunk.Contents := Self.Trunk.Contents + TSuitcase(Source).Contents
else if (Source is TGasolinePump)
then …

[/delphi]

OK, that sounds pretty non-exciting, but it gets better! What if the type of object is unknown? A the TCar routine may know how to assign a TFordPerfect to itself because a TFordPerfect inherits from TCar, but a TCar is NOT going to know how to assign a TFordPrefect to itself now is it? That’s where AssignTo comes in…
[delphi]

if (Source is TSuitcase)
then Self.Trunk.Contents := Self.Trunk.Contents + TSuitcase(Source).Contents
else if (Source is TGasolinePump)
then Self.Tank.Contents := Self.Tank.Contents + TGasolinePump(Source).Gallons[1]
else Source.AssignTo(Self);

[/delphi]

AssignTo goes exactly the OPPOSITE direction. The person writing the new component than then create a routine that will allow his new component to the most common components that already exist. So following our example, TFordPrefect’s AssignTo routine might include something like this:

[delphi]

if (Dest is TCar)
then TCar(Dest).PassengerCompartment := TCar(Dest).PassengerCompartment + TPassenger(Self);

.
[/delphi]

Or in the case of a TJPegImage, the AssignTo method checks to the see if the Dest var is a TBitmap, and if it is, it goes through a long decompression and conversion routine to finally produce a true Device Independant bit map and write those raw bits into the Dest.

And that my friends is how our TImage component, that knows nothing about JPEG to Bitmap conversions gets the job done. It asks the TJPegImage AssignTo method to do all if its work for it.

You can now use the Picture.BitMap image as normal. The neat thing is that you can put those routines in your FormCreate method. So, TImages can be made to contain JPEGs at design time, making your EXE significantly smaller. And then it converts them, if appropriate, to BMPs at Runtime. It’s nice to save 600,000 of image space at next to no cost.

Kinda nifty eh?

(BTW if you are really ambitious, I’m sure you could write that routine above so that it checks to make sure the graphic isn’t a BMP, WMF or empty and then uses the class info routines to request the type of object and instationate a TPersistent variable to contain an object of that type. Then your routine can handle as a bitmap ANY image type you’ve extended your TImage to contain. More on extending TImages later…)