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

#201
Quote from: Crimson Wizard on Fri 03/01/2020 00:21:28
You missed * there in the import.
Also, you need to export the variable in the script body:
Neat! It works just fine now.

Quote from: Crimson Wizard on Fri 03/01/2020 00:21:28
No, I meant, getting timer pointer by name instead of having to import/export global variable, like
Sure, that'd be easier!

Quote from: Crimson Wizard on Fri 03/01/2020 00:21:28
Regarding the way you suggested, if such function existed you would have to still create a timer object first, and it will be less safe, since it's a pointer and may appear to be null. I could add this as an option though.

Alternatively, I'd have to redo all the module and make timers non-pointers, which may be possible but have its own complications...

Oh, please don't do it then. That sounds like a lot of work!

I meant obviously like that:
Code: ags

Timer*MyTimer;

MyTimer.Start(120,eOnce);

So I though ,-if reading the name as a timer is less safe, it could automatically infer "=Timer". But I don't know how it works, and again, if that's a lot of work don't bother. Your module is already easy enough to use as it is  :)
#202
Quote from: Crimson Wizard on Thu 02/01/2020 22:37:22
* if variable is declared outside a function in the script body, then it may be used inside that script body;
OK, I assume I didn't try right in the beginning. That works fine, thank you.

Quote from: Crimson Wizard on Thu 02/01/2020 22:37:22
* if variable is declared as import in the script header (or on Global Variables pane), it then may be used in any script below that header.
However, that isn't working.

I have in the Global Script body this line:
Code: ags
Timer*attacktimer;


Then in the header GlobalScript.ash:
Code: ags
import Timer attacktimer;


And in the script below of room 17:
Code: ags
attacktimer=Timer.Start(120, eOnce);


And I receive this error message:
QuoteFailed to save room room17.crm; details below
room17.asc(29): Error (line 29): cannot assign to 'attacktimer'


Also, is there actually a way to add Timer* types to Global Variables? It's not in the type list.

Quote from: Crimson Wizard on Thu 02/01/2020 22:37:22
Also, idk if it's a typo or it's really in your code
Yeah lol, it's a typo, I copy and pasted from your Module description I think, but it wasn't like that in the script.

Quote from: Crimson Wizard on Thu 02/01/2020 22:37:22
Maybe it's another bug in AGS script (i thought something similar was fixed earlier). I will check this out.
I am using AGS 3.5.0.22, so not the most recent version. I received an error message that said "pause" in timer script can't be defined, because it's already defined.

Quote from: Crimson Wizard on Thu 02/01/2020 22:41:18
Thinking about this, it may be possible to support Timer's name and getting Timer by name, as a feature for the next version of this module...
You mean for example like
Code: ags
MyTimer.Start(120,eOnce);
?

Yes, that would make it way more comfortable and intuitive to code.
#203
Hi!

I was trying to use Crimson Wizard's Module "Timer 0.9", mainly so I can use more than 20 timers.

However the timer's name is only recognized within the function in which I defined the Timer.

For example:

I define the timer in global script in the game_start function:

Code: ags
Timer *MyTimer;


Then I start the timer in a different function:

Code: ags
Mytimer=Timer.Start(120, eOnce);


And I test for expiration in repeatedly execute:

Code: ags
if(Timer.IsExpired(Mytimer))
{}


All exactly as in the Module description. However the engine does not remember the "Mytimer" definition outside the function so I get an error:

Code: ags
GlobalScript.asc(494): Error (line 494): Undefined token 'Mytimer' 


I can place all the functions within the game_start function and the engine recognizes the defined term. Obviously that makes the timer unusable.

Is there something I'm not seeing here?

I imported the module normally into the scripts:



Just in case it matters I had a "pause" bool in Global variables that I eventually changed to "pause2" because the Time0.9 Module has defined something as "pause" as well.
#204
Demo games always help. I'll check it out thank you

Btw. The links didn't work for me I had to change the ending to download it, e.g.  "... ags-script-modules.git" to "... ags-script-modules/downloads/" maybe that's just my PC
#205
Cool. Umm, Crimson's Struct Stream? I saw Phemar created a type writer module which seems pretty cool.

Since the problem is related to bottlenecks in hardware and PC performance it would be pretty cool to have an option in the future to change the quality of your game (Low, high resolution), so that you can create a high resolution game that can be played on all computers. Also interesting to find out where the bottlenecks are exactly. Would be cool if the engine could instead of displaying error "not enough memory", it could display "Your Computer performance is not high enough.(or your graphic card is not compatible) Want to switch to lower quality?"

