Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.


Messages - monkey_05_06

Pages: [1] 2 3 ... 303
1
I have been immature and irresponsible around the forums lately. In some way, I've done it intentionally to help myself reach the decisions that I need to make.

I don't mean to make excuses. I'm not upset at anyone here. No one has done anything wrong for me to be upset about. I don't hold any hard feelings. I did, but... It's in the past.

Well, I guess what I'm trying to say is pretty much summed up here:

https://sites.google.com/site/monkey0506/home

I went through my site on X10Hosting.com, my Google sites, and my local HDD to compile the list of files. I sincerely hope that it helps, and if it doesn't, well it was a fun ride anyway. :)

I apologize that I cannot be responsible enough to update my own links, but if anyone sees links to any of these files go dead, please refer to this link. Also, if it's not on this link then I don't have a current copy of it (except the IWWHIIWWHI... game and the OSD-OCD source, both of which are too large to upload to Google).

Thanks for reading. I'll be back, eventually. :)

-monkey

2
The Rumpus Room / Re: Everything pisses me off.
« on: 26 Feb 2013, 04:08 »
The more people like Calin Leafshade and Armageddon reply wrongly to these threads the more I want to keep pushing.

Don't you people know the first freaking rule about trolls on the Interweb? FFS.

3
The debugger in AGS was a relatively recent addition (compared to some other outstanding issues) (meaning, no, the debugger doesn't allow that yet). Typically I will use GUI Labels with their text assigned a formatted string (String.Format) in repeatedly_execute for this purpose.

Display and even AbortGame can also be useful, depending on what you need to know.

4
The Rumpus Room / Re: Everything pisses me off.
« on: 23 Feb 2013, 09:56 »
I still have a lot of unresolved emotional baggage relating to my revelation that I have failed to make the impact in this community that I would have liked to have had, and furthermore that the impact I have had may in many ways have contributed to the lackluster state thereof.

I came here because I wanted to be cool. I wanted to be Ron freaking Gilbert. I lost my way. During this transitory phase, I know I will piss a lot of people off. I just need an opportunity to say what's on my mind or else I'm never going to find my way back to where I wanted to be in the first place.

I'm bitter. Not quite angry. Just... bitter.

5
The Rumpus Room / Everything pisses me off.
« on: 23 Feb 2013, 09:29 »
Wouldn't it be nice if you could create an adventure game which you could play in the comfort of your own home on your PC, while waiting at a doctor's office on your Android phone, and while sitting on the toilet with your iPad? And you could even share your save game files between devices?

Thanks to JJS you can do that.

But, adventure games that are designed for PC generally aren't designed with those touch-screen thingies in mind. The interfaces are often awkward (or sometimes downright "impossible*") to handle when they were "made for PC".

Wouldn't it be amazing if you, as the developer, could design your game to fit the needs of the player? The needs of the PC player, the mobile device player, and the tablet device player can vary drastically. So how could one possibly appeal to everyone? You can't! :D

What could be done is that with a single line of code, the interface could be swapped out just-in-time to fit the user's needs. If the player is on a mobile device, you could load your touch-centric interface, while if they're back on the trusty old Compy 386 you could load your full, robust interface using the F-buttons and such.

That sounds terribly complicated and difficult, having to design multiple interfaces, and then make sure they don't interfere with each other. The truth of the matter is, designing multiple interfaces with these portability needs in mind is actually much simpler even than creating a single static interface from scratch.

Fortunately for you, however, everything here pisses me off. So I won't keep rambling.

*DISCLAIMER: Nothing is impossible.1

1DISCLAIMER: It is, in fact, possible to accomplish nothing. Therefore, nothing is not actually impossible.

6
Funny thought, but the ahem other verb coin module actually allows you to handle single-clicks simply by setting the property Verbcoin.DefaultMode. In this situation you could store the existing default mode in a temporary when entering the hotspot, change it, and then restore it from the temporary when leaving the hotspot. All without having to get your hands dirty by editing the module code.

My hat's off to anyone willing to pour through the disgusting filth that is the source of the distributed template to try and make customizations though.

7
Engine Development / Re: PNG alpha channel problems
« on: 19 Feb 2013, 20:20 »
No, Khris is right. Please don't post wrong answers when the right answer has been given (7 hours ago previously! It's not like you didn't see the post...). It makes people hate you.

Personally I think it's a bug in AGS that the GUI background should have to be 32-bit with alpha channel in order for GUIControls on the GUI to have alpha transparent sprites, but that is the correct way of making it work ATM.

8
You would have to use the custom dialog option rendering methods, at which point it may just be easier to use abstauber's module. Of course, being the prick I am, I'll note that his module is coded rather sloppily IMO.

Custom rendering isn't difficult, the manual includes some basic but perfectly functional code to get you started. As for the actual scrolling part, there's a method such as dialog_options_on_click (or some such) that is called when you click on the dialog area when there is no active option. Then you just check the mouse coordinates to see if it is over an arrow, and set the option state appropriately.

9
The Rumpus Room / This seems legit.
« on: 18 Feb 2013, 20:29 »
I'm posting this in the Rumpus Room simply because I'm on my phone and too lazy to make the post worthwhile.

For years (more than a decade) I have known with absolute certainty that I wanted to make a career out of game programming. I'm starting a new job, and I'm wondering if I should pursue a career in the field of mental health.

I'll see how I feel six months from now.

10
The link has been updated. Host removed the "ing" suffix from the main domain my site is hosted under (although they still own both domains).

11
This belongs in Engine Development. The only thing that would change for this on the editor-side would be the internal script header.

12
Editor Development / Re: Improving AGS manual
« on: 07 Feb 2013, 21:52 »
I believe that the engine itself will now use 50 as the "standard" slots (the ones that can be populated by ListBox.FillSaveGameList), but you should be able to save up to at least 998 unique slots from 1-998. Slot 999 is reserved by the engine for the reset game position. I'm not certain that slot numbers 1000+ are valid. I agree that this is one of the entries that was unfortunately not properly maintained. The best route (IMO) would be to stop relying on static maximums and have FillSaveGameList and other associated functions work directly on the existing save files instead.

13
General Discussion / Re: Free Steam keys!
« on: 07 Feb 2013, 21:46 »
I think the term "double post" in so far as, "it is against the rules to double post" doesn't apply when your last post was in response to an off-topic tangent, your current post was (relatively) on-topic (arguably, it wasn't a "Steam" key), and there was more than 5 months between posts. Of course I'm not a moderator.

