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

#41
Beginners' Technical Questions / Re: Padlocked
Sat 28/10/2023 04:29:02
Quote from: jwalt on Sat 28/10/2023 04:25:58That was quick, thanks. For some reason it still won't open the properties for the objects. Did a quick check, and it looks like the Sierra template works as expected. I'd only put three objects in the Bass room, but I've swapped out the image for one of them several times now. Guess I'll use Sierra style? Looks like I've buggered up Bass, somehow.

Could you send the non-working project to me? I don't remember hearing of this happening before.
#42
The one named "SDL2 software renderer" is the... software renderer, formerly known as "DirectDraw5". It's the slowest from all, but may be used in case others failed, as SDL2 will try to create an available output (which may be direct3d, opengl, and few others).

But I cannot answer the rest, which one of Direct3D or OpenGL to choose from. In the past Direct3D seemed to work better on Windows, but this is not necessarily the case after Win10, as D3D9 is a legacy driver and is supported only through some kind of an emulation.

We definitely should add a contemporary DirectX renderer (11 or 12).
#43
Beginners' Technical Questions / Re: Padlocked
Sat 28/10/2023 03:56:52
Quote from: jwalt on Sat 28/10/2023 03:52:44Using the Bass template. I'm also seeing some kind of odd padlock mouse cursor, from time to time. Have I accidentally locked myself out?

The Room Editor now has ability to hide and lock particular objects and whole layers. Bring up "objects" dropdown list from the navigation bar on top, and check the "lock" button.

See the screenshots in this article for the reference:
https://adventuregamestudio.github.io/ags-manual/EditorRoom.html
#44
Hello.
Have you perhaps updated the game to a newer version recently?

AGS has a known problem that when the game changes, the saves may stop working. That's because they work as a primitive state-saves.
Although this happens not with any change, but many cause this effect. Number of frames in a view is one of those.

It may be worth to mention this to the game's author in his/her game's forum thread:
https://www.adventuregamestudio.co.uk/forums/completed-game-announcements/abscission-detectivehorror-available-now-on-steam-mature-content/

This is mostly interesting for game developers, but the thorough technical information on this topic may be found here:
https://adventuregamestudio.github.io/ags-manual/GameSavesCompatibility.html

UPD: seeing that this is a Steam game; the case of a Steam version may be specifically annoying, as it may have automatic game updates and no way to choose an older version of the game. I may only recommend to disable automatic updates for all AGS games just in case, and don't update without a real need.
#45
Quote from: Torchiest on Fri 27/10/2023 15:48:13Just to follow up, this is what I was referring to in the tutorial. https://adventuregamestudio.github.io/ags-manual/acintro8.html

"This is not the same type of script that we've used for our Events like picking up the key. It's a much simpler dialog-only scripting language."

Unfortunately some parts of the manual are outdated... it's not being updated as often as it should.
I will mark that this needs an update, perhaps pointing out that you may add regular script commands in a dialog too.
#46
Hello.
In this case you do not have to use run-script, but put these commands directly in the dialog script, indenting by at least 1 space:

Code: ags
// Dialog script file
@S  // Dialog startup entry point
EGO: My keys were in the door!
  Display("You grab the keys, happy to have them.");
stop

This is explained in the manual:
https://adventuregamestudio.github.io/ags-manual/DialogScript.html#using-regular-scripting-commands-in-dialogs


In regards to order of actions, Dialog.Start does not start dialog immediately, but schedules it until the current script event ends ("hDoor_Interact" in your case). Dialog is run afterwards.
#47
Quote from: Reave on Thu 26/10/2023 20:24:58I would like to make a game with this template.

I have two doubts: it's been a long time since the first message, is it necessary to install the proskitos template or the one that comes with the game is already ok?

Erm, this is an ancient thread, and frankly I'd suggest that it should be locked and unpinned, and a new sticky thread made if necessary with up-to-date info.

