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

#61
Yes, apparently it's another mistake in docs.
#62
Quote from: Radiant on Fri 20/10/2023 08:45:01I'm fine with none and stdscale; and I want to disable linear.

(edit) I suppose I could lock it to stdscale, and assume that stdscale with a scaling of 1.0 is identical to no scaling.

In the contemporary engine there's no such thing as "no filter", there's always a filter setting, because window is now freely resizable.
This is also why "scaling" and "filter" options were separated. The "scaling" option only tells the starting scaling.
#63
On another hand, is not listing which filters to disable is opposite to what the user's intention is?
If intention is to lock particular filter, then this is what should be done instead.
Currently this may be done by setting filter in config, and doing
Code: ags
[disabled]
filters=1
#64
So, yes, it's a horrible mess now. The filter and gfxdriver IDs are treated as case-insensitive in one case, and as case-sensitive in another. The docs and engine help mention them all lowercase, while the actual IDs are camelcase. I should have paid more attention to this earlier.

EDIT: the part of the problem is that filter names are used as config keys in "disabled" section. If they were used as values instead, that would solve the issue for the time being.

I.e. if it were "filters=name,name,..." instead.
#65
Quote from: Radiant on Thu 19/10/2023 15:31:01How do you figure? None of "linear", "Linear", "LINEAR", "Linear interpolation", "Linear_interpolation" or

There's another mistake in this documentation, it has to be
Code: ags
Linear=1

everything is in mess here.
#66
So, apparently this is case-sensitive, and filter is registered as "Linear". This is a mistake, and should be fixed.
#67
No, "filters" is a boolean for disabling filters selection.

Code: ags
[disabled]
linear
#68
Quote from: Radiant on Thu 19/10/2023 14:23:15
Quote from: Crimson Wizard on Thu 19/10/2023 14:07:44[disabled] section should still work, I think.
Yes, but with what value? Is there a manual page on the various things one can add in acsetup.cfg?

The actual ID of a filter:
https://adventuregamestudio.github.io/ags-manual/EngineConfigFile.html

Quote[disabled] - special instructions for the setup program hinting to disable particular options or lock some in the certain state. Ignored by the engine.
render_at_screenres = [0; 1] - tells to lock "Render sprites in screen resolution" in a default state;
speechvox = [0; 1] - tells to lock "Use digital speech pack" in a default state;
filters = [0; 1] - tells to lock "Graphics filter" selection in a default state;
<filter id> - tells to remove particular graphics filter from the selection list;

The filter IDs are mentioned for the corresponding setting:
Quotefilter = [string] - id of the scaling filter to use. Supported filter names are:
none - run in native game size;
stdscale - nearest-neighbour scaling;
linear - anti-aliased scaling; not usable with software renderer.
#69
Quote from: Radiant on Thu 19/10/2023 14:00:03For a game that formerly used the [disabled] section in acsetup.cfg to hide the AA filters, is it possible to hide the linear filter in a similar way?

[disabled] section should still work, I think.
#70
Quote from: Radiant on Thu 19/10/2023 13:09:28Is it correct that the Hq2x and Anti-alias scaling methods no longer exist? I don't particularly miss them but wanted to doublecheck.

Hqx filter was dropped, Anti-alias is still there and renamed to "Linear filter".

Quote from: eri0o on Thu 19/10/2023 13:27:16They were software based (only worked in direct draw renderer or something), so they were dropped to favor the hardware accelerated renderers.

Hqx was dropped because in software mode the game scaling is now done by accelerated scaling of a single texture by SDL2.

Quote from: Radiant on Thu 19/10/2023 13:54:11And I see the setting for threaded audio is gone (by release history, it looks like it was reimplemented and is now on by default?) and the settings for MIDI device are also gone (probably as a result of including TIMIDITY with AGS, is that correct?)

Audio subsystem was completely rewritten, and audio thread is now enforced, except on Web port where threads do not work well for some reason.
MIDI device setting was removed because it became inapplicable with the new system. Everything is using same audio device now.
#71
Quote from: Pax Animo on Wed 18/10/2023 00:15:59Wouldn't it be oFirstObject rather than cFirstObject

Right, fixed.
#72
Controls do not exist on their own, but are placed on a parent GUI. Therefore there's no global array of ListBoxes (or Buttons, etc), and if you are using indexes, then you would need to also supply a parent GUI's ID.

