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

#1
Thanks a lot for your long answer. Good job for all you are doing !

I double checked, in the thread about web port, it's written "you can't compile games more than 300Mo". But not a big problem for me, I think I will not port my game for the web :)

Also, I have to ask about AGS 4.0 : currently, if I delete some rooms, the ID numbers don't change. I think it's intended, while it could be confusing (but not a real problem...). What do you think ?
#2
Sorry for double post, I hope it's not too much "out of thread" if I ask here.


I would like to know how AGS 4.0 is "good" to manage games with high resolution (1920*1080), high quality graphics (like photos as rooms' background), BUT no animation ? I'm thinking about another Point'n click game of this kind, so I'm asking here.

ALso, if it's not a secret, what are the next improvement AGS 4.0 will get about that ? (speed in scripts/sprites management/memory...)

The best for me would be to host my game on the web, but I don't know if the game's size allowed to be hosted on web will be increased ? (with 1920*1080 sprites, it can be quickly heavy, and if I remember well, I have read that it was for about 300Mo max for a web port).
#3
That's exactly what I mean :) Sorry for my bad english...

It could be a quality of life feature ! There is no reason it doesn't resize like buttons ?
#4
Hi !

I'm using the last version of AGS 4.0, and it seems giving a slider a background image doesn't give it the same size as the image itself. So it's a bit annoying because you have to drag it manually or enter the right values in the editor panel.

Is it a bug ?
#5
Thanks for explanations !

But, it has changed recently ? I remember errors while compiling, with the message " 'ressource' is already defined". I didn't know it was possible now...

By the way, sorry it's a bit out of the thread because it's not a bug :)
#6
Quote from: Crimson Wizard on Sun 13/04/2025 21:28:27
Quote from: Baguettator on Sun 13/04/2025 21:04:22EDIT : OK, it was an error from me, but the compiler didn't indicate the right error/line : it was because I declared "int ressource" just before, but the problem is that "ressource" is already an int[][] in my script. The compiler should have told that "ressource already exists !

Where exactly did you declare that other "ressource"?

It's allowed to declare another variable of the same name in a different scope. That is a common behavior in programming languages.

For example, if you have a global variable VARIABLE, you may still declare a local variable VARIABLE inside a function, and it will override the global one for the duration of that function.

For example :

Code: ags
// In another script :
int ressource [TOTAL_RESS, TOTAL_CATEG];
// This is exported and shared with all other scripts
// ...

// Then in Global Script :
function Myfunction ()
{
  int ressource=Random(8);
    String mot;
    if (ressource==0)
    {
      mot="Carburant";
      ressource=Random(2) + 2;
      if (player.Room==ROOM_EXP) ressource[carburant][exp]+=ressource; // => Compiler says an error here : "An array index cannot follow an expression of type 'int'"
// etc...
}
#7
Well, "nourriture" and "colo" are enum values :

Code: ags
enum Ress
{
nourriture=0,
...
};

enum Type
{
colo=1,
...
};

Will try to do as you say !

EDIT : OK, it was an error from me, but the compiler didn't indicate the right error/line : it was because I declared "int ressource" just before, but the problem is that "ressource" is already an int[][] in my script. The compiler should have told that "ressource already exists !
#8
Thanks for helping, I fixed my code :)

I encounter a problem, it seems a bug from the v4 compiler.

Here's my code:

Code: ags
int ressource[TOTAL_RESSOURCES, TOTAL_CATEGORIES_RESSOURCES];
[...]
Ressource1[0].Text=String.Format("%d", ressource[nourriture][colo]); // This is line 1171

And the compiler displays an error :
Struct_Events_Colonie.asc(1171): An array index cannot follow an expression of type 'int'

Any idea ?
#9
Quote from: Crimson Wizard on Tue 08/04/2025 16:38:27
Quote from: Baguettator on Tue 08/04/2025 16:19:05I have no problem with v3 compiler. Is it a bug ?

v3 compiler lets numerous syntax mistakes pass where it should report error. v4 compiler is more strict.

set_ functions of attributes must be "void", because they set and not return. You have other set_ functions as void above, except set_Mort.

Also, you do not need to declare get_ and set_ functions in the struct, attribute declaration is enough.

Thanks for helping !

Is it "I don't need" or "I must not" declare get_ and set_functions in the struct ? Because the compiler indicates errors, I had to remove them from the struct in the .ash file.
#10
Oh, thanks, I didn't enable it, I thought it was enabled by default !

I got an error when v4 compiler is activated, and I don't understand what it means :

"Struct_Personnage.ash(97): Return type of 'Personnage::set_Mort' is declared as 'bool' here, as 'void' elsewhere. See line 85"

Here is a part of my script (inside the struct "Personnage"), I indicated the lines mentioned in the error message :

Code: ags
import attribute int Blessure, Maladie, Zombivant, Infecte; // L'usage de ces variables est protégé par la struct
  protected int blessure, maladie, zombivant, infecte;
  import attribute bool Mort; // => THIS IS LINE 85
  protected bool mort;
  // les fonctions suivantes sont internes à la struct, elles ne peuvent pas être appeler directement
  import int get_Blessure(); // $AUTOCOMPLETESTATICONLY$
  import void set_Blessure(int _blessure); // $AUTOCOMPLETESTATICONLY$
  import int get_Maladie(); // $AUTOCOMPLETESTATICONLY$
  import void set_Maladie(int _maladie); // $AUTOCOMPLETESTATICONLY$
  import int get_Infecte(); // $AUTOCOMPLETESTATICONLY$
  import void set_Infecte(int _infecte); // $AUTOCOMPLETESTATICONLY$
  import int get_Zombivant(); // $AUTOCOMPLETESTATICONLY$
  import void set_Zombivant(int _zombivant); // $AUTOCOMPLETESTATICONLY$
  import bool get_Mort(); // $AUTOCOMPLETESTATICONLY$
  import bool set_Mort(); // $AUTOCOMPLETESTATICONLY$ => THIS IS LINE 97

