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

#1141
Yes, I would recommend pre-storing rotated version of the sprite instead of rotating all of them in real-time (provided you don't expect too many fixed rendering angles). We don't know your game but if they're sprites they can't be too large and there can't be too many of them, is there?
Also, I'd suggest generating them during game loading rather than importing them -- it all depends if it doesn't bother you to have a larger game file. But for a simple processing like rotating, it will surely make your life easier to manage just one sprite than to have to re-import as many sprites as there are angles each time you change something. Simply make sure that the pre-loading will not freeze the game at the wrong time (add a load bar or whatever).

@Snarky: I don't know how large are his sprites, I was just giving general ideas.
#1142
Two comments:
- could not load the game with 3.3.4.
- When compiling, it still references missing wav files from your filthy German computer ( D:\Eigene Dateien\AGS\Xmas_challenge_2015\resc\sfx\button_press_09.wav ) which prevents from compiling

#1143
Reminder: there's the "Easy plugin" tool available for lazy people.
#1144
My piece of advice: Always apply scaling and rotation on the smallest possible sprites. That means: if your sprite gets cropped at some stage (for example: cropped by the viewport), then cropped it first and then transform it.

I didn't understand who you could use "several sprites" to replace "one large sprite" and expect to gain performance at rotation time.
#1145
Do you know how to spot when you're an old schmuck?

It's when you're trying to make a 320x200 2D adventure game, and have a very hard time finding volunteers for pixel-art, but then you find no less than 3 VOLUNTEERS for some hi-res 3D graphics! (roll)

So here they are:
- the unstoppable CassieBg, who already made two animations (one of an old parchmin map, and the other of a nazi truck)
- The very professional Frikker, who is working hard on those mysterious giant stone cogs
- And foz, who got his job shamelessly stolen by CassieBg, but I'm sure we'll find something for him to do too! ;-D
#1146
Engine Development / interface_click
Mon 14/12/2015 18:09:57
So, at the moment:
- you can intercept a click in the room from somewhere else then the global script (add on_mouse_click in the Room script)
- you CANNOt intercept a click on a Gui or Gui button from somewhere else than the global script (except by umaking some tedious module that duplicates the coordinates and Z-order calculations)

That's really annoying. If you have many buttons in your gui, you have to create the even for ALL of them, and then add scripting in the global script for all of them.

Old function interface_click was allowing exactly that: intercept the click on a Button, but then process it wherever you like it (namely : a custom script).

How hard would it be to put it back?

#1147
The issue is caused by actionTextProperty[ i ] being null. It makes the  comparison with "" crash (apparently it's forbidden to compare a null String with anything).

I obtained the same symptoms as carlosuh, not by moving my mouse too fast, but by changing resizing my game in the general options (from the template's 640x480 down to 320x200). I have no idea what it broke, but it caused actionTextProperty[ i ] to be null when you click on the character.

Sadly, I have no knowledge of this module's internal workings so I can't fix it.

here is a quick fix but I cannot guarantee that it fixes the module permanently:
Code: ags

//...
if (gui[Verbcoin.get_Verbcoin_GuiId()].BackgroundGraphic == verbgraphic_button[i]) //LINE 787
{

        bool propertyIsEmpty = false;
        
        if (actionTextProperty[i]==null)
          propertyIsEmpty = true; 
        else if (actionTextProperty[i] == "") 
           propertyIsEmpty = true;

        if (propertyIsEmpty == true && Verbcoin.get_Overhotspot_UseDefaultActionText() == true && default_text[i] != null)
        {
          overhotspot.Text = default_text[i].Append(location_name);
        }
        else if (!propertyIsEmpty)
        {
          overhotspot.Text = actionTextProperty[i];
        }
}
//...


#1148
I don't know if this was the case before, but in this version you cannot do :
Code: ags

String s=null;
if (s=="")
{
   //do something
}


If you do that, the game stops with message "null pointer referenced" when trying to evaluate t=="".
I understand the underlying mechanism (there's probably an implicit something like s.GetValue() going on at some stage) but it doesn't feel right.
#1149
Quote from: Arj0n on Thu 03/12/2015 11:46:38
1196.Pub Master Quest [Demo].zip

Hahahaha, the infamous Pub Master Quest.
#1150
My piece of advice:
- If you're an OK scripter, download the Phylactere module and see if it's difficult to change the one type of speech bubble to several speech bubbles. If the module is properly made, it would just be a matter of replacing a small set of global variables (e.g. the pointer to the Gui used to display the speech bublle) with an array of these variables, and then choosing which one you want for each character. Then you could re-upload this enhanced version of the module, for the benefit of the whole community ;)
OR
- If you're sticking with your solution, then as Baron said, Object is a dangerous way to go since you need to create objects for each room. Guis would be better in my opinion (just use their "z" parameter to make sure they stay behind your more important guis like "game menu" and such)
- I can't remember exactly in which cases but sometimes when you change view you must not forget to call "Animate". Check the manual.

On a different note:
Khris' suggestion is good, because it removes the need for you to check the current view of the object. No matter what's the current view, his code switches to the next loop within that view. It removes the need for you to do an "If" for each view. Also he fixes a small syntax mistake for you regarding that weird "If Else" of yours.
#1151
Quote from: Crimson Wizard on Thu 10/12/2015 13:45:15
What is "let AGS choose", what is the algorithm of choosing?
Sorry, I shouldn't have changed the words used by Gilbert. That's just plain old FastLine.
#1152
Final suggestion :
- OK for a global game option like this, I've changed my mind:
Code: ags

SetGameOption(OPT_DRAWLINEMODE, 1); //0 for 'Let AGS choose' (default), 1 for 'always traditional drawline'

- OK for always using the FastLine algorithm where possible. The inaccuracy is really insignificant (see my simulation in my previous post)

@CW: it's up to you now.
#1153
Quote from: foz on Wed 09/12/2015 19:34:48
Hi what you want sounds pretty simple
I'm sending you a PM.

Quote from: Darth Mandarb on Wed 09/12/2015 21:00:55
The screenshots aren't working in the first post! 
Hmmm...I'll check that out but I can't see any reason why apart from a temporary network issue. It seems to work on my end. The images are hosted on photobucket and we haven't changed anything in months.
#1154
Nice. Have you considered boosting the scaled sprites process by starting off with the larger one and then always scaling down not the source sprite but the one that was scaled down immediately before? It would be like a chain of scaling down. Benefit: AGS would have less and less pixels to process until the most distant (smallest) sprite.
#1155
Nice set up :)
#1156
In that case, as said previously, you don't need the room property.

Only this :
Code: ags

function on_event (EventType event, int data) 
{
    if (event == eEventEnterRoomBeforeFadein)
    {
        if (player == cMaggie)
            SetBackgroundFrame(0);
        else
            SetBackgroundFrame(1);
    }
}
#1157
I'm sending PMs to you guys.
#1158
STILL A WORK IN PROGRESS.

- I was extremely happy with the crisp contrast and color scheme of the foreground
- I was rather happy with the background as long as it was B&W (the contrast and pixel-art dithering were was really cool)
- Now I'm extremely dissatisfied with the result after adding some tinting to the background. The colors are shitty, the contrast is shitty, and it interferes with the foreground.

What's worse, I can't seem to fix it despite my efforts.
Not a happy Monsieur Ouxx right now.

And before you say "don't be sad, it's still pretty", just have a look at this and witness the huge quality gap. :~(:~(:~(

#1159
Being a HUGE Dune fan who is currently stuck with too many projects on my hands, I want to solemnly say that I hate you for choosing this topic for the competition.
#1160
Quote from: abstauber on Mon 07/12/2015 11:11:37
I got rid of all managed structs ( boost of ~10fps)

Can you elaborate please? Did you have arrays of structs, or just structs? You replaced them with what?
SMF spam blocked by CleanTalk