I might suggest that to developmnt at some point.

HEre's a summary of gthe thread for lazy people who deaL with high resolution lagging:


SUMMARY AVOID LAG

Spoiler

To avoid lag in high resolution animations you can pre-load sprites. This is useful for in-game animations.
Fastest and easiest way is Mouse.ChangModeGraphic, e.g. sprites 1-100

Code: ags

int sp=1;

while (sp>0&&sp<101)
{Mouse.ChangeModeGraphic(sp, eModeUsermode2);
sp  ;}


You can also play videos as the animation. This is useful for cutscenes.
Personally I used Synfig and a video editor to turn the animation into a video.

Side note: There is a plugin that allows you to play videos in the background, so that you can play music, audio at the same time, and place, text, objects, characters, etc. on top of the video. For Windows only

[close]

Thnkas
#207
So I'll answer you quick, before the holidays begin:

Quote from: Crimson Wizard on Sun 22/12/2019 14:26:38
But, could we please keep the discussion in this one thread?

Yes, no problem.

Quote from: eri0o on Sun 22/12/2019 14:56:17
In the project I have a crash here:

Code: ags
in "room1.asc", line 611

Error: SetCharacterView: invalid view number (You said 43, max is 6)


Yes, you're absolutely right. Thanks for pointing that out. It is set to the view number in the original game, and I could not notice because the animation always crashed before I reached the end. I will note that in my comment above.

Quote from: eri0o on Sun 22/12/2019 14:56:17
Here is the game on my pc, not sure where the lagging parts are supposedly to be.

I watched your video, and the animation is being played flawlessly! And the music playback? There was no problem with it?

I have 3.84 GB usable RAM, and 2.2 GHz CPU. Shouldn't that be working as well?

So is my computer simply to slow to perform the animation?
Or is it because you use Ubuntu?
Or is it mainly the graphics card maybe?

My graphic card is called "Mobile Intel(R) 4 Series Express Chipset Family".
And I see now that it has 1,76 GB usable memory, maybe that is the memory that is relevant for the game!? And not at all the computer memory?
So if it has to use 1,9GB as you said, but has only 1,7 GB available, maybe that is when the game starts to really lag???

On my PC the animation starts lagging for example right in the beginning during the scene with the three flying marbles in front of the island and water (scene 14). Those sprites are not pre-loaded and during the animation the music is constantly interrupting and the animation goes about very slowly.
Also on scene 17, with the big moon, it lags a lot. And then there is the error message. See:

https://streamable.com/pl296

(Sorry for the terrible audio, maybe make sure to lower the volume beforehand. I wasn't aware it was recording with the computer inbuilt mike, but you get an idea on how it lags)

Quote from: eri0o on Sun 22/12/2019 14:56:17
As CW said, this is not an easy to solve problem and will take time on multiple different areas in the Engine.

Yes, I am aware, and I am not expecting any fast results. I am turning the animation into a video for now. I use "Synfig" as a software, which is quite easy to use and is perfect for this job. The animation might look even better after that!

Quote from: Crimson Wizard on Sat 07/12/2019 16:10:48Engine does not do anything that could lead to this. The only explanation that I have is that maybe operating system keeps some of the loaded data in its own cache and this allows for faster inserting them back into engine memory when it asks to load files from disk. I heard Windows actually may do that with larger apps so it's faster to start them up later.

Crimson Wizard, actually I can confirm your theory. I was editing the sprites in another software, "Synfig", to prepare them to turn them into video, and then when I opened AGS and played the animation for the first time, the animation was played fluently, as if the sprites were already pre-loaded, even though they were not! I basically pre-loaded them in a different program lol! That's the same reason why they were "pre-loaded" by previous game launches.
However I tend to believe that they are not necessarily saved in the working memory of the computer, but actually in the memory of the graphic card. I think that would make total sense, don't you?

Quote from: Cassiebsg on Fri 06/12/2019 17:15:43
You can see the plugin in action on this game (...)
Or my own game in the intro and start movie/cutscene

Cassiebsg I actually wanted to ask you about the intro: those text titles are really smooth! Were they part of the video or did you add them with AGS?



Alright, and enjoy the holidays I guess
#208
Quote from: eri0o on Sun 22/12/2019 14:09:37
several days -> 3 days just before Christmas. This is important, it's just that other things are happening at the same time.

Alright, of course, and no problem at all. I just wanted to know.  :)