And in the .asc script file, the function is declarated like this (it's empty because I don't want anything able to modify this attribute directly) :
Code: ags
bool Personnage::set_Mort()
{
}

I have no problem with v3 compiler. Is it a bug ?
#11
Hi !

I'm trying the new multidimmensionnal arrays system, but I encounter an error when building the game.

Here how I proceeded :

.asc script :
int ressource[TOTAL_RESSOURCES, TOTAL_CATEGORIES_RESSOURCES];
[...]
export ressource;

.ash script :
import int ressource[TOTAL_RESSOURCES, TOTAL_CATEGORIES_RESSOURCES];

It's telling "expecting ]" for the line in ash script.

Any idea ?
#12
Hi Eon_Star !

Thanks for your answer !

The first thing the most needed for my app is the graphic design for several rooms, that represent rooms of the shelter of the survivors. Like : the kitchen, the garage, the craftstation, the roof...

I don't know if you are familiar with zombicide universe, but here is a link to their products, you can have a look at the boxes, the graphism, tokens etc... It's a post-apocalyptic style, with cartoon graphic style and a lot of derision too.

https://www.zombicide.com/fr/classic-zombicide-products/

It's not intended to imitate their graphic style, but something cartoon (not too serious, not too cartoon) is very good for me !

Let me know if it inspires you :)
#13
Hi !

I'm developping a Zombicide companion App since several years, to play with the tabletop game Zombicide (V1 modern version).

I'm looking for an interested graphic designer to work on rooms' backgrounds, representing the shelter of survivors. The app is a Colony's management simulation, and creates a campaign mode with new exclusive features.

Currently, there are several room backgrounds to create, in 1920*1080, following zombicide graphics' style, or I can think of another style if suggested ! Also, I need to create some new exclusive survivors' visuals, and also several game objects' visuals.

I have no money to give for that, as I earn none with this project, it's only a fan work and will stay as it :)

If anybody interested to join the adventure, let me know !

Baguettator

#14
I'm not sure if it's the right word, but by "gradient" I think about "dégradé" in french. Like a slow transition from a colour to another one. AGS could need this kind of feature ;) (but could be tricky to implement, I don't know !)

Anyway, I think there's a problem with the FadeIn function. I used it for debugging purpose (to be able to see the "display" function during a room transition, because my transition is fadein/fadeout, so I placed a "fadeIn" function during the "room_onload" function), and just after the fadeIn, my mouse is not visible at all. Is it an engine bug ? Sorry, I can't give more details or try on a dummy game at that moment, I'm just sharing the info now.
#15
OK, perfect !

Now, it's only missing gradient implementation :D
#16
Really nice feature, congrats Crimson Wizard ! I'm unable to test it right now because I want to fix things in my game before updating AGS, but it's really beautiful !
#17
At least, I'm improving my game with the new features that allow to exclude many no needed things into the savegames. It's the first step, and little by little, I will see if it's more convenient to make a real custom save system. Thanks for the suggestion :)

I thought about something to suggest, for AGS4.0, if it's not already implemented (perhaps I ignore it !), but it could be a quality of life feature to allow excluding some strings to be added into the translation files. I don't know if it's a nice feature, but I know that debugging strings, or many strings that sometimes don't need to be translated (like characters' names) don't need to be in the translation file, and it could lower their size a bit or a lot.
#18
Thanks Crimson !

My question was : if I don't save the dynamicsprites, is it correct to rebuild them (all the needed ones of course) in the on_event function with the "restore_game" argument ?

For me it's important to save all the variables, because they are a LOT in my game (it's not only placing tokens there and there), and I think AGS is doing that better and faster than I would do with script. And moreover, it's not needed if AGS already can do it. The thing is just I don't want 300Mo save files, so I exclude everything that's not needed, especially dynamicsprites. I'm just thinking of what's the right timing to rebuild them, and I thought on_restore_game should be the good one.
#19
OK, that's what I thought about. I'm currently bugtracking that.

What I'm currently doing is rebuilding the dynamicsprites in the "on_event" function with the restore_game argument. I presume that when you will fix it, if objects hadn't got their dynamicsprite on resume_game, their graphic property will be set to 0 ?
#20
Hi, I just tried to save/load with the new version, and I got a crash again. It seems something linked to the engine, and not something linked to my code.

An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x00572656; program pointer is +6, engine version 4.0.0.15, gtags (0,0)

Here is the updated compiled game, with the crash log inside.

https://drive.google.com/file/d/174ekAxu5V3ci3FdxvMUdbWUBGJUOPODh/view?usp=drive_link

You can try the same Ctrl+N to make save called "try", and load it by clicking on the "CHARGER" button you can see in the menu.

The ONLY thing that has changed is that I used that at game_start :

SetGameOption(OPT_SAVECOMPONENTSIGNORE, eSaveCmp_Audio + eSaveCmp_Dialogs + eSaveCmp_GUI + eSaveCmp_DynamicSprites + eSaveCmp_Plugins + eSaveCmp_Cursors + eSaveCmp_Views);

If I disable this function, the loading doesn't crash.

Let me know if you find something !
SMF spam blocked by CleanTalk