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 - eri0o

#41
Engine Development / Re: AGS engine Web port
Wed 11/10/2023 15:04:41
I haven't properly tabulated this, but I guess at some point I (or someone motivated) has to inspect the iframe a of the webstores (itch io, gamejolt, Newgrounds, ...) and make a relation of what types of Feature-Policy are allowed in those. This would give a general idea of what is allowed and what isn't.

---

My general feeling towards file download is that it's best to have it inside a Share action instead, which can have files attached to it. This is more portable - in Android these translate to intent. This avoids having to concede file permissions to an app and instead allows to work with these as they are needed - general file access in Android would require blank permission access to files, which is weird for a game.

Unfortunately SDL doesn't include anything similar to a share action so we would have to either maintain our on or contribute some version of this for SDL. I think in this specific case MAYBE maintaining our own is easier, but I would need to think about this.
#42
Engine Development / Re: AGS engine Web port
Tue 10/10/2023 17:30:44
You can't download that specific file. If you are saving it in the same directory as saves, they will be persisted - so you can load it from the same place next time the game opens in the same browser.
#43
Engine Development / Re: AGS engine Web port
Tue 10/10/2023 15:03:35
@kikiMa , as mentioned by cw, there is an issue in ags and it should be fixed in the next update. Still, I am trying to understand what happened, you mentioned you don't have a gamepad and that it works in different browsers. Does it means it has the same error in different browsers or you only have this error in a specific browser? Do you see this error in other PCs? Sorry for the additional questions, it's just that this may indicate a problem in SDL2 too, so I would like to look into that too.

Regardless, it should work without this issue in the next AGS update.
#44
Erh, about android it depends on when is now and when is then. It should work now, but it should also have worked like an year ago. I don't remember things beyond this. :/
#45
Engine Development / Re: AGS engine Web port
Fri 06/10/2023 15:59:26
That sounds like a bug in SDL2, but just out of curiosity, do you have actual gamepads connected to the computer? If you do does disconnecting makes it work? Can you share information that helps identify the exact gamepad you have (a serial number would be sweet, but at least brand and name).

In AGS the issue is we initialize the video, audio, gamepad and all subsystems together - so if any of them fails, ags fails entirely. It would be best to initialize them separately, so we can recover if the system in the particular platform can be dismissed - which I think that gamepad for the web port is one we could survive errors that appears.

But there has to be an error in SDL2 too, because even if your gamepad is not supported, it should not block the gamepad subsystem from initializing entirely - it should be possible to connect later one or more gamepads and those may be supported.

The fix on AGS side should be very easy, but in SDL2 there are two things: add support for your gamepad, and making it not fail the entire system. The gamepad is only relevant for ags4, I don't remember why it's initialized in ags3 too.
#46
@AndreasBlack I don't understand, but as I mentioned, if you configure this creating a Text Window GUI it will work, the gradient is just the background tile of the 9 pieces. See more details in the manual

https://adventuregamestudio.github.io/ags-manual/EditorGUI.html#customized-text-windows

Then you just pass it to the module.

I may alternatively create a way to pass a single sprite with the 9 in it (like a square) and some coordinates - need to think through which one would be needed for this.

My reasoning to implement it through Text Window GUI was in my mind people already would already have created the ones they use in their game for rendering dialogues and other messages, so there would be less work.

