Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - HeirOfNorton

#1
Some of my experiences (and issues found) trying to get this working on Arch Linux x86_64...

As I stated in a previous post, most of the library dependencies are no problem at all. The lib32 versions of nearly everything are available in the standard repos or AUR, though it is a bit of a pain figuring out what they all are using ldd. One of these days I'll probably to a PKGBUILD to automatically get all of 'em. The only libraries that ARE a problem are Allegro and Dumb. Arch has moved on to Allegro 4.4, and AGS still expect 4.2. However, the copies included with AGS312 seem to work fine, mostly. More on that in a sec. Dumb (specifically libdumb.so and libaldmb.so) are another issue. The Dumb maintainers suggest building Dumb as a static library, and the Arch folks appear to follow that advice. As such there is no .so library to link to. As I stated before, the versions of these libs from Ubuntu appear to work with no trouble. (Perhaps later I shall try to build them for Arch myself.)

Onto the odd issues. I tried both Ags 3.1.2 SP1 and 2.72 RC2, as well as EvilTypeGuy's builds of 2.72 and 2.62 (just 'cause). So far all of these tests are just with a few minutes of 5 Days a Stranger, so I'm not sure how universal they are. 2.72 RC2 appears to work flawlessly. There is no fading screen, but otherwise no problem. 3.1.2 SP1 works fine in fullscreen, except for the known fading issue. I had trouble with it windowed. The intro of the game worked, but as soon as I clicked the 'start' button the program exited with a segfault. The actual error message:

Shutting down Allegro due to signal #11

Any ideas?

The patched version of 3.1.2 would not even start. It gave me this error message:

symbol lookup error: /opt/lib32/usr/lib/liballeg.so.4.2: undefined symbol: _blender_trans24

This is using the copy of liballeg.so.4.2 that is packaged with the AGS runtime. Both of ETG's builds I tried gave the exact same error message. Could this be clue to the origin of the fading bug?

A quick glance around teh internets suggests these two errors may be related, and that they probably have to do with how Allegro was linked. It may simply be incompatibility with Allegro and my system libs, but I don't know how to tell for sure.  ???

Anyway, that's how it's working so far. Will update with any other interesting tidbits.

HoN
#2
 ;D

Appears to work fine in Arch Linux (64 bit). Nearly all of the libraries are available in lib32 versions, through AUR if nothing else. The only ones not available are libdumb and libaldmb. The Arch repos have static libraries for DUMB by default instead of shared libraries like Ubuntu. However, I was able to simply copy the relevant SOs out of the Ubuntu repos and put them in Arch's equivalent of lib32. It works fine, and the sound seems to work right even without patching Allegro.

Presumably it would be a bit simpler to get it working in 32-bit Arch, without needing to futz around with the AUR.

Great work, ES.

Edit: AGS 3.1.2 still isn't working, with the same errors as other folks have gotten.  :-\
#3
Hmmm. Complicated, but workable. Neat, time to experiment!

HoN
#4
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=26273.0

Does the game itself have to be in My Documents, or will it work as long as it only WRITES to My Documents? If the latter, you could still allow users to put the game wherever you want, and just Game.SetSaveGameDirectory to My Documents.

HoN
#5
Couple questions regarding the plugin interface. It gives instructions for overriding the built-in functions, but can this be used to override the member functions of AGS classes? They would have to be declared, I assume, like:

Code: ags

int MyChar_AddInventory(AGSCharacter *cha, InventoryItem *item, int addAtIndex);

RegisterScriptFunction("Character::AddInventory^2", MyChar_AddInventory);


But would that actually work?

If so, how would we declare the objects passed as the first parameter? Are the AGSCharacter and AGSObject classes the right ones for those cases, or are they different? What about the other objects that are not exposed in the plugin header?

I'm working on a plugin that would require the (very careful) replacement of some very basic functions. If I have to, I'll make do with separate functions and just tell the user to use mine instead of the regular ones, but it would make things much easier for other folks using it if I could just ... alter the original functions themselves. Very carefully.

HoN
#6
General Discussion / Re: Visual Programming
Mon 25/09/2006 22:27:26
Hmm, difficult. There are a fair number of visual dialog designers, but they are overwhelmingly for C++ (or Java), not too much for BASIC or Pascal. You did mention in another thread that you were not a fan of C++.

If you were willing to give C++ another try, I'd recommend wx-DevC++. It has an interactive/visual dialog designer and a full-fledged IDE.

Otherwise, the only thing I can think of is XBasic, which is pretty similar to QuickBasic and FreeBasic, but includes an "interactive GUI-designer". So it claims, anyway, I've never tried it. The main problem with it is that it is a few years old, and is no longer maintained or updated.

Okay, just looked around a bit, and there are also some free IDEs available for FreeBASIC. The main ones I found were JellyFish Pro and RadASM. I'm not sure how well these work or how easy they are to set up, though.

HoN
#7
Advanced Technical Forum / Talking frame?
Sat 02/09/2006 00:37:33
Hey folks, got a question. I know how to get the current frame of regular characters. Is there a way to get the current SPEAKING frame of a character when using Sierra-style speech?

HoN
#8
If you were to add another file format for lipsync, I would suggest the Moho switch file format. This is the timing data that is used within Moho for lipsyncing purposes. Papagayo and Pamela can both export into this format, as can Magpie and JLipSync, so supporting it would give users the greatest variety of options for their projects.

