Hamster Whisper: new plotscripting tool

Make games! Discuss those games here.

Moderators: Bob the Hamster, marionline, SDHawk

User avatar
Bob the Hamster
Liquid Metal King Slime
Posts: 7460
Joined: Tue Oct 16, 2007 2:34 pm
Location: Hamster Republic (Ontario Enclave)
Contact:

Hamster Whisper: new plotscripting tool

Post by Bob the Hamster »

I am writing a new plotscripting tool called <a href="http://gilgamesh.hamsterrepublic.com/wi ... r">Hamster Whisper</a> to replace the aging HssEd. I would greatly appreciate testing and feedback and bug-reports.

Image

You can get the windows installer from:
http://hamsterrepublic.com/dl/hwhisper-setup.exe

<s>You will also need the GTK+ runtime environment. If you don't have it already, get it from http://gladewin32.sourceforge.net/</s> I re-uploaded a new version that bundle's its own copy of the GTK+ runtime, so you don't have to manually install it separately.

The source code (for anybody who is curious) can be gotten via Subversion from svn://gilgamesh.hamsterrepublic.com/ohrrpgce/tools/hwhisper
Last edited by Bob the Hamster on Wed Feb 11, 2009 11:01 pm, edited 1 time in total.
User avatar
Pepsi Ranger
Liquid Metal Slime
Posts: 1419
Joined: Thu Nov 22, 2007 6:25 am
Location: South Florida

Post by Pepsi Ranger »

I tried to run it with GTK+ Environment installed, but I still got the warning window.

Are they supposed to be in the same directory?

Do I have to do something with GTK for Hamster Whisper to work?

Will the utility eventually work without the need for extra source files?

(I'm still pretty poor with using anything from sourceforge, so assume I'm a total idiot on this one.)
Place Obligatory Signature Here
User avatar
Bob the Hamster
Liquid Metal King Slime
Posts: 7460
Joined: Tue Oct 16, 2007 2:34 pm
Location: Hamster Republic (Ontario Enclave)
Contact:

Post by Bob the Hamster »

Pepsi Ranger wrote: Are they supposed to be in the same directory?
No, GTK can just be in the default location. Are you sure you downloaded the runtime environment and not the development environment?
Pepsi Ranger wrote: Do I have to do something with GTK for Hamster Whisper to work?
Nah, just installing it *should* be enough... In theory :)
Pepsi Ranger wrote: Will the utility eventually work without the need for extra source files?
Maybe. I made a brief attempt to compile a fully bundled version that has its own copy of all the GTK+ dll files, but it didn't work to well. some of the gtk components (especially the font renderer) are rather tricky to distribute that way. I'll probably give full bundling another shot sometime later.

Can you post your <b>C:\Program Files\Hamster Whisper\hwhisper.exe.log</b> file? It should contain clues as to why the program failed.
User avatar
Pepsi Ranger
Liquid Metal Slime
Posts: 1419
Joined: Thu Nov 22, 2007 6:25 am
Location: South Florida

Post by Pepsi Ranger »

This is the file I downloaded:

Code: Select all

Gtk+ 2.12.9 Runtime Environment Revision 2 &#40;7,206&#41;
This is the error log (I tried three different times):

Code: Select all

Traceback &#40;most recent call last&#41;&#58;
  File "hwhisper.py", line 32, in <module>
  File "gtk\__init__.pyc", line 38, in <module>
  File "gobject\__init__.pyc", line 30, in <module>
  File "gobject\constants.pyc", line 22, in <module>
  File "gobject\_gobject.pyc", line 12, in <module>
  File "gobject\_gobject.pyc", line 10, in __load
ImportError&#58; DLL load failed&#58; The specified module could not be found.
Traceback &#40;most recent call last&#41;&#58;
  File "hwhisper.py", line 32, in <module>
  File "gtk\__init__.pyc", line 38, in <module>
  File "gobject\__init__.pyc", line 30, in <module>
  File "gobject\constants.pyc", line 22, in <module>
  File "gobject\_gobject.pyc", line 12, in <module>
  File "gobject\_gobject.pyc", line 10, in __load
ImportError&#58; DLL load failed&#58; The specified module could not be found.
Traceback &#40;most recent call last&#41;&#58;
  File "hwhisper.py", line 32, in <module>
  File "gtk\__init__.pyc", line 38, in <module>
  File "gobject\__init__.pyc", line 30, in <module>
  File "gobject\constants.pyc", line 22, in <module>
  File "gobject\_gobject.pyc", line 12, in <module>
  File "gobject\_gobject.pyc", line 10, in __load
ImportError&#58; DLL load failed&#58; The specified module could not be found.
I didn't mess with either installer. Everything should've gone to its respective folders.
Place Obligatory Signature Here
User avatar
Bob the Hamster
Liquid Metal King Slime
Posts: 7460
Joined: Tue Oct 16, 2007 2:34 pm
Location: Hamster Republic (Ontario Enclave)
Contact:

Post by Bob the Hamster »

Curious.