Speaking of off-topic tangents though...

14
Arrays (including arrays of pointers) in AGS have to be exported from the script in order to be imported in the header. The proper syntax for this is:

Code: Adventure Game Studio
  1. // Script.asc
  2.  
  3. AudioChannel *music_channels[2];
  4. export music_channels;
  5.  
  6. // Script.ash
  7.  
  8. import AudioChannel *music_channels[2];

Also, CW very sensibly named the array "music_channels" but then very foolishly omitted the s throughout the rest of his example code, which you've clearly just copied and pasted. You can name the array whatever you want, but you'll have to access it by the same name (meaning, either rename the array and the import, or change the usages in room and other scripts).

15
I just want it to be in my vintage collection because I'm a crazy vintage and retro dos games collector. I have no intention at all to actually run this software.

That's what I gathered, but from a business standpoint taking your money makes no sense. (roll)

@Fitz: I was under the impression that the latest versions of iTunes implemented some form of cloud by which if you were signed into your iTunes Store account that you could download any of your content that was missing from that system... I've had to redownload a couple of tracks myself because about 1 out of 4 or 5 songs I've downloaded has been corrupted by the time I get it (I could blame the poor connection, but I never have that issue with torrents, so it seems to be at least partially software related).

16
That's because Electroshokker is a lazy jerk. :P

ASH and ASC files are just plain-text files. You can open them in Notepad. Then create a new script in your game, and copy the ASH file into your script's ASH, and the ASC file into your script's ASC. For your own convenience you could then right-click on that script and export it for easier importing into other projects.

17
I usually include a documentation file (typically "XXX_Manual.txt") in the RAR archives I upload. The latest version (v3.5) is only compatible with AGS 3.2+ because it uses the new audio system. The link for the module v3.0 is also valid for AGS versions 3.1, 3.1.1, and 3.1.2. Both include in the RAR archive the file "QueuedSpeech_Manual.txt" which documents usage.

Just as a brief example though, of a queued background conversation:

Code: Adventure Game Studio
  1. function room_AfterFadein()
  2. {
  3.   cSweet.SayQueued("any cake a pound");
  4.   cTax.SayQueued("mumble mumble mumble");
  5.   cSweet.SayQueued("any bag of crisps a pound");
  6.   cTax.SayQueued("grumble grumble grumble");
  7.   cSweet.SayQueued("these fruit cakes are made by a well known shop, i'm not allowed to say sparks and darts");
  8.   cTax.SayQueued("thrumble dumble crumble");
  9. }