The newest module version that comes with AGS is called "Tumbleweed Verbs" (a parody on "Thimbleweed Park" game) and its thread may be found here:
https://www.adventuregamestudio.co.uk/forums/modules-plugins-tools/template-tumbleweed-verbs-1-4/
#48
Quote from: Radiant on Tue 24/10/2023 21:07:13I confirm that these work, and as far as my issue reports are concerned, this new patch can be released. Thank you for your help!

I guess i'll wait until next week just in case something else comes up.
#49
There's also a small chance that if 3.6.1 has some performance improvements then the game runs somewhat faster and video syncs better.

But to be fair the video playback in AGS lacks proper sync mechanism. I started writing a simple one in the past, but never completed, it was in the midst of various changes and refactor in 3.6.0.
Would be nice to have it implemented anyway.
#50
3.6.1 did not have any improvements to videos, and 3.99 was tested which is on par with 3.6.1 in this.
#51
Quote from: Khris on Tue 24/10/2023 10:30:06I created a test game with 3.5.1 and can confirm that the video track runs faster than the sound track. The video finishes about 5 seconds early, the screen simply stays black while the audio track plays to the end.

The same thing happens in the latest 3.6.0 build and 3.99. In VLC, the video is in sync.

Given this occurs in every AGS version, this also may be a mistake or limitation either of the OGG Theora library which decodes this, or APEG library (intermediate between Theora and AGS).

I'd like to check the video properties and see what may be the difference between this and other ogvs that work.
#52
For the long term I'd rather consider replacing this function with explicit Debug struct that has various tools in it, than keep shoving in various commands with different logic.
#53
Quote from: Vincent on Wed 25/10/2023 15:43:33You mean it can be done by editing the engine? I think that might could be useful, so maybe if the value is true then it means you teleported

Yes, I think i'd rather suggest to add a return value indicating Teleport window result, rather than a new variable to game struct. The reasons for this are:
* The "Teleport" window is not a part of the script API directly, it's hidden in the generic Debug command, so it's better to not add anything related to it in the global structs.
* This variable would have a too narrow use-case, it will be useless if a developer decided to make their own debugging controls, or even a random ChangeRoom call for testing.

So handling this situation will be as suggested above, except you do:
Code: ags
    // Ctrl-X will let the player teleport to any room
    teleporting = Debug(3, 0);

Quote from: eri0o on Wed 25/10/2023 15:34:33Maybe return room number or something that means cancel?

Yes, the return value could be a room number, or -1 for cancel, for instance.
#54
It should not be at all difficult to make a custom GUI for teleporting, and I've seen many devs actually do that in their game. Besides it's often important not to teleport to a particular room but to a particular story stage, which AGS cannot do on its own of course, so you will have to do a custom gui again.

But speaking directly of the proposed feature, what is the use case? Or, which difference do you want to handle with this?

If you want to know that player appeared in the room not following the story, but "jumping over", then you could rather use your own "story"-related global variables to find that out. You may also check player's position in the room to find out that it's wrong (in case you must fix it).
EDIT: there's also player.PreviousRoom, which may be used in conjunction with the story vars.


EDIT 2: speaking of the teleport window result, it's possible to make the Debug function return a true or false value (1 or 0) depending on the player's choice.
(On a side note, this Debug function is ugly as hell)
#55
Updated to Beta 11
(Please use download links in the first post)

Changes in this update:

Editor:
- Added "Export Global Messages to script" menu command. This command is meant for upgraded pre-3.2 game projects, and will generate a script with a String array, moving global messages texts there.
- Made Editor be somewhat more tolerate to missing XML nodes in Game.agf, in many cases it will still let open a game.
- When upgrading older game projects, Editor will insert a call to SetRestartPoint() in the end of the 'game_start' function in GlobalScript.asc. This is done to complement removal of an automatic startup SetRestartPoint() call in the engine. This inserted command is safe to remove.
- When upgrading pre-3.2 rooms with disabled SaveLoadEnabled property the Editor will reset this property and insert a comment with a warning into the corresponding room's script. This is done because this property is deprecated as is no longer accessible.
- Fixed Project Explorer's folders collapsing after certain user actions, such as dragging items or renaming things.
- Fixed Script editor not marking "autoptr" and "builtin" as keywords.
- Fixed Script editor not applying color theme to character literals.

