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

#81
Quote from: Pumaman on Sun 05/06/2005 23:32:14
* Fixed compiler crash when declaring a large struct.

Sweet. This fixed my crash, and now everything I'm trying works perfectly.

Between the constant bug-fixes, the new sprite compression and String functions... CJ, has anyone told you lately that you are the coolest person in the world?

HoN
#82
I think a lot of people are mildly OCD. Like with me, if I step on a crack I feel...uneven until I step on another crack with the other foot (in the same spot on the foot). My sister was the same was as a kid, and my niece is starting to do it too. It's SPREADING!!!

Otherwise, my only chronic disease/syndrome/thing is a strong case of Glaucoma. It makes my eyes feel like this  :o, and I could go blind at any time (like Kirby Pucket). So far so good, though.

(Hey, if I DO go blind, I'm gonna try to learn DareDevil's SONAR sense. If bats can do it, why not me?)

HoN
#83
In theory, sure. AGS does not have any network support on its own, but this could be added using a plugin like this one.

In practice, however, I highly doubt it. AGS is simply not optimized for any sort of multiplayer, let alone Massively Multiplayer. There would be a great deal of scripting/programming to do just to keep everything in sync, and there would probably still be a lot of slowdown and lag.
(Bear in mind, these statements are made by someone with very little experience in programming or AGS. It might actually be trivially easy to make a MMORG. But I doubt it.)

HoN
#84
Finally, it's happened to someone else!!

Sorry, I've had similar problems, un-reproduceable to anyone else (very aggravating).

Quote
struct mystruct {
  char strs[3000000];
  };

mystruct MyStructObj;

IF it is the same problem I have had, making the MyStructObj into an array should get rid of the crash (though it's still odd). Even an array of just a single element:

mystruct MyStructObj[1];

Don't know why. Don't even know why it crashes for me (and now possibly you) but no one else.

Hope this helps, cheers,

HoN
#85
General Discussion / Re: google madass names!
Tue 05/07/2005 16:21:16
Well, I'm the title character of a critically acclaimed novel,

An amateur .NET programmer (NO!!!!)

The VP of the Home Medical Equipment company ???

The creator of several Dungeons and Dragons modules

A reef diver

And a member of a small heay metal band.  :D

And here I thought I had a fairly uncommon name, heh.

HoN
#86
I would bet it's a case of a library so common in most distros that it didn't even occur to the developer that some people wouldn't have it. (Like the Visual Basic runtime for windows.)
(Either that, or a really odd bug.)

Anyway, you can get it here.

HoN
#87
And, instead of setting your own GlobalInts, it would probablye be easier to use Strazer's OtherRoom Module instead of coding it all by hand.

HoN
#88
After seeing strazer's success at converting plugins to script modules, I decided to try my hand at it as well, so here's my version of a Finite State Machine for AGS v2.7, inspired by the FSM plugin by Frederico Jeronimo.

This module allows you to create Finite State Machines, useful for keeping track of complex game states and for simulating character AI.

Features:
* Create more complex AI separated from implementation
* Unlimited number of FSMs or States
* Save FSM maps in external files, making them easier to change
* cross-platform compatibility
* extensible and customizable

Note that this is not a direct 1-to-1 conversion like strazer's, but a slightly different take on the same idea. If anyone would be interested in a full-blown replacement for the plugin (one that would allow you to remove the plugin and insert the script module without changing your existing code) please reply to this thread and I'll write it as an add-on.

Download here

The zip file includes the script module, documentation, an executable compiler (for those external files I mentioned), and c++ source for same.

There you go, hope you can use it,

HoN
#89
If it compiles okay for everyone else, I think we'll have to assume that it is something to do with my system, and not with AGS. (Although I find it very odd that it is happening on both my computers, as different as they are. I've even tried deleting AGS, doing a full registry clean, and reinstally it from scratch. Still crashed.)