What version of Windows are you running?
User avatar
Pepsi Ranger
Liquid Metal Slime
Posts: 1419
Joined: Thu Nov 22, 2007 6:25 am
Location: South Florida

Post by Pepsi Ranger »

XP

I think service pack 3 is installed.
Place Obligatory Signature Here
User avatar
Bob the Hamster
Liquid Metal King Slime
Posts: 7460
Joined: Tue Oct 16, 2007 2:34 pm
Location: Hamster Republic (Ontario Enclave)
Contact:

Post by Bob the Hamster »

I took the time to figure out how to properly bundle a copy of the GTK+ runtime. I have re-uploaded a new standalone installer that does not require GTK+ to be separately installed. Can you re-download and try it out?
User avatar
Twinconclusive
Liquid Metal Slime
Posts: 976
Joined: Mon Oct 15, 2007 6:45 pm
Location: Tabletop

Post by Twinconclusive »

Gave the newest version a try, installed it, opened it and...
http://img12.imageshack.us/img12/2473/uhhcn8.png

Here's the nhwhisper log, if it helps.

Code: Select all

C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; GtkWarning&#58; Unable to locate theme engine in module_path&#58; "wimp",
C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; PangoWarning&#58; No modules found&#58;
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of&#58;
  'C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\etc\pango\pango.modules'
You should create this file by running&#58;
  pango-querymodules > 'C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\etc\pango\pango.modules'
C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; PangoWarning&#58; failed to find shape engine, expect ugly output. engine-type='PangoRenderWin32', script='latin'
C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; PangoWarning&#58; failed to find shape engine, expect ugly output. engine-type='PangoRenderWin32', script='common'
C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; GtkWarning&#58; Unable to locate theme engine in module_path&#58; "wimp",
C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; PangoWarning&#58; No modules found&#58;
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of&#58;
  'C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\etc\pango\pango.modules'
You should create this file by running&#58;
  pango-querymodules > 'C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\etc\pango\pango.modules'
C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; PangoWarning&#58; failed to find shape engine, expect ugly output. engine-type='PangoRenderWin32', script='latin'
C&#58;\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\hwhisper.exe&#58;67&#58; PangoWarning&#58; failed to find shape engine, expect ugly output. engine-type='PangoRenderWin32', script='common'
&#9834;&#9834;&#9834; Du du duuuu &#9834;&#9834;&#9834;
User avatar
Pepsi Ranger
Liquid Metal Slime
Posts: 1419
Joined: Thu Nov 22, 2007 6:25 am
Location: South Florida

Post by Pepsi Ranger »

Works fine for me now.

Which means now I can make suggestions:

Desperately needs Word Wrap. Right now I can only run it comfortably in large screen, and that's just too much screen space to look at.

I like the new F1 tool. It is, however, incredibly limited. I find myself opening plotscript dictionary to discover new tricks on a regular basis anyway, and as of now, F1 is only good if it assumes you already know the command. While it works fine as a qualifier (sometimes I think I know the right command, but am not 100% certain), there's no built-in support for searching the dictionary for things that might benefit the plotscripter.

What I'd recommend, and I know this will take a bit of time, but I think it'll make Hamster Whisper an excellent resource if it's implemented, is to have a built-in wiki for searching terms and having HW reveal all the functions that might correspond to what the plotscripter is trying to accomplish.

For example, if he's trying to figure out how to manipulate an npc, he could type "NPC" in the search and it'll search the dictionary for all plotscripts that relate to the NPC. If he knows he just wants to walk an NPC, but doesn't know how, he can type "walk NPC" and only the commands for walking NPCs show up.

The hard part would be in anticipating the search terms, but again, this can be treated like a wiki. If a search term doesn't yield results, then the user can refine his search until it does.

But other than that it seems like a good all-purpose plotscripting tool.
Place Obligatory Signature Here
User avatar
Bob the Hamster
Liquid Metal King Slime
Posts: 7460
Joined: Tue Oct 16, 2007 2:34 pm
Location: Hamster Republic (Ontario Enclave)
Contact:

Post by Bob the Hamster »

Twinconclusive wrote:Gave the newest version a try, installed it, opened it and...
http://img12.imageshack.us/img12/2473/uhhcn8.png
Weird... Can you open 'C:\Documents and Settings\Kenneth.FRESHATORIUM\Desktop\;D\Detelamane\Hamster Whisper\etc\pango\pango.modules' in a text editor and see if it is blank or not?

Also, is ";D" really the name of a folder on your desktop?

And do you have any older version of GTK+ already installed on your computer (maybe installed with The Gimp or some other open-source program?)
Pepsi Ranger wrote:Works fine for me now.
Yay!
Pepsi Ranger wrote:Desperately needs Word Wrap. Right now I can only run it comfortably in large screen, and that's just too much screen space to look at.
Word wrap? On script code? That sounds craaaaazy, but sure, I could probably do it fairly easily.
Pepsi Ranger wrote:I like the new F1 tool. It is, however, incredibly limited. I find myself opening plotscript dictionary to discover new tricks on a regular basis anyway, and as of now, F1 is only good if it assumes you already know the command. While it works fine as a qualifier (sometimes I think I know the right command, but am not 100% certain), there's no built-in support for searching the dictionary for things that might benefit the plotscripter.

