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

Topics - Radiant

#81
I'm told that many modern virus scanners do a full scan of any executable whenever it's opened; and I know that AGS (by default) stores all its sprites, room files, and sound effects in the main executable. This could be an issue, at least hypothetically, causing system slow down if a 50 to 100 megabyte exe is virus scanned whenever the player switches rooms.

But I don't personally have this issue. I wonder if some of the people who've worked on big games have heard reports about this? Or is it simply not a big deal because virus scanners are fast enough? Thanks!
#82
AGS has functions that let you read and write from files in the game's default folder. According to the manual, these might not work in vista because the user might not have access there? I don't personally run vista (I have win7) but perhaps someone has experience with this, or perhaps this is also an issue on other OS's? What I'm basically trying to do is keep a high score table in a "hiscore.dat" file that I'm creating myself, so I'd need read and write access to it.
#83
Minor thing: if I understand correctly, then FillSaveGameList() fills SaveGameSlots[] which is an array of up to 50 entries; whereas ListBoxSaveGameList() fills savegameindex[] which is an array of up to 20 entries. This is not that big a deal, but the manual specifies 50, and using the latter method with more than 20 saved games causes an array out of bounds exception.

#84
Is it possible to set the alignment (left/right/center) of a GUI label at runtime?
#85
Something that would be nice to have in the setup program: "Autodetect Nearest Neighbor Filter". When selected and the game is run, this would look at the user's current screen resolution, and pick the largest multiple for the filter that fits on the screen.

For instance, if the game runs in 320x200, then normally you could pick "x2" "x3" "x4" and so forth; if you'd pick autodetect, and the screen resolution is 1024x768, then it would use the x3 filter because that still fits on the screen and x4 would not. If the user changes resolution to 1600x1200 and starts the game again, it would become the x5 filter. The same could apply to other filters, of course.

Would this be feasible to implement? This may be tricky for full-screen as you'd have to enumerate the possible resolutions for the monitor, but in windowed mode it sounds pretty straightforward.
#86
The following causes AGS to hang:

ObjectOff     (1);
SetObjectView (1, 10);
AnimateObject (1, 5, 6, 0);
while (IsObjectAnimating (1)) Wait (1);

Simply put, if an object is set to animate but it's off, then (1) the animation never proceeds, but (2) IsObjectAnimating returns true. I'm not sure if this counts as a bug, but I think it should at least generate a warning in the logfile that you're trying to animate an object that's not on. Thoughts please?

http://www.adventuregamestudio.co.uk/forums/index.php?issue=509.0
#87
The game I'm working on has a speed slider that allows the player to SetGameSpeed from 30 to 100. However, at higher speeds, portrait animation starts to look odd, and it has been suggested to me to keep the portrait animation speed constant even as the game speed changes. I believe this is possible by setting game.talkanim_speed to a value dependent on game speed.

However, I'm not sure how talkanim_speed actually works, and the manual doesn't specify. Can someone make a suggestion on how to do this properly? Thanks!
#88
If a GUI like an icon bar is displayed at the top of the screen, then speech portraits will be moved down from their normal position so as not to overlap with this GUI. But this doesn't seem to happen with every GUI, and I'm unclear what the distinction is that causes the portraits to move down.

In short: how do I disable this? I would like to have the portraits always appear in the same position regardless of whether a particular top-of-the-screen GUI is enabled or not.
#89
How do I detect the mousewheel being used over a GUI? The normal method (on_mouse_click) doesn't register on GUIs, and the variant (on_event eEventGUIMouseDown) doesn't seem to offer a way to detect which way the mousewheel is turned.
#90
I've found that, on a room with thin walkable areas in a W shape, if the player character stands in the top left point and is given a Walk command to the top right point (typically by clicking the walk cursor there), the expected behavior would be to create a rather long and roundabout path, since there's no shortcut in the walkable areas.

