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 - Crimson Wizard

#841
Quote from: MoonBird on Sat 16/11/2024 19:38:12As for the Sphonx issue, I'm playing a full version of the game. Did not try the demo yet. I have tried almost everything I can think of, I've exhausted tens of different configuration combinations, deleted the cfg files and saves, and even all files and unzipped them from the original package again. Nothing helps.

How much is it in disk size? Would you be able to upload it somewhere, like googledrive or similar file hosting, and send me a link via PM?

Idk what the price is, but I don't like buying games which i don't play myself and only test engine on...
#842
Quote from: MoonBird on Sat 16/11/2024 16:21:11Sphonx
The game softlocks after the first scene, in the sleeping chambers. Mouse is movable, but hotspots do not occur. Menu can be called but not interacted with.

First of all, is it the "demo" of this game you are playing, or a full game? The download link from AGS database is for the demo, so I have to clarify this.

Second, I cannot reproduce the problem... could you double check what is happening?
#843
Quote from: MoonBird on Sat 16/11/2024 17:31:34How about that resolution thing with black bars on top and bottom in some games? Is there a way to stretch them to whole screen? Settings don't do it even if there are adjustments to that.

Which games for example?

In older versions of AGS there has been a setting called "letterbox" mode, where game would display 320x200 scenes in a 320x240 frame. That's done "by design" and cannot be changed, at least not easily, as the same game in theory may have both 320x200 and 320x240 scenes, and switch between them; and engine cannot know that beforehand, so it has to assume 320x240 game when displaying a window.
#844
Quote from: MoonBird on Wed 13/11/2024 14:22:35Off The Clock
The subtitles do not appear correctly when running through acwin.exe. Only small upper part of them can be seen. This is not fixable by changing graphic output or any other settings.

This game uses a variant of "SpriteFont" plugin that can no longer be reliably supported by the engine.

This may be only fixed by replacing the "agsplugin.spritefont.dll" in the game dir.

I've uploaded an archive containing a collection of 3 variants of plugins which are fixed to work with contemporary engine:
https://www.dropbox.com/scl/fi/dus50yra6bcfjyza25nov/ags-spritefont-collection.zip?rlkey=9thelubpjplm5iwgy1lwrqxkt&st=rcngkcwp&dl=0

