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 - Monsieur OUXX

#201
FYI, I don't know if it was fixed in the same patch, but "Set" also fails when the value is null (cannot insert null in Dictionary) and it's not written in the help of the function.
#202
Quote from: Babar on Fri 16/10/2020 15:52:57
I seem to remember this being brought up, and then the issue mentioned (bandwidth, maybe?), but wouldn't it be more convenient to have the art available separately so that one could see all the images or at least "packs" without downloading them? Having one massive torrent or download file that you then have to browse through to see if it has anything that fits with what you need is a bit inconvenient.

That's what I meant. I didn't mean "separate into two packages", I meant separate into two folders inside the package. There's no point in offering, let's say, character graphics if they can't be used in the same game (not the same scale). It's easier to look for something if you know that the current folder contains only stuff that is useful to you.
#203
Maybe the gfx resources should be split between low res and hi res? Just my two cents.
#204
Very nice initiative.
#205
A German speaker told me that this was not correct :
Quote
Musik Lautstärke
Sound Effekte

...but this was correct :
Quote
Musiklautstärke
Soundeffekte

I cannot assert the truth of his sayings but I'm reporting it.
#206
Quote from: Crimson Wizard on Thu 17/09/2020 20:25:53
I pushed a fix for this, and few other things. This fix will be part of a next patch, also could be downloaded here when it's ready (may need to wait an hour or so): https://cirrus-ci.com/task/6244779275059200
EDIT fixed link

Meanwhile, the workaround is probably this:
Code: ags

String SafeGet(this Dictionary*)
{
    if (this.Contains("badKey"))
        return this.Get("badKey");
    return null;
}