Anyway, since it doesn't affect anyone else, and I can work around it easitly enough (by making each instance of the struct a part of an array, which I was most likely going to do eventually anyway), I'd say the problem can be set aside for now. Thanks to everyone for all the efforts, though.

HoN
#90
Nope, I still get the crash. I've tried it in a few different versions of AGS, on two different computers. Here's a link to a quick example game that'll crash for me:

http://www.freewebs.com/nortonian/crasher.zip

All I did here was create an empty game and put the offending code at the top of the global script (didn't even bother with the header). Just uncomment the "MyStruct thisStruct;" line.

Let's see if this makes any difference, or if it really does seem to just be me.

HoN

(Sidenote. I did have AGS 2.62 installed on both computers as well, in a different folder. Is there any way there could be some kind of conflict between them to cause the crash? I have noticed that I get the same list of "Recently edited games" whichever version I start (I assume because the list is stored in the registry...). Probably not, but I just thought I'd ask.)
#91
Aha! Found the problem (on my end, anyway) This error occurs when I declare an instance of the offending struct in the global script, ie. "MyStruct Here;". With this in mind, I tried it again in 2.62 and it crashed there as well, with the following error message:

Exception 0xC0000005 at EIP=0xC005FE163, AGSE v2.62.509

This would seem to be some sort of limit on the size of a variable (or instance of a struct, or whatever). Again, it compiles just fine if the two arrays or reduced to make their combined size under about 6-7 kb, but it crashes consistantly otherwise.

(If this is a known and/or deliberate limit in AGS, allow me to officially request it be increased. .. ;D)

Huh, that's funny. If I make the instance an array, it compiles just fine. eg. With the above struct declared in the header, if I make a single instance:
Code: ags

MyStruct ThisStruct;

It crashes, but if I make an array of it:
Code: ags

MyStruct ThisStruct[200];

then it compiles just fine.

HoN
#92
Yes, it happens every time, on that computer at least. I've just tried it on a different computer and it worked just fine. So, in all likelyhood, this is a hardware problem, though I have no idea what hardware problem could cause this. The one that gets the error is a PIII 750mHz with 512 MB of ram, about 3 gigs of free space, and WinXP.
Since you can't reproduce Rui's problem, could that be the answer for his issue as well?

Anyway, thanks for the help. I'll just have to develop the module on the other computer.

HoN
#93
Quote from: Rui "Brisby" Pires on Mon 06/06/2005 15:25:22
"We're sorry, the AGS editor has encountered a serious error (yadda yadda yadda) Exception 0x00000000 at EIP 0x00000000, AGSEDIT v2.71.605, SIP=26, please not the numbers above yayya-yadda-yadda."

I get the exact same error with a couple of large arrays in a struct, more detail in the other thread:

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=21191.msg258912#msg258912

HoN
#94
I now realize I probably should've specified that I am putting these arrays into a struct, in a script module. Not sure if that should make any difference, but..

I tried putting this code into the script header:

Code: ags

#define MAX_ONE 100
#define MAX_TWO 1000
#define MAX_ARRAY 100000  //MAX_ONE * MAX_TWO


struct MyStruct {
  char One[MAX_ONE];
  char TheOther[MAX_ARRAY];
};


(these are approximate, I'm on a different computer than I usually use.)

When I try to save the game, I get the following error message:
Exception 0x00000000 as EIP 0x00000000,
AGSEDIT v2.70.601, SIP=26)

Which I just noticed is the same error message that Rui keeps getting when he tries to delete his sprite folders (weird).

Through experimentation, I've discovered that this message only pops up if the two arrays combined are greater than 6 or 7 kb. However, just to see, I copied the above code into 2.62 and it compiles just fine. Also weird.

Anyway, that's what I've discovered. This new (apparently unintended) limit is smaller than I'd like, but larger than I'm likely to need. Thought you'd like to know about it.

HoN
#95
Advanced Technical Forum / Array size limit?
Mon 06/06/2005 02:02:08
Okay, I've tried searching through the archive but I haven't been to find an answer on this.
Is there currently a limit on the size of an array, either in the highest index or in total bytes? I'm currently working on a script module that will make use of some fair sized arrays, and will allow game authors to increase the size of thoses arrays if necesarry. I'm quite sure that the current limits (if any) are still more than enough, but I'd like to know for sure so I can include some error checking.

HoN
#96
Don't know if anyone's seen this yet.
Allegro Sprite Editor

It's an open source program intended for pixel art. It runs in a console in fullscreen only, so the interface is a bit inconvenient.  Otherwise it appears a fairly powerful little program, with layers, masks, and animation support, as well as more advanced palette editing. It even supports AGS's palette format natively (with a filename change, but that's better than most of the other programs I've tried).

I haven't tried it too much yet, but here it is for anyone else who's interested.

HoN
#97
Quote from: Pumaman on Mon 02/05/2005 18:56:18
* Auto-number speech lines now does DisplayAt and DisplayThought.

Just so you know, while this does work with DisplayThought, it does not work with charachter.Think. Those lines remain unnumbered when auto-numbering.

HoN
Quote
#98
General Discussion / Re: Back to the Future
Fri 18/03/2005 02:02:16
Quote from: Redwall on Wed 16/03/2005 22:52:42
13. Great Scott!

15. Yeah, this is heavy!

;D

HoN
#99
Quote
I can't help but do this (sorry Babar) - what about some old anime-ish cartoon where there were huge monsters that were slug-like in appearance? They weren't the enemy, though - in fact, I think they lived with humans in some sort of harmony. I have a half-clear image of the main character (female) "riding" one of them. ALso a "dark" cartoon, japanese style somewhat.

Could that be "Warriors of the Wind"? If so, that IS anime, from the same makers (Miyazaki & stuidio Ghibli) as "Princess Mononoke" and "Spirited Away". However, the version released in the '80s was a horribly edited down and chopped up version. Disney has JUST (as in, within the past couple weeks) rereleased a restored version under its original title "Nausicaa in the Valley of the Wind". (I think, I'm typing this from memory and I haven't actually seen it yet.)

And The Last Unicorn and The Secret of NIMH are my two all-time favorite cartoons. They can both still get me choked up when I watch 'em. [goes to find NiMH dvd.]

HoN
#100
Quote
Did you save the menu option ID and pass it back to RemoveMenuItem? (and you did call it RemoveMenuItem not Option, right?)

Heh, yeah I did. Like I wrote, I basically did a copy-and-paste from the tutorial (more to see if it works with my software, than to learn how to do it myself at this point). Here's the relevant code snippet from the PluginMain class:

Quote
Private menuOptionID As Long

Private Function AGSPlugin_EnablePlugin(ByVal pEditor As AGSEditor.ITheAGSEditor) As Boolean
    ' Save a reference to the editor for future use
    Set editor = pEditor
   
     Call editor.Menu(0).AddMenuItem("-", "")
     menuOptionID = editor.Menu(0).AddMenuItem("Extra Plugin Option", "Clicking this calls the plugin")
   
    ' Tell the editor everything is A-OK to continue
    AGSPlugin_EnablePlugin = True
End Function

Private Sub AGSPlugin_DisablePlugin()
    editor.Menu(0).RemoveMenuItem menuOptionID
End Sub

I've tried a couple variations with the RemoveMenuItem line, adding Call to the beginning and/or putting the menuOptionId in parenthesis, but it seems to make no difference whatsoever. I still get that error message (and it still otherwise seems to work fine).

Nevermind, I figured it out. I knew I had to be doing something n00bish. I remembered to declare menuOptionID at the top (so everything could use it) but forgot to declare the editor up there as well. When DisablePlugin got called, it tried to call editor.Menu(0).etc..., but editor was out of scope here.

Thanks for the quick reply, though.
HoN


SMF spam blocked by CleanTalk