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

#301
I tried this project and it works as supposed to.

1. Rebuilt all files, look at character: it sais "Damn you're looking good".
2. Went to Speech dir and deleted Ego1.wav
3. Copied Ego3.wav into Speech dir, and renamed to Ego1.wav
4. Pressed F5 in the editor, look at character: it sais "Talking to yourself is a sign of madness".
#302
This is the precise situation I was referring to, and it worked for me.
I may test again, but it's quite strange.

Can anybody else try this out?

Does this sound replacement play at all, after you rebuild all files?
#303
Quote from: Gal Shemesh on Mon 10/07/2023 17:20:17The second problem is if you compile all files and then add or change an existing speech file in the Speech folder, when testing the game by hitting F5 from the editor, it won't reflect in the game unless you delete the Speech.VOX file from the Compiled folder.

That's what I was referring to:

Quote from: Crimson Wizard on Mon 10/07/2023 16:10:18I tried this in 3.6.0, and it works as expected: if I add new files to Speech folder, or replace existing ones, without rebuilding speech.vox, then run the game from the Editor, then the files from the Speech folder are used.

1. Make a game with sounds in Speech folder (e.g. EGO1, EGO2, EGO3), and few dialog lines that use these.
2. Rebuild all files. Test that everything works.
3. Replace 1 voice file in Speech folder.
4. Press F5 to run a test (dont rebuild all files), the replacement works.
#304
@Gal Shemesh

I tried this in 3.6.0, and it works as expected: if I add new files to Speech folder, or replace existing ones, without rebuilding speech.vox, then run the game from the Editor, then the files from the Speech folder are used.

Please tell in detail, how did you test this case in your game?
#305
Quote from: Gal Shemesh on Mon 10/07/2023 09:03:15I think that as long as the game is in development, testing the game from the editor should not relay and use the compiled VOX files, but rather relay on the presence of the source raw files in the game's folders.

This is how it is supposed to work, but if you say it does not, then it's a bug, and engine got broken somewhere during the development process.

The idea was that Speech folder has a priority over speech.vox, or rather plain files on disk should have a priority over the package. This lets to add new files without recompiling large vox.

Same is true for audio files, and AudioCache folder.

Quote from: Snarky on Mon 10/07/2023 10:11:07Yeah, the way running games from the editor works (in terms of which files/folders it references) is complex and confusing.

Engine registers lookup locations with category filter. There are 3 filters now, called arbitrary "random files", "audio files", "speech files".
Locations may be directories or packages.
When searching for a file, directories are supposed to have priority over a package.

When run from the editor, engine receives instructions for alternate locations via a command line.

Random files:
- Root project dir
- Compiled/Windows dir - looks for random game files (that is mostly in case user added custom files)
- game package (whether attached to exe or *.ags)

Audio files:
- AudioCache dir
- audio.vox

Speech files:
- Speech dir
- speech.vox
#306
Quote from: RootBound on Mon 10/07/2023 03:29:32From reading the manual all I could find was character.ID, and the only example given there was interactions with deprecated script functions, which made it sound like the number array was obsolete.

What do you call a "number array" though?
"character[]" is not a array of numbers, it's array of Character* pointers.

The manual mentions these with example here:
https://adventuregamestudio.github.io/ags-manual/GlobalArrays.html
#307
I see now, when run from the editor, the AGS game reacts on mere presence of "Speech" folder, because it counts as an alternate clip location. When run from a compiled exe it will look for vox only.

Probably it could test for the presence of any sound files in the folder too.
#308
QuoteI feel like if I could access the character.ID integer array, I could do it easily with a "for" statement, but there doesn't seem to be a way to do that anymore since the script now uses name pointers instead of ID numbers.

This is a misconception, the script does not use "name pointers", it uses pointers, which may be stored in named variables (either generated by the editor, or declared by you), as well as in arrays.

There's a global array for each precreated object type in AGS. For characters this is "character[]" array. But you may create your own, if you need to only store particular objects there.

Some random examples:
Code: ags
for (int i = 0; i < 10; i++)
    character[i].Move(...)

Character* someCharacter = character[5];
Character* anotherCharacter = cEgo;

Character* enemies[10];
enemies[0] = cZombie1;
enemies[1] = cZombie2;
enemies[2] = cZombie3;
...
for (int i = 0; i < 10; i++)
    enemies[i].Move(...)

In the context of using placeholder characters as enemies, I may mention a ObjectPool module which I wrote for keeping track of used and free objects: https://www.adventuregamestudio.co.uk/forums/modules-plugins-tools/module-objectpool-keep-record-of-reusable-objects/
#309
Please tell which version of AGS are you using?
#310
Updated to Beta 4
(Please use download links in the first post)

Changes in this update:

Editor:
- Added TextureCacheSize and SoundCacheSize properties to Default Setup. These let configure the sizes of runtime texture and sound cache sizes respectively.
- Fixed Labels don't draw text in preview (regression since the previous Beta 3).