HoN
#9
General Discussion / Re: Bad Jokes
Sat 29/07/2006 02:02:48
Quote from: Eigen on Fri 28/07/2006 07:47:47
King Kong went to Hong Kong to play ping pong.

Then hit his bong while listening to Wang Chung.
#10
General Discussion / Re: Bad Jokes
Wed 26/07/2006 06:23:05
Hey, all this, and no blonde jokes?

Two blondes were walking in the forest when they came across a set of tracks.

"Those are deer tracks!" One blonde said.

"No, those are bear tracks!" Said the other.

They were still arguing when the train hit them.

----

What does a blonde call her panties?

Ankle warmers.

----

A blonde starts working at an assembly plant where they make Tickle Me Elmo (tm) dolls. Later that day, her supervisor notices that the assembly line is very backed-up, so he goes out to see what the problem is. He finds the blonde desperately trying to sew a small pocket with two walnuts onto each of the dolls.

Barely containing his laughter, he tells her, "I said to give each doll two test tickles!"

----

(In my own defense for these, half the women in my family are blonde. So I've had a lot of practice telling them   ;D)

HoN
#11
Critics' Lounge / Re: Fishman walkcycle.
Wed 26/07/2006 06:01:52
I believe he mentioned right at the start that the same arm/leg thing was deliberate, as this can give a sense of size. Many large animals (elephants, eg.) move both limbs of one side at a time, rather than alternating like us puny humans.

In my opinion, the lumbering DOES make it seem bigger, possibly too much so. I'm not sure how large it is supposed to be, but when I look at him I get a sense of something about twenty or thirty feet tall. The shrinking rear foot adds to that sense, although that is still too extreme even then.

If he is supposed to be that big, cool. If not, you may want to tweak it a little bit to show that. Don't redo too much, it's awesome, just little things, like fixing the foot and maybe increasing the speed a teensy bit.

Just my $0.02.

HoN
#12
That's really neat, Monkey. I almost did String and Float vectors, as well, but I got too lazy.  ;) I am also glad that someone was able to decipher my messy and uncommented code.

Great work.  I like how you used delimiters to set apart each of the values. (I forgot all about String.Contains to do that myself.) I would mention that your version will take more memory -- but since it's all dynamically allocated, I don't see how that will ever be a problem -- and that GetValue may be a bit slower, but again, I doubt that anyone would ever notice it.

I think I'll use your version from now on.   :)

HoN
#13
Ahem, well a quick look through the manual turns up SetGameOption, so you would have:

Code: ags

SetGameOption(OPT_RIGHTTOLEFT, 1);


And set it to 0 to make it go left to right again.
#14
Ahem...

Quote from: Pumaman on Sat 14/01/2006 22:47:30
* Fixed String.Contains not working properly with strings >200 characters.

So it should work right in the newest version.  :)
#15
Hey folks, just a little helper if anyone wants it. It occurred to me that most of the functionality needed for a vector (or a dynamic array, if you prefer) already existed in AGS in the form of the new String class, so I whipped this here up.

This is a vector class for integers. At this time it does not work with any other data type. I have not included separate documentation, but the module header is fully commented with usage and the API.

I'm not really sure how useful this will be. I mainly did it as coding practice, but I figured it could be useful to anyone who really needs a dynamic array, at least until CJ gets around to implementing the real thing.

You can download it HERE.

HoN
#16
Is the server up right now? I cannot for the life of me send anything.

I've made sure I'm on the right port and everything. I can log in. But when I try to send a file, it just says there's an "internal server error" and it won't send.

Am I doing something wrong?

Edit: Nevermind. I'm not sure what was wrong, as I haven't done anything different, but it's working now. Probably just a little hiccough in the server.

HoN
#17
I can think of no better compliment than to say this: I played it once, eventually beating it. The next day I played it a second time, just for the atmosphere and mood.

Great game

HoN
#18
This occurred to me as a useful addition, and I haven't seen it in the tracker. Basically specifying a sub-rectangle of the sprite to be drawn, rather than having to draw the whole thing.

At the moment, this can be done with:
Code: ags

//not quite true code ahead
DynamicSprite.CreateFromExistingSprite
DynamicSprite.Crop
RawDrawImage


but this can get a little tedious if it is something done very often, or with several different parts of the original sprite.

On top of that, if RawDrawImage is just a wrapper for Allegro's blit function then this should be pretty easy to implement, and will run quite a bit faster than the above code.

HoN
#19
I run at 1024x768, but really only because that's what resolution was set as a default.

However, if I'm on a website with any substantial reading, I always increase the font size to make it easier, so the resolution doesn't really mean much from a design perspective.

HoN
#20
Of the things mentioned so far, what I'd most like to see are:
- further OO options (nested structs and pointers to structs especially)
- Dynamic data structures, like vectors and maps.

One thing I haven't seen mentioned that I'd really like are callback functions. Heck, as long as we're listing unrealistic wants, it'd rule if AGS had higher-order functions like Lua and Squirrel do. (Realistically, this is probably impossible without completely refactoring the way AGS handles functions, but it would be cool.)  ;D Barring that, regular callback functions would be cool, too.

HoN
SMF spam blocked by CleanTalk