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 - strazer

#2501
That's an excellent idea. Yes, I think that would be the best way.
#2502
Right, the volume would depend on the scaling factor of the character that is using the view the sounds are linked to.
#2503
All sound, music and voice files go in your game directory where your ac2game.dat is, not in the compiled directory.

Sounds: Will be included in the game.exe
Speech: Automatically compiled into speech.vox (optional speech pack)
Music: MIDI/MOD/XM/S3M included in the game.exe
         WAV/MP3/OGG compiled into music.vox (optional music pack)
#2504
If you assign (footstep) sounds to a character view, shouldn't they be less audible the farther he is away?
#2505
Internet Explorer doesn't support them natively, so that required a workaround. Should be working with IE 5.5 and up.

I have tested it with Internet Explorer 6 and Mozilla Firefox 0.8. I've read Opera has full PNG support too, so there should be no problems either.
#2506
I've found another problem.
Because it worked so nice last time, I've put together this demo game.

Basically, if you have region that is supposed to take the player to a new room when walked onto, but the player is currently following another character, the new room gets loaded but EGO is nowhere to be seen.
A few seconds later the game quits with
"Error: MoveCharacter: character not in current room".
#2507
Check out the 2nd demo. To me it looks awesome in both 800x600 and 1024x768.
#2508
Seems like that container frame is coming back to haunt you, CJ. :)

Joe, the forums are actually hosted on www.adventuregamestudio.co.uk, try to enter that in your browser settings.
#2509
Ok, thought so. Thanks.
Yes, game.viewport_width or something would be nice.
#2510
Entirely possible. As I said, it's a matter of how wide you create the montage.
This way there would be more games visible in higher resolutions but it still works in lower resolutions.

EDIT
Here's a demo with a quick & dirty combination of the montages posted in this thread: http://www.strazer.net/ags/website02.htm
#2511
QuoteNot really keen on how it repeats at a high resolution :/

Well, that's the whole idea.
It's just a matter of how wide you create the montage. It's better than the blue gap in the middle IMO.
In the demo I've used an old crappy version of the current montage that is not really optimized for tiling.
#2512
Is there a way to return the relative (320x200-scale) width and height of the screen?

I have a function that includes continously setting the viewport around a point that is moving about the room:
SetViewport(x3-160, y3-120);

I'd like to replace the 160 (320/2) and 120 (240/2) as to make the function resolution-independent, so it can easily be pasted into any project.
The game.room_height and game.room_width variables return the wrong values in scrolling rooms.

EDIT: Added in AGS v2.61 RC 1: New variables system.viewport_width and system.viewport_height. Thank you!
#2513
I wasn't quite satisfied with the WaitMouseKey thing, so here's a "non-blocking" way:
Global script

// top of script

int doubleclick=-1; // stores mouse double-click status

// end of script

export doubleclick; // export variable for import in script header

Script header

import int doubleclick; // make double-click status available to room scripts as well

on_mouse_click

// top of function preferrably

  if (IsTimerExpired(TIMERNUMBERHERE)) // user failed to click twice within the specified timeframe
   doubleclick = 0; // register single click
  else { // user clicked twice within the specified timeframe
   if (doubleclick == 0) // only if preceded by a single click (remove this if you want)
      doubleclick = 1; // register double click
  }
  SetTimer(TIMERNUMBERHERE, GetGameSpeed()/4); // set timer to wait 250ms for second click

Replace TIMERNUMBERHERE with the number of the timer you want to use as the double-click timeout timer, for example 1 if you don't use that already.

The variable doubleclick is now available throughout your game, so you can check it in all further scripts, including the rest of your on_mouse_click function for example:
on_mouse_click

  // script from above
  ...
  if (button == LEFT) {
   if (doubleclick) {
      // do double-click stuff here
   }
   else {
      // do single-click stuff, for example:
      ProcessClick(mouse.x,mouse.y,GetCursorMode());
   }
  ...

Drawbacks:
- the First Click of your entire game won't be registered as a double-click.  :o
- the first click of a double click is being registered as a single click :-\
#2514
StopDialog();  :P
#2515
I'd have to go with The Archer: Fugitive from the Empire aka The Archer and the Sorceress.
I loved this movie as a kid and I managed to obtain a VHS copy via eBay a few years back. It's pretty cheesy of course, but the snake men still rock!

Follow-ups, some more lame than others, but all childhood favorites:

The Ice Pirates - Gotta love the kung-fu robots! Now where's the DVD already??
Enter the Game of Death - Definitely the best Bruce Lee clone movie of them all!
House
Enemy Mine
Innerspace
Krull
Labyrinth
Legend
and many, many more...

*Sigh*, those were the days...
#2517
I have determined that 27 of the first 31 characters could be used for replacing the special characters.

For my font, I decided to use the following:
Ã,,äáâà ãÇçëéêèïíîÃ'ñÖöóôàŸÜüúûù

This covers the following languages:
- English
- Spanish
- Portuguese (or is uppercase àÆ' needed?)
- German
- French
- Finnish
- ...?

Unfortunately, I have just realized that there's no way to treat dialog lines with the conversion function. :P
So it seems the whole thing won't work after all...Sorry guys. :(
#2518
Assuming you started off the default game, your on_key_press function should look something like

function on_key_press(int keycode) {
 // called when a key is pressed. keycode holds the key's ASCII code
 if (IsGamePaused() == 1) keycode=0;  // game paused, so don't react to keypresses
 if (keycode==17)  QuitGame(1);   // Ctrl-Q
 if (keycode==363) SaveGameDialog();   // F5
 if (keycode==365) RestoreGameDialog();  // F7
 if (keycode==367) RestartGame();  // F9
 if (keycode == 368) StopMusic();  // F10
 if (keycode==434) SaveScreenShot("scrnshot.bmp");  // F12
 if (keycode==9)   show_inventory_window();  // Tab, show inventory

 if (keycode==19)  Debug(0,0);  // Ctrl-S, give all inventory
 if (keycode==22)  Debug(1,0);  // Ctrl-V, version
 if (keycode==1)   Debug(2,0);  // Ctrl-A, show walkable areas
 if (keycode==24)  Debug(3,0);  // Ctrl-X, teleport to room
}

Put the line where I marked it red.
#2519
Yes, just put this in your global on_key_press function:

if (keycode == 368) StopMusic();
#2520
In which function did you put it?
SMF spam blocked by CleanTalk