However, if this path becomes too long, the pathfinding algorithm appears to give up, and just moves the character to somewhere in the middle; it requires multiple MoveCharacter calls in sequence to get him to his destination. This is understandable because lengthier pathfinding would cause the game to slow down; however is there some in-game way to tweak this, e.g. set the cutoff point higher in certain convoluted rooms?
#91
For some reason I don't have the right to view issues on the bug tracker here. I'm told this has something to do with my status as AGS Baker.
#92
A minor issue, but currently, music and sound and ambient volume is set with Game.SetAudioTypeVolume on a scale of 0-100, whereas speech volume is set with SetSpeechVolume on a scale of 0-255. I would expect an eAudioTypeSpeech parameter instead.

It is not listed in the documentation what the default of SetAudioTypeVolume is; is it 100? This is relevant for initializing the corresponding GUI sliders properly.
#93
When a character is speaking and has a voice pack, then skipping forward through this conversation (by rapidly clicking the mouse button to go to the next line) may cause music to jitter. Has anyone had this issue in the past, and know how to deal with it? AGS3.2.1 running in 32-bit mode; I've seen the suggestion in earlier threads that switching to 16-bit may resolve the issue, but running 16-bit has other issues on contemporary systems.
#94
Might as well bring this up here. For some reason, if the last key you've pressed is CONTROL (or control + any letter), then pressing ESCAPE doesn't register to on_key_press. If you press any other key first, it's fine. Not a big deal but it's a bug, especially since esc tends to be used for skipping cutscenes.

http://www.adventuregamestudio.co.uk/forums/index.php?issue=378.0
#95
I can't seem to find the function to change the color of dialog options on the (custom) dialog screen. I'm sure it's possible to change this from the default white (and red for mouseover)?
#96
General Discussion / Graduation!
Thu 19/09/2013 16:43:46
Radiant is now an MBA :)

#97
A minor issue is that, if you use a custom dialog window, clicking besides this window has the same effect as clicking in the window on the same Y coordinate.

(edit) moved to bugtracker, http://www.adventuregamestudio.co.uk/forums/index.php?issue=435
#98
Is there a way to know in code (from repeatedly_execute_always) whether the Wait cursor is visible? If another script is running to e.g. move the player around, then the wait cursor will be shown but GetCursorMode() still returns the active cursor mode.
#99
I have a feature request for the dialog system that I hope should be fairly easy to implement.

Websites traditionally have three colors for links: normal (default), active (mouseover), and visited (when you've clicked on the link before). Currently, dialogs in AGS use the first two, but not the third. This means that in a large conversation tree, it is possible for the player to lose track of which dialog options he's already seen, and which he hasn't.

Therefore, I suggest to add a boolean to the class for dialog options, that specifies whether this option has been clicked on. It starts at false, and becomes true when the player first clicks on the option. It would be nice to add a function Dialog.SetOptionVisited (int option, bool visited) so that the programmer can do this manually, to 'reset' dialog options when they would generate more text.

Then, within the new class Speech, add a variable Speech.VisitedColor. Dialog options for which the boolean 'visited' is true are displayed in this color rather than the normal text color, and when the mouse is over the option they are shown in the highlit color exactly as they are now. Of course, VisitedColor should default to the normal text color so that programmers that don't use this functionality aren't surprised by it.
#100
On restoring a saved game, I got the following crash dump: http://crystalshard.net/test/CrashInfo.3.21.1115.dmp

An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x00425435 ; program pointer is +6, ACI version 3.21.1115, gtags (9,4)
AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and post the details on the AGS Technical Forum.
in "GlobalScript.asc", line 2812
An error file CrashInfo.dmp has been created. You may be asked to upload this file when reporting this problem on the AGS Forums. (code 0)

Restoring the game triggers the on_event(eEventRestoreGame) function, which does
Code: ags

    if (IsSpeechVoxAvailable ()) gui[CONTROLS].Controls[16].AsSlider.Max = 255;
    else                         gui[CONTROLS].Controls[16].AsSlider.Max = 0;
    GUIOff           (SAVEGAME);
    GUIOff           (CONTROLS);
    if (here > 2)
      SetCursorMode  (eModeWalkto);
    else ReadRecords ();
    SetDefaultCursor ();
    SeekMP3PosMillis (0);
    i = player.inv[CurseRing];
    WriteRecords     (0);
    if (i == 0 && player.inv[CurseRing]) invwarn = 2;
    overlay = 0;

SMF spam blocked by CleanTalk