Quote from: Crimson Wizard on Sun 22/12/2019 14:22:32

It's impossible to solve this problem fast, a lot would have to be accounted for and changed in the engine to let it handle this properly, and there are other pending tasks already too.

At most we can test and find some temporary workaround.

Also, why are there two threads about same problem? There was an original one, and we are discussing practically same things.

I did really not expect or ask for it to be solved fast, I just wanted to know if it was taken into account.

I started asking about the issue in the technical forum. The pre-loading of the sprites was really helpful what you told me, but it became obvious that there are certain limitations and bugs of the engine, the longer we discussed the issue.
And improvement on the engine is addressed in the engine development.
Also you mentioned yourself that I could propose in the engine development to improve texturing.

At the same time you seemed very busy and not to have a lot of time to look into this the time before I posted in engine development, so I reckoned maybe some other people in engine development have more time. I imagined it could be some work.

If it was a stupid idea, you can delete one of the threads, I really don't mind. I just wanted to bring up the issue, that's all.
#209
Btw, did anyone look into this? Does it lag just as much on other computers? Is there something that can be done about it? Or is it not so important an issue for now? I'm just wondering...
it's been several days without a reply...
#210
Quote from: Crimson Wizard on Tue 17/12/2019 10:56:24
The main point may be, when loaded in game sprites are uncompressed, so if you load all the animation at once it alone would take that much (2 GB, right?). Something to keep in mind.
Playing video file, on other hand, will keep only limited number of frames at once, so I believe it's worth to test video too.

Yes, it's important to keep that in my mind.  I'm making first attempts on how to best convert the animation into video just in case.
However the issues I mentioned are still software related, and show up in a way less extreme way during game play as well (game slowed down etc., little "cracks" in the music). And since AGS offers the possibility for even bigger size templates (1920x1200) it remains quite useful to look into it as far as I can tell.

So here is the link to the animation project with the lagging animation:

https://drive.google.com/file/d/1tTeDxlTogBwmSCQ3csK1u5VNHg91njya/view?usp=sharing


Note:Make sure to delete line 611 in room script "room1.asc", I forgot to do that. It is a line from the original game and causes an error in the demo.


About the file:


It's 1,1 GB big, decompressed 3,16 GB.

The version used is: AGS 3.5.0.20 (Edit:RC4)




You can view more information about the script here

Spoiler

I created a quick overview of the different scenes as well to make it easier to understand the script if necessary:

https://i.imgur.com/9uvX9XX.png

I call the different scenes "pic" in my script, I guess I wasn't paying too much attention when choosing the term :P

So "Pic" 1-13 are static, 14-30 animated.

For the animation test I skipped 1-11 in the script, so as to test especially the animated part. I did not pre-load all the sprites, only some of them, so not all scenes/pics should be fluent.
You can check everything out in the room1.asc script.
Besides the room1.asc script I have coded only two functions in GlobalScript, the
Code: ags
function late_repeatedly_execute_always()

and
Code: ags
function late_repeatedly_execute_always()


The rest is all default game script.

Because of the lagging I did not end and perfect the animation. Some movements might be too slow or fast, the lighting bolt in scene/ pic 25 is misplaced, and I don't know about the last scenes because I never saw them in the Animation test project due to the error message. Music not perfectly placed etc.

[close]

Again, the problems that occur are as follows, ordered by importance:


1) The music is lagging while the sprites are loaded into cache. All game activities/loops seem to pause while a sprite is loaded into cache (the Loading symbol in the beginning of the game is a room background animation and should be moving as well).

2) I get an error message in the middle of the animation, even though my computer memory is not exhausted, as far as I can tell.

3) The loading into sprite cache takes a lot of time. When I skip the cutscene in the original game e.g. I have to wait an estimated two minutes before the game continues.


Good testing!
#211
Quote from: Crimson Wizard on Tue 17/12/2019 11:19:30
What is your current cache size setting, and what is your system memory?

My current sprite cache size is 1GB. I have a good deal more RAM, so I don't know why this happened.

Quote from: Crimson Wizard on Tue 17/12/2019 11:19:30
Sure, I can take a look.

So here is the link to the animation project with the lagging animation (I added it as well to the other thread for the developpers):

https://drive.google.com/file/d/1tTeDxlTogBwmSCQ3csK1u5VNHg91njya/view?usp=sharing

Note: Make sure to delete line 611 in room script "room1.asc", I forgot to do that. It is a line from the original game and causes an error in the demo.