Edit: I realized that gradients look better if they are specifically draw because the height may change, but at the same time AGS has a slow pixel drawing API (I can't push a vertex to an Overlay, even though that would be sweet). But I may draw in a single line of pixels and then resize it in a second overlay - so hardware accelerated! But AGS uses 16-bit like colors for the API for drawing pixels... There is no "give a gradient from color a to b" in the surface API - which would be faster and happier approach. I may try to roll some magic here to have an alternative way to specify a gradient by code. Not sure how that will look like. I think I can smudge a gradient by hammering it on top of itself and varying the transparency. Will need to roll some magic for this...
#47
If you are using one of the stores plugins that is already in the plugins. I don't think faking the style of a store is interesting (and one should really check the documentation, because my general feeling is this could get your game axed from using it, because you are pretending official notifications). But if one wants, it's possible to configure a Text GUI and pass it along, this will make the module draw a text box however it's configured in the editor, with each of the 9 pieces set.
#48
Uhm, there is a method in Drawing Surface called Set Pixel and you can do it using COLOR_TRANSPARENT. The problem is SetPixel is not super fast, but if the object isn't as big it can work since you aren't actually setting all pixels, just a few per frame to gradually dither the thing out of existence.

If it's an object you set it's graphic to a dynamic sprite and then operate on this. If it's a character you will need to lockview and modify the specific ViewFrame.

If it's a one off thing, I think bringing these sprites from somewhere and simple animating is easier.
#49
Engine Development / Re: AGS engine Web port
Thu 05/10/2023 14:09:49
@uma , try setting filter = linear in in the Editor, in your project Default setup - I forgot the exact name of the setting. If this doesn't change a thing on macOS, I believe there is a directory where the save files goes, so perhaps an acsetup.cfg is there.

I also think it's valuable to share a full-resolution screenshot of your room in case others have ideas.

@Crimson Wizard I think when downscaling, we always want linear filtering, maybe the solution would be to have a different setting for when upscaling and when downscaling, so they could have different defaults.
#50
Minimal update with added icon support!

#51
I think you can try comparing the results on each PC of running

Code: bash
git ls-files --eol *.as*

I hid the output of mine in the spoiler.
Spoiler
Code: ags
i/lf    w/crlf  attr/                  CustomDialogGui.asc
i/lf    w/crlf  attr/                  CustomDialogGui.ash
i/lf    w/crlf  attr/                  DoubleClick.asc
i/lf    w/crlf  attr/                  DoubleClick.ash
i/lf    w/crlf  attr/                  GlobalScript.asc
i/lf    w/crlf  attr/                  GlobalScript.ash
i/lf    w/crlf  attr/                  TemplateSettings.asc
i/lf    w/crlf  attr/                  TemplateSettings.ash
i/lf    w/crlf  attr/                  optiongui.asc
i/lf    w/crlf  attr/                  optiongui.ash
i/lf    w/crlf  attr/                  room1.asc
i/lf    w/crlf  attr/                  room2.asc
i/lf    w/crlf  attr/                  verbgui.asc
i/lf    w/crlf  attr/                  verbgui.ash
[close]

When I did it in your change it was instead as below (look in the verbgui.asc line)
Spoiler
Code: ags
i/lf    w/crlf  attr/                  CustomDialogGui.asc
i/lf    w/crlf  attr/                  CustomDialogGui.ash
i/lf    w/crlf  attr/                  DoubleClick.asc
i/lf    w/crlf  attr/                  DoubleClick.ash
i/lf    w/crlf  attr/                  GlobalScript.asc
i/lf    w/crlf  attr/                  GlobalScript.ash
i/lf    w/crlf  attr/                  TemplateSettings.asc
i/lf    w/crlf  attr/                  TemplateSettings.ash
i/lf    w/crlf  attr/                  optiongui.asc
i/lf    w/crlf  attr/                  optiongui.ash
i/lf    w/crlf  attr/                  room1.asc
i/lf    w/crlf  attr/                  room2.asc
i/crlf  w/crlf  attr/                  verbgui.asc
i/lf    w/crlf  attr/                  verbgui.ash
[close]

The i at the start is what is in the index (and in the remote), and the w means what is in the working tree. So your change was really a change of line ending in the repository.

You can try setting git config core.autocrlf true only in the specific directory of ags_tumbleweed to configure that project on macOS - I haven't tried that yet. I use GitHub Desktop on macOS, I don't remember if it magically does this when it thinks it's necessary, I need to check later. I think I can try hacking a simple .gitattributes file, just so this doesn't change.
#52
General Discussion / Fake 3D in 2D
Thu 05/10/2023 00:51:25
Just because I love these 3D but in 2D stuff - mostly because aesthetics and to see the tricks. I can't try to implement all methods, so better to at least aggregate somewhere.

This post is recent and the technique here is incredible

https://dioragame.com/devlog/?log=3

It accomplishes 3D in 2D on PlayDate - an underpowered gaming device with a black and white display.
#53
Made a new 0.4.0 release! Get it on the first post!

  • Fixes issue where the game may error with a "SetObjectPosition: invalid object number" on room leave, stopping the game.
  • Notes with licenses of the recently include easing math.
  • Minor code/style refactors

Roadmap for the next thing: a way to pan the camera without turning off and on the smoothcam - leveraging the now added easing math.
#54
Quote from: abstauber on Wed 04/10/2023 09:31:32Is it a coincidence? @eri0o just released his Toaster Module, doing more or less what you might need:
https://www.adventuregamestudio.co.uk/forums/modules-plugins-tools/module-toaster-0-1-0/msg636658069


Erh, this thread was a good idea to put something from my head as a module. :)
#55
toaster version 0.1.2