Note that this is very different from what you're doing in your original example in that this will simply run through the lines with each character taking a turn speaking (such as one might generally expect in a conversation).

Integrating the module into your original concept with the characters walking (randomly) to predestined points would look rather different:

Code: Adventure Game Studio
  1. function room_Load()
  2. {
  3.   SetTimer(1, 400);
  4. }
  5.  
  6. function room_RepExec()
  7. {
  8.   if (IsTimerExpired(1))
  9.   {
  10.     SetTimer(1, 300);
  11.     int i = Random(12);
  12.     if (i % 2) // i is an odd number
  13.     {
  14.       if (!QueuedSpeech.IsQueueEmpty()) i--; // there is already background speech displayed that hasn't expired yet, do a walk instead
  15.       else // no background speech displayed, show some
  16.       {
  17.         if (i == 1) cSweet.SayQueued("any cake a pound");
  18.         else if (i == 3) cSweet.SayQueued("any bag of crisps a pound");
  19.         else if (i == 5) cSweet.SayQueued("these fruit cakes are made by a well known shop, i'm not allowed to say sparks and darts");
  20.         else if (i == 7) cTax.SayQueued("mumble mumble mumble");
  21.         else if (i == 9) cTax.SayQueued("grumble grumble grumble");
  22.         else if (i == 11) cTax.SayQueued("thrumble dumble crumble");
  23.         return; // ignore the rest of this function
  24.       }
  25.     }
  26.     // i is an even number, but we don't use else in case we modified the value of i above
  27.     if (i == 0) cSweet.Walk(420, 438, eNoBlock, eWalkableAreas);
  28.     else if (i == 2) cSweet.Walk(317, 464, eBlock, eWalkableAreas); // is this intentionally eBlock?
  29.     else if (i == 4) cSweet.Walk(200, 485, eNoBlock, eWalkableAreas);
  30.     else if (i == 6) cTax.Walk(656, 504, eNoBlock, eWalkableAreas);
  31.     else if (i == 8) cTax.Walk(463, 504,  eBlock, eWalkableAreas); // this one too?
  32.     else if (i == 10) cTax.Walk(697, 516, eNoBlock, eWalkableAreas);
  33.   }
  34. }

Presumably (from your first post) you don't specifically need multiple characters speaking in the background simultaneously, and the QueuedSpeech module does not support that. This example code specifically avoids that issue by diverting to a Walk statement if background speech is already displayed.

18
I'm actually curious about the MP3 situation. I know that due to DRM a lot of downloadable media licenses have become ridiculously restrictive. If it were a physical CD then it would be a straightforward matter of having someone forward the disc (including the little insert with the licensing info), but in order to try and maintain some theoretical death grip on the content we're stuck with DRM on our legal downloads. As if the DRM prevents anyone from downloading a DRM-free copy from The Pirate Bay (which ironically enough I think may be down again for a bit, :D).

Regarding your software though Arj0n, I am certain there is no conceivable way that you could have purchased hardware and/or software that would allow a 20 year old program to run in your crazy, backwards, un-Amerikaan country of yours.

When I helped out strazer he was getting a Blu-Ray replaced from Sony directly (I don't remember why, but there was some defect in some of the production discs or something), but they wouldn't ship the replacement outside of the U.S. "Yes, we're terribly sorry that your movie that you legally purchased is completely bunk due to our error, but you're not American so... Yeah." In the end the shipping cost to send it overseas to him was negligible in comparison to sending it elsewhere in the U.S. They can try and fight the global economy all they want, but it's gonna happen. Says so in the Bible. :P

19
Yes, sorry, I should have linked to it. Thanks Khris. :)

Edit: I saw that you had posted in Electroshokker's thread for his background speech module. Just to clarify what you're looking for, are you wanting to create a queue of background speech (e.g., a conversation going on in the background)? Electroshokker's module does not queue the background speech, so if you call the function twice in a row on the same character then only the latter will be displayed. However, mine and SSH's modules don't allow multiple characters speaking in the background at once. So what exactly do you need to do?

20
Bump for new version. In case anybody cares.

As for the transparency issue, as far as I can tell it's only related to fonts with anti-aliasing. From what the manual has to say on the "transparent" parameter for Overlay.CreateGraphical, it doesn't seem a viable "bug-fix" but if anyone confirms and lets me know then I'll swap out the line.

Regarding "walking and talking", I'm not sure what the intended purpose was, but the Overlay will not follow characters around the room. I imagine that would be relatively simple to implement if anyone needs it, so again feel free to let me know.

Pages: [1] 2 3 ... 303