Click below to view more file info
Spoiler

About the file:

It's 1,1 GB big, decompressed 3,16 GB.

The version used is: AGS 3.5.0.20 (Edit:RC4)


About the script:

I created a quick overview of the different scenes as well to make it easier to understand the script if necessary:

https://i.imgur.com/9uvX9XX.png

I call the different scenes "pic" in my script, I guess I wasn't paying too much attention when choosing the term :P

So "Pic" 1-13 are static, 14-30 animated.

For the animation test I skipped 1-11, so as to test especially the animated part. I did not pre-load all the sprites, only some of them, so not all scenes/pics should be fluent.
You can check everything out in the room1.asc script.
Besides the room1.asc script I have coded only two functions in GlobalScript, the
Code: ags
function late_repeatedly_execute_always()

and
Code: ags
function late_repeatedly_execute_always()


The rest is default game script.

Because of the lagging I did not end and perfect the animation. Some movements might be too slow or fast, the lighting bolt in scene/ pic 25 is misplaced, and I don't know about the last scenes because I never saw them in the Animation test project due to the error message.

Again, the problems that occur are as follows, ordered by importance:

1) The music is lagging while the sprites are loaded into cache. All game activities/loops seem to pause while a sprite is loaded into cache (the Loading symbol is a room background animation and should be moving as well).

2) I get an error message in the middle of the animation, even though my computer memory is not exhausted, as far as I can tell.

3) The loading into sprite cache takes a lot of time. When I skip the cutscene in the original game e.g. I have to wait an estimated two minutes before the game continues.


So hopefully it all made sense the way I explained it and I didn't forget anything, I'm a bit tired.
[close]

Good testing!
#212
What does that mean? Does it have any consequences on the game?
#213
Quote from: Crimson Wizard on Sun 15/12/2019 00:50:28
Erm, now reading your post (...) and learning there's over 500 sprites in animation in 1600x900 res, I begin to question whether the idea of using sprite animation is a good one in the first place. It's just that you may get pretty high memory requirements with this if you push all that into cache at once.

Actually not every sprite is sized 1600x900. Only the background frames, and certain animations where the entire background is animated.
Also, it is not my goal to load the entire animation into sprite cache at once.
The main problems that I believe to be related to the engine and think could be improved are these:

1) That the music and the rest of the game lags while the sprites are loaded into the sprite cache.

2) That I get an error message in the middle of the animation:
Shouldn't the old sprites be discarded from the sprite cache when new ones get loaded? So why do I receive an error message? There should be enough space to load new sprites into the cache when the old ones are discarded, right? I believe that's a malfunction of the program of some sort, isn't it?

Quote from: Crimson Wizard on Sun 15/12/2019 00:50:28
Normally I think the solution here is to at least have a resource streaming in a separate thread, this is something that Nick Sonneveld is trying to add to AGS in his experimental branch.

What is that resource streaming? Do I stream the sprites from a different thread?
Are you talking about Sonneveld's Adventure Game studio fork? (https://libraries.io/github/sonneveld/ags)
I wouldn't know how to use it. I have never used Visual Studio before. I'm not coding. Only basic AGS coding.

Quote from: Crimson Wizard on Sun 15/12/2019 00:50:28
What is the largest sprite size in your game?

Actually I changed the "larger than screen" sprite. It was 2081x900 big, but I split it into two sprites afterwards, so 1600x900 and 481x900. Hence the biggest sprite is 1600x900 big. But the error message remains.

So can I send you the animation project link once it's uploaded? Just to look into it?
I believe there are still things that can be improved about the program that are entirely unrelated to hardware demands. Like the lagging music for example.
#214
Quote from: eri0o on Sun 15/12/2019 08:58:12
Just some math here: 1600x900x4 -> 5.7 MB per sprite
5.7 x 600 frames -> 3.5 GB the full animation.

eri0o, the compressed sprite file is 668MB big, uncompressed it's 2 GB big.

The sprites have different sizes, so not every sprite is 5,7 MB big, obviously.

Quote from: eri0o on Sun 15/12/2019 15:12:13
I wanted to ask this on the original topic, but it would be nice if there was a small tiny project with high resolution assets that was public (open source) and reproduced all the problems listed, so it would be possible to improve with a target goal.

Sure, I can upload it and be very precise about what things would be good to improve, no problem. Maybe it would be good to see that the lag occurs in more or less the same way on different computers as well first.