This contains variants:
1. classic
2. clifftop games (it's called so because "Clifftop Games" devs have created an extended plugin)
3. autodetect (tries to detect if the game needs classic or clifftop games variant, but it's not 100% reliable)

For "Off The Clock" game you need "clifftop games" variant. For any other game that uses this plugin and has similar problem, try each on of them until you find one that works.

IMPORTANT: plugin file may be called slightly differently in other game distributions. If game has it under a different name, then rename the one from archive to have a match.



QuoteAll The Way Down
Subtitles don't appear correctly. They go on top of each other. Developer logo doesn't show at the start

This uses spritefont plugin too, so same solution applies.
The developer logo does appear, although it's strangely more pixelated compared to when running an original game exe.

QuoteXmas Nightmare
The game doesn't start through acwin.exe at all. Normal exe works okay, but there is of course auto-advancing subtitles.

This uses superior version of the engine (early AGS 4). You may find that out in winsetup, or in game if you press Ctrl + Alt + V.
The build that I send only runs games made with 3.6.2 and below.
#845
Quote from: eri0o on Fri 15/11/2024 21:24:42But I couldn't test because there is a bug in the in-draft PR. If you just load a new game from a Sierra Template you will see you can save things (they appear in Saved Games) but they don't appear in the GUI - so the thing that would fill the listbox appears to have the bug too.

This was a problem with saving a game, description and screenshot image were lost somewhere in the process.
#846
Quote from: eri0o on Fri 15/11/2024 20:57:59I tried the build from the CI to check that if I call it in game start when the event would trigger - I guess if you have a scene in After fadein it would run either before or after but not during - which is alright but I was curious

I'm sorry, i don't understand this sentence.
#847
I made another temp update to 3.2.2, found a bug where the tabbed winsetup could reset advanced config settings to unexpected values when saving, unless you opened these tabs during setup.

Most noteable case is that it keeps disabling audio in config (not only annoying, but may cause some games to have errors in script).

Download link:
https://cirrus-ci.com/task/6436769841807360
#848
Quote from: MoonBird on Fri 15/11/2024 08:20:40Lightning animation at the menu start doesn't appear. Game logo is completely white while it should be colorful.

"Terror of the Vampire" is a 8-bit (palette-based) game. Such games currently do not have an accurate display with Direct3D and OpenGL renderers. I suggest using Software renderer for such games instead.
(may be selected in the new engine if you run "acwin.exe --setup" from the command line)
#849
I've already posted this information about MIDI earlier, in regards to another game. Yes, it's not "dropped", it requires additional installed data to work.

Once you install these files on your PC, that should affect all AGS games which use MIDI (when running with the newer engine).
#850
Quote from: eri0o on Fri 15/11/2024 03:05:07CW, you backported Length, so in 3.6.2 one can check the array Length property too. So it could use a prescan_slots.Length in that for clause.

Yes that's true, I did not mention Length in this example, because it is not reported as official feature yet.

The "data" arg may be used for another thing, passing a custom user parameter, if they need to distinguish different Scan calls. As you cannot receive the array itself as event argument with this existing callback.

Quote from: eri0o on Fri 15/11/2024 03:05:07Edit2: I think this function can replace the need to have hidden a listbox to retrieve the save slots if you are rendering your save/load GUI using something else, perhaps by even supporting FileSortStyle and SortDirection - but maybe this makes this too complicated. Just random idea.

No that's also true, and may be added, I realized that after committing.
In theory one could get necessary information for sorting using script commands, but then we don't have a sorting function in api, so one would also have to write one... which is going to be an extra complication for a user.
#851
I possibly forgot to mention that the above solution has been merged to a WIP 3.6.2 branch (not yet a part of official release, but will be in time).

Next step, I am drafting a feature that prescans saves. The idea is that besides fixing a save after restoring is complete, a user might want to know whether a save may be restored successfully beforehand. Because a failure to restore usually forces game to close, or display a message which is not clear to user.

Following is a draft PR:
https://github.com/adventuregamestudio/ags/pull/2579
Download link:
https://cirrus-ci.com/task/5978139342405632

Explanation:

There's a new function declared as:
Code: ags
static void Game.ScanSaveSlots(int valid_slots_dest[], int min_slot, int max_slot.
    FileSortStyle fileSortStyle = eFileSort_None, SortDirection sortDirection = eSortNoDirection, int user_param = 0

Game.ScanSaveSlots() runs a prescan over a range of slots, checks them for validity and compatibility using all available means (including calling "validate_restored_save" callback in script, if one is available), then fills the provided destination array with found valid slot numbers. Array's length is taken into account, limiting number of slots that may be stored there. Any remaining array elements are initialized with -1 - this is to help user to determine that no more slots have been found.

Notes:

1. Because save validation may require to run "validate_restored_save" callback in script, the scan process may only be performed post-script (similar to functions like SaveGameSlot, RestoreGameSlot, etc). The scanning action is not executed immediately, but scheduled to run after the current script is done.

2. User is reported about the completion of scanning by sending a `eEventSavesScanComplete` event, which may be handled in a "on_event" script callback. "user_param" is an optional argument in ScanSaveSlots, which is sent along with eEventSavesScanComplete, and lets distinguish multiple calls to ScanSaveSlots.

3. Managed array is "safeguarded" by this function by adding a hidden internal reference to it, so it won't get destroyed from memory even if user makes a mistake and resets the pointer in script. But naturally, if you lost this array before on_event, that is going to be your problem.

4. "validate_restored_save" callback may be run as many times as there are saves found. User may find which slot is tested using `RestoredSaveInfo.Slot` property.

5. In case "validate_restored_save" is present, scanning process will use the resulting "RestoredSaveInfo.Cancel" property value to know whether to add this slot to destination array or not.



Example of script:
Code: ags
int prescan_slots[];

function on_key_press(eKeyCode keycode, int mod)
{
  if (keycode == eKeyP)
  {
    gScanSaves.Visible = true;
    prescan_slots = new int[100];
    Game.ScanSaveSlots(prescan_slots, 0, 100);
  }
}

function on_event(EventType evt, int data)
{
  if (evt == eEventSavesScanComplete)
  {
    for (int i = 0; i < 100; i++)
    {
      if (prescan_slots[i] < 0)
        break; // no more valid slots

      String s = Game.GetSaveSlotDescription(prescan_slots[i]);
      if (s != null)
        listSaves.AddItem(s);
    }
  }
}
#852
An updated 3.2.2 temp build, having almost all of the reported problems fixed:
https://cirrus-ci.com/task/4747560278032384
https://cirrus-ci.com/task/6436769841807360

(I think i haven't touch only the fonts problem)
#853
Quote from: Snarky on Thu 14/11/2024 20:27:51Note that for this to display correctly without artifacts, it will often require quite high monitor resolutions. For example, to properly render a 5:6 pixel aspect ratio for a 320x200 game, you need at least a 1200 vertical resolution monitor

What does "properly render" mean in this context?

In above user's example this is going to be 320x200 displayed as 320x240. 320x240 game may be displayed with up to x4 scaling if using integer multiplier, either in a window, or with some black borders around it in 1920x1080 fullscreen.

EDIT: also it looks like there's a confusion about ratio. Elvisish sais "6:5" ratio, you say "5:6". But 320x240 is 4:3 ratio, is not it?
Linked wikipedia article on 13h mode also mentions 4:3.
#854
Quote from: eri0o on Thu 14/11/2024 19:33:02There is a thread on this previously, if you want it right now it's possible by resizing the viewport.

https://www.adventuregamestudio.co.uk/forums/editor-development/feature-request-agi-21-aspect-ratio-support/msg636663951/#msg636663951


I've mentioned this to the user previously, when we spoke on Discord.
But that's only for rooms, the rest of the game will have to be adjusted by hand, which is less convenient.
#855
So, previously I thought about this a little, and it seems like this may be done in a following way:

1. The game has 2 resolution settings: logical resolution and, say, "visual resolution". "Visual resolution" is optional, and if not set then it's treated as equal to logical resolution.

2. In the Editor, the game is created in logical resolution. Optionally we might make game previews show "visual res" too, but in the current state of this program that's going to be significantly more work, and affect a number of different panes (room editor, gui editor, and who knows what else), so I'd separate that out.

3. At runtime, all the game logic is run in logical resolution. The game simply does not "know" about visual one. (well, that does not mean that we cannot read this property in script, but rather that it does not affect any coordinates in game or script).

4. There's a concept of a "main game viewport", right now it's rather a formality, but in theory we may use this in order to transform the whole game image additionally, before final filter scaling is applied (the one that scales the game frame to the fullscreen/window resolution).

So, the game visual transformation chain would look like:

Code: ags
 [ whole game drawn in native logical resolution ] 
    |
    | - full-game viewport scaling
    V
 [ game frame using native visual resolution ]
    |
    | - graphics filter
    V
 [ display game in window ]


We might even change the position of "engine layer", like FPS counter, in this chain, and place it after first transformation, so that they render unstretched.
#856
Quote from: MoonBird on Thu 14/11/2024 17:24:02There is no workaround through any settings. It always does this. There is something wrong with this game in general, because it doesn't run properly even from original exe. It just stops responding with a black screen and music on.

Hmmm.... but this Stargate Adventure is marked as the winner in AGS Awards, so it worked at some point...

In the comments section the people note that they had some issues with the AVI intro video. Have you tried pressing Escape during the black screen at start?

Note that AGS does not support playing AVIs since v3.6.0 (maybe temporary), so it will not play in 3.6.2 anyway (the video will be simply skipped), unless you convert these avi files found in a game folder to ogvs.
#857
Note that Spacebar is used for the panning in the room editor. Although a need to pan or zoom may be a less of a necessity for GUI, but I'd propose we should plan consistent zoom/pan controls in all the editors that edit a "graphical scene".
(...which reminds me, that gui editor still does not support same zoom-into-mouse mechanic as the room editor, nor vertical/horizontal scroll controls.
maybe we should make this consistent.)

EDIT: F2 key is traditionally meant for "edit field" command, applied for lists and tables and alike. For instance, i used it in the Watch Panel to start editing the list item, and it is also used to edit item names in the project explorer.

EDIT2: I see now, F2 is still assigned for "show game statistics" in 3.* editor. It's been fixed to Ctrl+F2 in AGS 4 but never backported. I'd also fix that in 3.6.2, because "show statistics" is a too specific command to have this simple hotkey.

EDIT3: Couple of more alternatives:
- E (for Edit)
- Enter/Return (?) although this may potentially conflict with confirming some operation.
#858
Re double clicking, GUI editor currently uses double clicking for creating a function for "default control event", I suppose it's better to reserve this action for that. Perhaps editing may be moved to a context menu?
#859
I fixed the "The Goat Crone" problem where you cannot close the cook book,
the temporary build may be downloaded here:
https://cirrus-ci.com/task/4520144712499200



This was the weirdest thing, apparently the game was ordering Wait(50000), which translates to ~20 minites of waiting. I have zero idea why would that be in the game's script and what could author's intentions possibly be.
But it "worked" in the original game because old engine could not store that timeout value and it converted into a random negative one (because how computers work), and waiting stopped instantly.


I will look into other problems afterwards.
#860
Okay, I tested this, and following solution works:

@DrLilo,
open the script Tumbleweed -> VerbGui

find line 392 that looks like this:
Code: ags
if (InventoryItem.GetAtScreenXY(verbsData.guiMain.X + invMain.X + 1, verbsData.guiMain.Y + invMain.Y + 1) == null) invMain.TopItem -= invMain.ItemsPerRow;

Comment that out and replace with this:
Code: ags
if (invMain.TopItem >= invMain.ItemCount) invMain.TopItem -= invMain.ItemsPerRow;

That produces same effect, but does not rely on inventory window being visible.
SMF spam blocked by CleanTalk