Get Latest Release toaster.scm | GitHub Repo | Download project .zip

This is a initial version of Toaster, a module to produce Toasts. These are those messages that appear on the screen and fade.

I will eventually write better docs and make the module more interesting, but here is a demo to explain what it does.



Usage

The basic usage is simply Toaster t; t.Toast("A Toast!");



Script API

Toaster

A toaster can produce toasts, but you can configure your toaster to produce different toasts as desired!

eToastColor Toaster.BackgroundColor
Background color of the toast, in AGS Color.

TextWindowGUI* Toaster.TextWindowGUI
You can set a TextWindowGUI to put the toast in a text box.

FontType Toaster.Font
The font to write the toast message.

eToastTweenEasingType Toaster.SlideInEasing
The easing to use when moving the toast into screen. These are the same possible ones in the tween module!

eToastTweenEasingType Toaster.SlideOutEasing
The easing to use when moving the toast out of existence

eToastAlignement Toaster.OriginAlignment
From where to position the toasts. It can be on the left, center and right.

float Toaster.Duration
How long in seconds should the Toast be on-screen.

float Toaster.Rotation
Rotation in degrees for produced toasts.

int Toaster.Icon
Add sprite to use as an icon in the left corner of the message.



License
This module is created by eri0o is provided with MIT License, see LICENSE for more details. It uses easing code based on Edmundo Ruiz and Robert Penner's, works, which are MIT and BSD licensed, respectively (and included in the module script).
#56
I now understood the feature request, I am trying to think how to add this to the API in a way it doesn't get complicated - I like that the module has a single function... I should come up with a solution soon.
#57
It doesn't use WalkStraight, all animation is handled through script.
#58
QuoteAll keyboard modules i've tried suffer the exact same faith

@AndreasBlack , have you tried my Controlz module? It works differently, maybe it would work for your game.
#59
In the properties at the right, with the walkbehind selected, does typing there the baseline directly with a bigger number than room height, can you tell me if this works?
#60
Quote from: abstauber on Mon 02/10/2023 07:43:17@eri0o
I really just changed a single line, but on a Mac using Crossover. So maybe the fileencoding changed too and therefore git wasn't able to detect the changes anymore.

Uhm, I don't think the issue is crossover, but I will check if it's the line endings - I think AGS uses Windows Line Endings but I don't remember what git on macOS does with that by default - on Windows git default is to commit with Unix line endings and checkout with Windows line endings.

I had a few issues using git on macOS - not with AGS Editor, but with Xcode. I noticed that if the hard drive is using a case insensitive partition and I rename only the case of a file, Xcode may instead duplicate the file and then once you do git commit the entire branch can be completely insane, giving wrong deltas. I had to delete the git dir when that happened and start from a new branch. This can happen if you delete and create a file with the same name but with different case and squash the history, and doing so with Xcode opened too. I looked into it online and apparently what people do when they hit my case is to create a dev partition that is case sensitive and work with that.
SMF spam blocked by CleanTalk