Look, this is the function  I had written ;-D ;-D ;-D There are some similarities lol
(also I don't know what I was thinking with that "else", off it goes!)
Code: ags

String SafeGet(Dictionary* d,  String key)
{
  if (!d.Contains(key)) {
    return null;
  } else {
    return d.Get(key);
  }
}
#207
AGS 3.5.0 24 (I think that's Patch 4 but I'm not 100% sure)

Try this in a custom script:
Code: ags

void game_start()
{
  Dictionary* d = Dictionary.Create(eSorted);
  String v = d.Get("badKey");
}



The manual says that d.Get("badKey") should return null.
Instead it generates an engine error.
#208
Quote from: Crimson Wizard on Wed 16/09/2020 19:11:29
It gets deleted as soon as there's no reference to object left

Perfect.

Quote from: Crimson Wizard on Wed 16/09/2020 19:11:29
and DynamicSprite too.
Are you saying that DynamicSprite.Delete is more of a relic from the past? It gets called automatically by the garbage collector?
#209
Just to be 100% sure, I'd rather ask.

the lifecycle of a dynamic sprite is :
Code: ags

DynamicSprite* spr = DynamicSprite.Create(...);
...
spr.Delete();



But what about dictionaries?
Code: ags

Dictionary* d= Dictionary.Create(...);
...
d.Delete(); // <-- this function does not exist
#210
Quote from: Snarky on Fri 05/06/2020 21:49:41
Aren't these essentially the same?

Quote from: Snarky on Sun 18/11/2018 09:12:56
Break the Cycle
A certain chain of events repeats on a loop in the background, always with the same outcome. By changing some condition, you can interfere with one of the steps and create a different one. (In a variation, the chain of events doesn't go on all the time in the background, but only when you trigger it.)
Examples: Day of the Tentacle (Edna/chair/statue)

Quote from: Monsieur OUXX on Fri 05/06/2020 13:54:43
Derail the NPC's routine
An NPC is repeatedly performing an action. Get in the way (steal their tool or confuse them) and it unlocks new possibilities.
Note: An advanced version of this puzzle makes you benefit from the change in the NPC's state in both ways : You benefit from taking their tool and you benefit from their new routine.
See also: trigger the NPC first
See also: hidden dialog

yes they are. I've become a bit lazy with curation.
#211
The question of "should the action originate from a click on the enemy or a click on myself" is interesting. I've been asking myself the same question about the 9-verb interface versus verb coin interface.

Clicking on the target first and then choosing the action sounds wonderful from a UI perspective : It's more modern and requires less clicking. BUT then I realized that it's slightly less immersive because I want the click to symbolize an action initiating from my character, as a projection of myself. I want that click to mean "I want to attack and then see the repercussions of my choice", not the opposite.
#212
Unrelated to UI: Pick a better font. Better as in "more readable" and as in "more original".
#213
Quote from: Cassiebsg on Tue 26/05/2020 19:09:29
The old demo does have some translations available, but right now, as far as I know, there's no way to run that demo with the translation (is there one?).
You haven't had an opportunity to see how it's implemented yet. I'd need to send you the latest sources. You pick the language of the "parent" game and the language f the "embedded" game inside of the games, on a special welcome screen. Which means, we work around the problems with winsetup.exe and the .cfg. The only issue was that we couldn't reset the language while jumping from one game to the other (because of the "bug" that CW has fixed here). Now it works like a charm.
#214
Quote from: eri0o on Fri 05/06/2020 18:01:05
( Not sure if this was posted here -> https://www.alanvandrake.com/puzzler/ )

Interesting. This is based on a model that's one step higher, with about 10 different situations to face depending on the kind of goal to reach (temporal object and so on)
#215
Rephrased to fit the thread's formatting :

Derail the NPC's routine
An NPC is repeatedly performing an action. Get in the way (steal their tool or confuse them) and it unlocks new possibilities.
Note: An advanced version of this puzzle makes you benefit from the change in the NPC's state in both ways : You benefit from taking their tool and you benefit from their new routine.
See also: trigger the NPC first
See also: hidden dialog

Trigger the NPC first
Put an NPC into a certain state to unlock new actions. the victory does not come from the NPC being in that state but from what you do with it afterwards. (for example: use a given dialog line to make them angry, then use that anger for something else).
Note: An advanced version of this puzzle makes the NPC reset to initial state if you're not careful.
Note: An advanced version of this puzzle makes you benefit from the change in the NPC's state in both ways : You benefit from taking their tool and you benefit from their new routine.
Seen in : Indy4: talk to sophia to make her consider being the assisant of the knife thrower, then push her
See also: Derail the NPC's routine
See also: hidden dialog
#216
Quote from: Crimson Wizard on Thu 04/06/2020 12:35:10
DynamicSprite.CreateFromScreenShot is probably what you may use. But iirc it IS 1 frame late, because it's created out of data prepared during previous render. This is most of what you can get in script.
EDIT: back in a day there was no "later_repeatedly_execute", guess this is why it was made so (and also because it works faster this way). Hypothetically, I think, it may be possible to reimplement this with an up-to-date render if called from late_rep_exec, but such feature does not exist right now.

But I'd like to also clarify some technical stuff. There's no universal raw "buffer" that you can alter. Such buffer is implementation specific, and technically only exists in software mode. Plugins can access and alter it directly, but it does not work the same with Direct3D/OpenGL. The universal method would be not to alter rendered image in-place, but insert items in the render process / change render properties.

Thanks
#217
I was thinking of the best way to apply some sort of shader. In other words : The requirement is to scan the pixels of the screen after it's been rendered, and write some new values into the buffer.

- It has been done in the past, with the "underwater" module. This module boldly reconstructs the entire scene (background+objects+characters) in what is effectively a "software" render routine that substitutes itself to AGS' native rendering. Pretty costly in terms of cpu. Also I'm not sure if the game's variables have been updated at this point in time so there might be a one-frame delay. Not too noticeable but kinda sloppy.
- The screenshot feature only exports to a file,
- And using late_repeatedly_execute places you at the right moment in the frame's lifecycle but you don't have a way of accessing the buffer.

So what am I missing? Is there a way of doing that?
#218
Quote from: Cassiebsg on Wed 03/06/2020 22:21:01
And how exactly do you think the tipper could tip without having to create an account anywhere?  (wtf)
I don't know, but I'm guessing there's a whole range of hassle and I was aiming for the least hassle. I live in Sweden and here they have a thing called Swish where the phone number of the recipient is enough to transfer money to them. Don't judge me, I'm a simple person who hates anything related to money.

Quote from: Click'd on Thu 04/06/2020 10:16:46
Monsieur OUXX, how about ko-fi.com ? Goes through Paypal.
I'll loo into it. Is Paypal really still popular in the US or is it behind the curve now? Asking as a European who has no clue.
#219
I had an idea for some time : the server should compute how many clappings or whooing happen at the same time (let's say, with a three seconds approximation) and have a whole range of corresponding sounds, from just one person clapping to a huge crowd clapping. That would be quite easy to achieve I'm guessing, and make the audience's reaction much more immersive.
#220
Thanks! The language fix removes a weight from my shoulders.
SMF spam blocked by CleanTalk