What I'd recommend, and I know this will take a bit of time, but I think it'll make Hamster Whisper an excellent resource if it's implemented, is to have a built-in wiki for searching terms and having HW reveal all the functions that might correspond to what the plotscripter is trying to accomplish.

For example, if he's trying to figure out how to manipulate an npc, he could type "NPC" in the search and it'll search the dictionary for all plotscripts that relate to the NPC. If he knows he just wants to walk an NPC, but doesn't know how, he can type "walk NPC" and only the commands for walking NPCs show up.

The hard part would be in anticipating the search terms, but again, this can be treated like a wiki. If a search term doesn't yield results, then the user can refine his search until it does.
Hmmm. A help search tool you say? That is probably doable.
Last edited by Bob the Hamster on Thu Feb 12, 2009 5:35 pm, edited 2 times in total.
User avatar
Calehay
Red Slime
Posts: 84
Joined: Mon Oct 15, 2007 10:48 pm

Post by Calehay »

I also raise an eyebrow at word-wrap.

So far, I haven't encountered any problems. I do have a few suggestions:

Lately, I've been using Notepad++ for writing scripts, and I suppose I've been a little spoiled by it. I love the colored parentheses and indention guidelines in that program (which you can see a picture of here.) I'm not sure if you could implement something like this, but it would be a great help when dealing with complex nesting.

I agree about the help feature. Another thing, which I don't know how helpful or feasible it would be, is to have a mini-help bar which is shown somewhere on the screen and highlights where your cursor is in the syntax of that particular command. For example, if I were to type:

Code: Select all

centerstringat &#40;
This feature would show:

centerstringat (ID, x, y)

and if I were to type put a comma after what I typed before, it would change to:

centerstringat (ID, x, y)

I don't know how helpful that would be, considering it's simple enough to simply type in the command and hit F1, but I thought I would just throw it out there. I've just had more than one occasion where I forget where a specific argument is supposed to be and end up having to change it out in a lot of commands.

Also, the error message color output from Hspeak seems to not work. I don't know if this was intentional or not, but I spent a long time beating my head against the wall trying to find out why the changes to my script weren't working when I finally realized that there was a small typo Hspeak was reporting and I was importing the same old faulty script into my RPG file. Yeah, I know I should probably actually read Hspeak's output regularly, but the colors do help out a lot.
User avatar
Pepsi Ranger
Liquid Metal Slime
Posts: 1419
Joined: Thu Nov 22, 2007 6:25 am
Location: South Florida

Post by Pepsi Ranger »

Word wrap helps me stay organized better. If I have to scroll too far to the right, I lose my place.

I have word wrap implemented in Notepad and I don't run into any problems. The only precaution I take ahead of time is if I'm writing a comment with word wrap activated, I'll break the line in half before it wraps. But none of my code breaks from using it, and using complex "if/then" statements become a nightmare if I have to keep scrolling and scrolling horizontally to find the end of them.
Place Obligatory Signature Here
User avatar
Mogri
Super Slime
Posts: 4598
Joined: Mon Oct 15, 2007 6:38 pm
Location: Austin, TX
Contact:

Post by Mogri »

That's why you break your own lines.

BAD:

Code: Select all

if&#40;&#40;read pass block&#40;&#40;hero-x / 10 + wiggle room&#41; / 20, hy&#41;, and, south wall&#41; || &#40;read pass block&#40;&#40;hero-x / 10 + 20 -- wiggle room&#41; / 20, hy&#41;, and, south wall&#41; || &#40;hero-y == 0&#41; &#41;
GOOD:

Code: Select all

  if&#40;
    &#40;read pass block&#40;&#40;hero-x / 10 + wiggle room&#41; / 20, hy&#41;, and, south wall&#41;
    ||
    &#40;read pass block&#40;&#40;hero-x / 10 + 20 -- wiggle room&#41; / 20, hy&#41;, and, south wall&#41;
    ||
    &#40;hero-y == 0&#41;
  &#41;
User avatar
Bob the Hamster
Liquid Metal King Slime
Posts: 7460
Joined: Tue Oct 16, 2007 2:34 pm
Location: Hamster Republic (Ontario Enclave)
Contact:

Post by Bob the Hamster »

Twinconclusive wrote:Gave the newest version a try, installed it, opened it and...
http://img12.imageshack.us/img12/2473/uhhcn8.png
Hey, Twin, can you try again with the latest version and let me know if it is still doing that same error?
User avatar
Twinconclusive
Liquid Metal Slime
Posts: 976
Joined: Mon Oct 15, 2007 6:45 pm
Location: Tabletop

Post by Twinconclusive »

Oh hey, everything worked fine after I uninstalled the previous version. :o
&#9834;&#9834;&#9834; Du du duuuu &#9834;&#9834;&#9834;
Post Reply