Code: ags
function list_box_control(int parent_id, int lstb_id) {
    GUIControl *control = gui[parent_id].Controls[lstb_id];
    ListBox *listbox = control.AsListBox;
    listbox.Visible = !listbox.Visible; // this will toggle its current value
}

But, could you explain more, why do you want to use IDs, and not names, what is the use case here?
#73
Playing 2 animations at the same time would require to call the first Animate with eNoBlock.

Code: ags
    // replace with your real object names and view names
    oFirstObject.SetView(VANIMATION1);
    oAnotherObject.SetView(VANIMATION2);
    oFirstObject.Animate(0, eOnce, eNoBlock);
    oAnotherObject.Animate(0, eOnce, eBlock);

This will schedule first animation and immediately continue to the next command.

I do recommend using scriptnames for objects and views instead of their indexes, as that's safer and less prone to errors.
#74
Quote from: Radiant on Sat 14/10/2023 22:49:46Fair enough. Is it easy to analyze two audio.vox files (one from 3.3, one from 3.6) to figure out files are in the former but not the latter?

We have a tool that unpacks ags archives, it's not "officially" distributed yet, but may be got from here:
https://www.dropbox.com/s/6wfl3foo3jb9iyu/agstools-360.zip?dl=0

The program is called "agsunpak", it is run from command line and unpacks the contents of any ags package into a directory.
#75
Quote from: Radiant on Sat 14/10/2023 22:15:54When I build A Tale of Two Kingdoms with AGS 3.6, I get a much smaller Audio.vox file (74 Mb instead of 112 Mb).

It's not a problem since the older audio.vox file still works, but I'd like to know what might be the cause for that?

audio.vox is simply an archive with no compression of its own. If it's smaller, this means that less data is put into it: less files, or files are smaller.

audio.vox is built from audio clips that are
- marked as "put in audio vox" in their audio folder settings;
- found in AudioCache folder.

FIle appear in AudioCache when Editor can find source files, mentioned in the clip's property ("SourceFilename", or something similar).
#76
Quote from: vga256 on Fri 06/10/2023 18:22:41Oh interesting. It appears this is bug is far less generalized that I had guessed. I'll run through a few different coding scenarios until I figure out which one it can be reproduced with.

Edit: I've tried to replicate this with a new/empty test project with the same kind of code, and I cannot replicate it. Would you mind if I zipped up my project folder and sent it to you via PM? I can point out how to reproduce it using my project.

I managed to replicate this with certain code, but only after I copied lots of your code over (struct definitions, etc). My attempts to replicate this in a smaller environment failed consistently.

This is definitely a compiler's error, but not an obvious one, it fails to track element access correctly at some point, maybe it cannot handle more complicated script.

The new compiler by fernewelten, which we use in ags4, does not have this problem, it points out the scripting mistake.

Using new compiler I found multiple other syntax mistakes in your game's script, so that's not the only issue: non-optional args following optional args (with default value), comparing non-managed object to null, comparing void function return value to an integer, and so on.
Old compiler misses all these for some reason.

Too bad the new compiler has its own problems, where things that were supposed to work with old compiler normally don't work anymore. For instance, it no longer can print char[n] array as a string into String.Format. I might report these as mistakes. But I think there are workarounds for all of these cases.
#77
Engine Development / Re: AGS engine Web port
Mon 09/10/2023 08:25:09
Quote from: kikiMa on Mon 09/10/2023 08:20:31Hmm, that's strange. I'm not using any gamepads, and I've tested it on different PCs. It also works on Chrome, Safari, etc. Is there a way to exclude gamepads in the scripts at some point?

It's not your problem, it's the engine's issue, it has to be fixed in the engine.
#78
Quote from: vga256 on Fri 06/10/2023 18:22:41Edit: I've tried to replicate this with a new/empty test project with the same kind of code, and I cannot replicate it. Would you mind if I zipped up my project folder and sent it to you via PM? I can point out how to reproduce it using my project.

Yes sure.
#79
Ah... that is the problem. Somehow this did not click for me either.

But then this note must be added in the manual.
#80
Are you absolutely certain that view 7 is the right one? I may recommend using view names everywhere instead of numbers, similar to how you did with cPersonajeKid.ChangeView function call; that is :
Code: ags
cPersonajeKid.BlinkView = VWHATEVERNAMEIS;
SMF spam blocked by CleanTalk