Engine:
- Implemented "texture cache", in addition to the existing "sprite cache". The texture cache keeps textures generated from raw sprites and lets reusing them, improving performance and reducing CPU workload. The textures mostly occupy the video memory (on GPU). The actual impact is proportional to the game's resolution and amount of simultaneously animated objects on screen.
- All the script File functions now treat paths in case-insensitive way (including subdirs), which makes them platform-independent.
- Added new config settings in "graphics" section: "sprite_cache_size" (which replaces deprecated "cachemax" in "misc") and "texture_cache_size".

WinSetup:
- Added options for setting texture cache and sound cache size.



These were the the last major changes planned for the 3.6.1 update. I suppose we'll leave this in Beta stage for a couple of months, to let people test this, and fix/improve things as needed.
#311
Quote from: Gal Shemesh on Sun 09/07/2023 12:24:41However, even if I'm running a game without any sound files in the Speech folder, the IsSpeechVoxAvailable returns the value 1 as if there are.

Is speech.vox present in Compiled folder?
#312
Quote from: cat on Sun 09/07/2023 08:03:35Wouldn't copying the source to another repository remove the version history of the new development?

There are various options here:
- copy source files;
- copy whole git repository contents, with history;
- clone (fork) wip repository.

There's an option to rename previous repository to "Old Demo Game" and free "Demo Game" title. Or not rename anything, and call new repository "Demo Game 2023" or something.
#313
It's almost trivial to reimplement in script, this is a combination of
* character animating using particular view
* blocking message displayed

First may be done using Character.Animate, second using textural overlay, or GUI and Wait* commands family.
#314
Manual:
https://adventuregamestudio.github.io/ags-manual/Character.html#characterthink

QuoteIf the character has a thinking animation, it will just loop through once (it won't repeat).
#315
Quote from: cat on Fri 07/07/2023 15:52:59I noticed that there is already a repository for an AGS demo game. How should the new demo game be hosted and handled?

Having it under source control is a must, but it does not have to be in the same existing repository from the start.

I suppose that after the new demo game reaches working state, it may be copied over to the official ags repository, replacing old game (and old game may be left in a backup branch).
#316
I have experienced problem with my own internet connection recently, which is unrelated to this website of course; but something I noticed is that although other sites load up eventually, AGS forums constantly timeouts (i receive ERR_CONNECTION_TIME_OUT), usually during me trying to post, in a mere 2-3 seconds.

Is this because the forum is configured to have a very short timeout?
#317
I found certain behavior in 3.6.0 which may be seen as a design oversight, but I wanted to hear other peoples opinion on this too, before I do any changes.

Prior to 3.6.0 graphic overlays always made a copy of the original sprite. This was inefficient (but since overlay numbers were limited, it was not a very big deal), but also meant that if you create Overlay from the DynamicSprite, and later change DynamicSprite, then the overlay will not be updated.

Since 3.6.0 this is controlled by a parameter to CreateGraphical, but default is to not copy, but reference a sprite instead. This means that changing dynamic sprite will also affect overlays which reference it.

Something I missed is the resizing of DynamicSprite. It appears that if you do, the overlay will use new image but keep old size.

Fixing this may be trivial, but there's a logical conflict with the manual Overlay sizing, using Width & Height properties.

My thinking is that there are two options:

1. Require user to handle this. That is - don't resize overlay automatically, and let user decide whether to set overlay's size after resizing a dynamic sprite.
This is the current behavior, and may be left as-is.

2. Have 2 "modes", where overlay either follows sprite's size or keeps user-set size:
* Overlay remembers whether it had its size explicitly set by user script; upon creation it is in "auto" state and sizes to the sprite's size.
* If its sprite is resized, and it was never resized by user, then it will automatically change to the new sprite's size.
* If it was explicitly set size by user, then it keeps that size.
* Additionally, let user pass Width or Height as 0, which reverts Overlay to auto-resizing.
#318
Quote from: ClearlyBrogan on Wed 05/07/2023 18:57:42Also, how would I add a dialog option once a variable is happened.

For example, player goes to a church but it's closed.
Now I want a dialog option to appear asking "when does the church open?"

It's mentioned in the same article, only couple paragraphs higher:
https://adventuregamestudio.github.io/ags-manual/DialogScript.html#dialog-commands
also there are regular script functions to do similar thing from normal script:
https://adventuregamestudio.github.io/ags-manual/Dialog.html#dialogsetoptionstate
#319
Unfortunately this was not noticed prior to Beta 3 release, but there's a new regression: the GUI labels do not draw any text in the Editor (at design time).

Here's a fixed update:
https://cirrus-ci.com/task/6658536059437056
#320
My main suggestion would be to not have paths too close to the room edges, and have some space between them (unless they lead outside the room of course). I'm pointing at locations 5 and 6 in the first room.

Do you have any kind of a character's placeholder sprite, which could be used for the size reference?
SMF spam blocked by CleanTalk