Scripting:
- Support "#else" preprocessor directive.

Script API:
- Added support for a text formatting to a number of functions: DisplayAtY(), Character.SayAt(), Character.SayBackground(), DrawingSurface.DrawStringWrapped().

Engine:
- Removed an automatic SetRestartPoint() call at startup. This is done in case user does not want to use default "restart" save slot, or has a custom save system.
- When starting up, engine will now precache only first 4 or 8 loops of the starting player character's View. This is done to avoid filling sprite cache with too much sprites at once in case when the player's View contains lots of additional animations.
- Fixed engine failing to startup sometimes if controller device subsystem failed to init (it should not init at all in this version, as we do not support joysticks yet).
- Fixed characters occasionally "teleporting" when ordered to move (regression since Beta 10)



NOTE: In regards to the SetRestartPoint() change, I have to post this clarification.
SetRestartPoint() and RestartGame() are still working as before. The change refers to the automatic restart point set when the game starts. This was disabled in the engine, in favor of letting users set it themselves if and where they prefer. Some games may need this, others not, some games use custom saves and it would not be fair to generate an unnecessary file on startup (and sometimes this file may be quite big, as it also depends on amount of script data).

As an attempt to make this transition easier, upon loading an older project the Editor will insert a SetRestartPoint() call into game_start() function in the GlobalScript. This call is safe to remove, or move elsewhere.
#56
There's a bug introduced in the latest Beta (10) where a character who is ordered to move several times in a row would "teleport" to a random location in he room.

I was going to release a new update soon, but got distracted. So until then, here's a temporary build that has it fixed:
https://cirrus-ci.com/task/6707220583284736
#57
Multiple games used ogv, there may be something specific about this particular ogv, or maybe something got broken in a particular version of the engine.

Quote.avi files work just fine in AGS, but I'd like to know why .ogv ones don't.

Please tell which version of AGS do you use, because latest version does not support avi.
#58
Quote from: Khris on Mon 23/10/2023 16:22:19ResetRoom() does not change global variables.

Indeed, ResetRoom was never supposed to change anything global.

There's one known case which may result in "loosing" global variable value: it's when you declared variables in the header without "import" keyword. This leads to variable "duplication" effect, where each script, including room script, receives a copy of a variable instead of using same shared one.

https://adventuregamestudio.github.io/ags-manual/TheScriptHeader.html
#59
When I just found AGS I had no idea what to look for, so started playing games in alphabetic order, choosing ones that looked fine on screenshots and had average+ rating.

Naturally, most of Yahtzee's games were there, because they had numbers in titles ("1213", "5 Days a Stranger", and so forth). Then "Alien Time Zone" by Babar and "Apprentice 1,2". Then "Ben Jordan" series. And so forth.
#60
Here's a temporary build with a number of fixes applied:
https://cirrus-ci.com/task/4911341614399488

I'm posting this for an extra test before making an official new patch.

Fixes include (but not limited to):
- Fixed in script editor character literals having wrong style when a custom theme is applied;
- Fixed TextWindow edges drawn under the corner pieces;
- Fixed screen flashing black once after a video playback;
- Don't check number of audio clips when loading a legacy save format (made before 3.5.0);
- An option to disable language selection in Winsetup ("[disabled] translation = 1");
- Filter names under "[disabled]" section in config are treated in case-insensitive way;
- Print a warning into game log when a blocking Display or Say is called while game is fade-out;
SMF spam blocked by CleanTalk