I might look into the script first to make sure that I mark every part to be easier to overview.
Quote from: Crimson Wizard on Sun 15/12/2019 15:18:45
I was going to suggest that, before realizing that this test project won't be TINY :D. Your calculations above show what I mean.

I might compress it beforehand.

It will probably just not be right away, and the uploading takes some time as well, but I can definitely do it.
#215
Hi!

I have been working on a game with 1600x900 dimensions and photo-realistic sprites. And now that I added a more elaborate intro animation of 500-600 sprites, the animation keeps lagging, the music is faltering and clicking, and repeating itself on one part like a damaged CD! Also I keep getting error reports like this:


Or this:



So my suggestion is to work on the procedure of especially loading Sprites into the Sprite Cache, and maybe the texturing of sprites, to make it possible to have longer-period, high resolution animations without bugs. To make it faster and not mess with the music.
In my game it is so troublesome to make it work. The animation with the lagging music is painful to watch.

For anyone who would like to do a higher resolution, higher quality game in the future, I think it would be very worthwhile to have a more solid engine and improve this part.

#216
No, it's fine Cassiebsg, it's a constructive idea.

Well, I created a new project only with the animation and it lags just as much.

I also tried to change a few things in the original project to use less sprite cache. For example by using a larger than screen sprite and then move it around, instead of having an animated object as the moving background frame by frame.
But now I am getting a new error message:


And also this one, which doesn't make a lot of sense to me:



And I get a similar error message as the first one in the dummy game I created with the animation as well:


And sometimes messages like the second one. It's a mess.


I am not a coder or programmer, I don't know how to fix the program...

I guess I send it to Crimson, in case he's gonna look into it...

I assume AGS simply isn't the engine to go to for high resolution games and animations.
#217
Ok, good to know, it works until 1000 loops per second I see. And for the sprite loading, do you think you'll be able to create a dummy game?
#218
Quote from: Crimson Wizard on Sat 07/12/2019 16:10:48
I think it's worth trying to add Wait() command in this process. For example, if you have 1000 sprites to preload, load 100, call Wait

How does waiting after 100 sprites make any sense? My game starts lagging from only one full-sized sprite on sometimes. If it has not been loaded into the sprite cache I display a sprite and the music starts clicking and pauses for a second before the next sprite is displayed. Sometimes it clicks and breaks several times during one single sprite when I have a full 1600x900 sized animation.
After 100 sprites I have already 100 lags.

I experimented anyways with the idea of adding a Wait function, but after each Mouse.ChangeModeGraphic function, in case that creating some time gap between each sprite loading might help.
Something like this for example:

Code: ags

int sp=1;
while(sp>0&&sp<1001)
{Mouse.ChangeModeGraphic(eModeUsermode2,sp);
Wait(10);
sp++;}


But that does not work.

Quote from: Crimson Wizard on Sat 07/12/2019 16:10:48
I wish I had a way to test it, but I dont have a game with large sprites at the moment (I may try making a dummy game later).

Yeah,I'd appreciate it, that is probably the best way to go about it. I tried to recreate the situation with 90 large sprites in a separate game but it did not lag. It's just happening in my game. Maybe you need a big enough amount of sprites?
However it is acting really bizarre in my project. The whole game seems to freeze while the sprite is loaded into cache. I added an animated Loading symbol as the (5 frame) background animation of the room, since those sprites are handled independently from the sprite file, but even the background animation starts to freeze. Also the music playback -and everything else happening on the screen- freezes... it seems like the whole game comes to a halt and waits for the sprite to be loaded into the cache before continuing.
I don't know if I have to send you the game again in order to find a way to fix this sigh. But maybe you are able to replicate the situation.

Quote from: Crimson Wizard on Sat 07/12/2019 16:10:48
The only explanation that I have is that maybe operating system keeps some of the loaded data in its own cache (...) I heard Windows actually may do that with larger apps so it's faster to start them up later.

I know nothing about that. It's possible.

Quote from: Crimson Wizard on Sat 07/12/2019 16:10:48
It takes extra time to put them on display, in addition to loading (regardless of how and when you load). I hope we will improve (reduce) this extra time in later versions.

I experimented a little bit with the putting on display. The engine displays an animation with the highest possible speed (of 40 frames/second) without delay: 40 frames within 1 second, even for high resolution animations. And when it is not fast enough to display it, it simply skips one sprite in the loop, but one wouldn't notice because it's animated so fast. (So used for loading sprites it probably does not even slow down the loading process, put simply skips a few sprites). Honestly I think it's working good enough ... but it's especially the process of loading into the sprite cache which really slows things down...

And actually the object animation and redrawing thing is not really important. I only thought animating the object might be easier to script, but that is not at all the case. Plus you are limited to 40 sprites per second, while you can loop the Mouse.ChangeModeGraphic up to 150.000 times in less than a second, so that says everything. It's very interesting to know about the object sprite display, though.

Quote from: Snarky on Sat 07/12/2019 16:40:07
Probably because otherwise you'd have to take into account the object height/width to decide whether to draw it.
That makes total sense.
#219
Quote from: Cassiebsg on Fri 06/12/2019 17:15:43
It can, as it renders the movie in the background.

Great, I'll keep it in mind. I'm currently downloading the games to check it out a little.

Quote from: Crimson Wizard on Fri 06/12/2019 19:32:06
Perhaps, try turning threaded audio on.

I tried (with both acsetup files). It did not work. There is nothing else I can do?
If there was a way, the problem would be solved and I could finish my cutscene!




Quote from: Crimson Wizard on Fri 06/12/2019 19:32:06
Do you mean that animation sprites are found in the cache when you re-launch the game, even before you do the preload? How did you find that out?
YES, the animation sprites were found in the cache when I re-launched the game, even before I did the preload.
I started the game from the editor when I observed this. The parts of the animation I had played the previous launch were fluid.

Quote from: Crimson Wizard on Fri 06/12/2019 19:32:06
BTW this reminds me, we should add this to Default Setup, and maybe to winsetup too...
Sure.

Quote from: Crimson Wizard on Fri 06/12/2019 19:32:06
For actually preparing sprites for display on screen there may be additional action of course, but it's something that cannot be avoided.

OK, so it DOES take more time right? And for the re-drawing of sprites, an object that is covered by another object, are its sprites being re-drawn or not when it's animated?
#220
Jack

I appreciate the recommendation.


Cassiebsg

My first priority for now is to explore the options I have that work for both the windows and Mac platform.
But do you know if it is possible with this plugin to play an animated object on top of the playing video?
It's not addressed in the thread.
This would prove to be really helpful if the other options fail.
Thanks for the link.


Crimson Wizard

So, the sprites were actually being saved in the sprite cache even after I closed the game and re-started it, that's actually what I meant. But I opened the game from the game editor, so not via the .exe or winsetup file. If that is actually surprising to you and you want to look into it, I used the AGS 3.5.0.17 / RC1 version. I haven't tested it on the more recent versions. Also it only worked when the "Compress the sprite file" option was set to false.

I'm actually looking forward to the day that my computer is going to crash because of a 2D point and click game lmao.
When I pre-load part of the animation cutscene into the sprite cache and then start the .exe or winsetup file it works.
But when I pre-load ALL the sprites of the animation I receive this error message at some point during the pre-loading process after the game started:


And it does not matter if I set the Sprite cache size to 1GB, 10GB or 15 GB and then export the game. When I start the game I still get the error message at the same point.

I interpret the message in the sense that the sprites of the complete animation have a size of 5,76 GB, and since the working memory of my computer is less than 5,76 GB the engine has no way to save them.
I have no knowledge on how to read these kind of messages, so tell me if my interpretation is wrong.

Another option that could really save me with this issue is if I could actually play music while the sprites are loaded into the sprite cache. Right now the music starts stagnating and faltering when it plays while the sprites are loaded into the sprite cache.
If I could play sounds and music while sprites are saved into the sprite cache I could use a slowly animated frame/ a still frame/ a black frame while the new sprites are loaded into the cache in the middle of my animation cut scene, and in this way I could avoid the sprite cache to be overloaded by uploading each half of the sprite group separately, instead of all at once. Maybe if I use certain audio formats, or use specific functions or do anything else I might be able to prevent the sounds from faltering?

Side note on pre-loading:
Is the engine loading the sprites faster into the sprite cache if I use the "Mouse.ChangeModeGraphic" function on every sprite, instead of playing every single loop of the animation cutscene on an objec? Or is it taking the same amount of time?

EDIT: Right, you already told me that the sprite is not loaded into the cache until the object is being redrawn. And there is no way to work around it by placing the object outside the screen or covering the object by another object? It still means that it's not being redrawn? Actually you could set a characters transparency to 99, and run the character through all the loops. I don't believe you can actually see it when the transparency is set to 99 on a black background.
Still I assume it takes longer because of the texturing and redrawing.
SMF spam blocked by CleanTalk