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

#11481
Uhhhh. I am sorry, I could not find free time lately.

Quote from: Radiant on Wed 24/07/2013 12:03:46
Actually, rather than having a binary runoff vote, it would make sense for people to rank those five picks and give a weighted vote. That way you'll end up with the result most acceptable to all people, rather than the one image that (hypothetically) 51% of people love and 49% of them hate. We did the same in the last OROW and it worked great!

So, is this OK to have such voting?
Did you have automated poll? Should I ask AGA about making this?

#11482
The Rumpus Room / Re: Name the Game
Mon 29/07/2013 11:46:51
I thought "ZX Spectrum!" even before I read accompanying text. :)

Don't know the game though.
#11483
Quote from: General_Knox on Sun 28/07/2013 18:48:38
Since you've removed custom properties limit in this version, will this plugin I am using right now become absolete?  -->
http://www.adventuregamestudio.co.uk/forums/index.php?topic=42446.msg563322#msg563322
There's a difference, unlike the plugin I did not change ResetRoom() function; currently it won't reset Object/Hotspot/Region properties to default values. Frankly, I haven't thought about this.

The specification for ResetRoom states:
Quote
Discards all the data that the engine has in memory about when the player last visited ROOM_NUMBER, and resets it as if they'd never been there. The next time the player goes to that room, all the objects and scripts will be in their initial state (as set up in the editor), and not how they were when the player left the room. The "First time enters room" event will be run when they enter this room again.
So I guess it would be proper to reset custom properties as well. I will add this to the future 3.4.0 update.


Quote from: General_Knox on Sun 28/07/2013 18:48:38
Also, do you think there could be a kind of "pre-load" sprites function in this version? Before playing a large animation, the user could just call the function like "preLoadSprites(0,100, true)" or something...and comes with a built-in progress bar for "loading" (which the user could choose to display or not).
I believe preload feature is a must, although I am not so sure about built-in progress bar. IMO the sprite precaching is usefull mainly for hi-res games with complex animations. Such games usually feature distinct UI style, and "default" progress bar will have little use for them, I think. Are there more opinions on this?


Quote from: Billbis on Fri 19/07/2013 15:58:29
Could it be possible to allow runtime modification of the Name property for objects and hotspots?
I don't see anything that would prevent this at the moment.
#11484
IIRC there is a bug in the engine. Consider selecting "mouse & keyboard" instead, for now.

This affects any built-in speech, regardless of which command is called and from what script.
(AFAIK the dialog script implicitly runs same core function as Character.Say)


EDIT:
I checked the engine code, and obviously it is different from how it is described in the manual:

Manual: 0  player can skip text by clicking mouse or pressing key
Engine: skip by mouse, key AND timer.

Manual: 1  player can skip text by pressing key only, not by clicking mouse
Engine: skip by key AND timer.

Manual: 2  player cannot skip text with mouse or keyboard
Engine: skip by timer

Manual: 3  text does not time-out; player must click mouse or press key each time
Engine: skip by key and mouse

Manual: 4  player can skip text by clicking mouse only, not by pressing key
Engine: skip by mouse AND timer.

I now doubt this was made by mistake, I think it was rather made deliberately, just wrongly explained in the manual.
We could add 2 options more to the next version of AGS:
- Skip only by key (no mouse or timer)
- Skip only by mouse (no key or timer)

EDIT2: Hmm, also Editor calls these settings wrongly (it sais "Keyboard only" or "Mouse only" while those options imply use of timer too)
#11485
Regarding 2
Spoiler
not sure which I am to guess about. I think that puzzle tells about the Ashes. Though, the whole event could be volcano eruption.
[close]

3.
Spoiler
An Coconut maybe?
[close]
#11486
Well, my opinon is "3": skip by clicking and timer + option to set reading speed.
Sometimes I prefer to skip by clicking, but there are moments when I just do not want to click all the time, so I sit back and read what player say. The latter is even more fit if there's voice-acting.
#11487
Found bug related to panels.

When the room is recompiled the room editor is closed.
Because of new panel system it now works differently: the panel the room editor was opened on hides, but the room still stays marked as "opened" in the project tree (colored icon).
More, if you unpin the room editor's panel and make it a floating window, it will dissapear when compiled too, but it will stay in the Windows list. Being reopened, it does not have a room image on it, just a plain grey rectangle. When you open same room again by double-clicking  in the project tree, a new panel is opened instead.

How to reproduce:
1. Open any existing room.
2. Drag it away and place as a floating panel somewhere on screen.
3. Select "Build" - "Rebuild all files". The room panel will hide, but room is still marked as "being edited" in the project tree.
4. Open "Window" menu. You will see Room N window still exists, just not visible. Click it to reveal the panel.
5. Open same room by double-clicking on it in the project tree. It will open on the new panel.
#11488
I am a surprised that no one mentioned AGS provides all means to allow game develop to add a set of options in-game to setup the skip style player perfers.
Including:
- skip style
- text reading speed
- delay after speech.

Many contemporary games (such as strategies or rpgs) have such options, I do not see a reason why AGS game shouldn't.
#11489
Hey Gepard, long time no see :)

Code: ags

function GiveItemIfDoNotHaveOne(InventoryItem *item)
{
   if (!player.HasInventory(item))
   {
      player.AddInventory(item);
      // Set label text
      lblItemName.Text = item.Name; // or item.GetTextProperty("property_name");
   }
   // optionally do something if player already has one
   else
   {
      Display("I have it already");
   }
}

#11490
load_room_file is in Editor/AGS.Native/agsnative.cpp.

The code there is generally unrefactored, and pretty messed up (in the sense of style), so beware.
The call stack indicates that this happened when room was recompiling due the change in global script or custom module. Don't know if that may give any hint though.



UPD: tzachs, I noticied that from Beta 6 the Project Explorer panel is missing when the editor starts for the first time (Layout.xml was not yet saved).
#11491
...maybe data was accessed beyond buffer.
Problem is this may be related to certain features or combination of features you use.
Was there any crash dump created in project folder (or AGS program folder)?
If not, can I have your game project to do some tests?
#11492
First of all, there are two cursor modes called "UserMode1" and "UserMode2" which you may rename (optionally) and use for your own purpose. The objects and characters have "Usermode1/2" event reactions.

Then, if those 2 are not enough, you may still use "Any click on ..." reaction. In such case, however, you'll have to check which mode it is precisely in the script:
Code: ags

function cCharacter_AnyClick()
{
    if (mouse.Mode == eModeIngest)
    {
       // do something
    }
    else if (mouse.Mode == eModeDoOtherThing)
    {
       // do something else
    }
}
#11493
Engine Development / Re: Plugin API
Fri 26/07/2013 15:33:33
Quote from: Wyz on Sat 20/04/2013 00:13:45
One short note on managed objects and the way they work now:
They register objects with virtual parts; something that will break as already mentioned. What always struck me is that it is a bit inconsistent with the way script functions are registered: this is simply done with a 'register' call specifying the parameter count. For managed objects you need the object interfaces. I guess this could be replaced with another 'register' call but this time specifying callbacks for the serialization, memory allocation and freeing functions (and a string for the object name). I guess this is a simple fix though for backwards compatibility I guess there needs to be a version check.

As a note, to make this more understandable, I believe this is what Wyz meant:
Code: cpp

typedef struct tagUserScriptObject
{
   int         (*Dispose) (void *user_object, bool force);
   const char *(*GetType) ();
   int         (*Serialize)(void *user_object, char *buffer, int bufsize);
} IUserScriptObject;

Code: cpp

// Somewhere in AGSEngine interface
void RegisterScriptObject(void *object, IUserScriptObject *interf);


Usage in plugin:
Code: cpp

int MyClassDispose(void *user_object, bool force)
{
  // something
}

const char * MyClassGetType()
{
  // something
}

int MyClassSerialize(void *user_object, char *buffer, int bufsize)
{
  // something
}

IUserScriptObject myClassInterface = {
  MyClassDispose,
  MyClassGetType,
  MyClassSerialize
};

// Somewhere else...
MyClass *my_object = new MyClass();
engine->RegisterScriptObject(my_object, &myClassInterface);



//-----------------------------------------------------------------------
Considering possible implementation in the engine:
Code: cpp

// base class for built-in and custom script objects
class ScriptObject
{
   AddRef, Release, etc
};

class ScriptUserObject : public ScriptObject
{
   void              *user_object;
   IUserScriptObject *user_interf;
};




//=======================================================
EDIT:
Or, as an alternative:

Code: cpp

void RegisterScriptObject(IUserScriptObject *object);

Code: cpp

class MyClass : public IUserScriptObject
{
}
#11494
Hmm, if #1 is not "Ice", then it might be... Bridge?
#11495
The Rumpus Room / Re: Name the Game
Thu 25/07/2013 22:35:31
Right.
#11496
The Rumpus Room / Re: Name the Game
Thu 25/07/2013 22:21:47
#11497
The Rumpus Room / Re: Name the Game
Thu 25/07/2013 19:06:32
Quote from: Gribbler on Thu 25/07/2013 18:46:58
Dark Souls 2 comes out March 2014 :)

lol. Dark Souls 1 maybe? Although I haven't played either. :)

#11498
The Rumpus Room / Re: Name the Game
Thu 25/07/2013 18:28:19
Dark Souls 2
#11499
The Rumpus Room / Re: Name the Game
Thu 25/07/2013 15:13:41
Quote from: Gribbler on Thu 25/07/2013 15:07:51
It's Fatty Bear by the same guys who made Putt-Putt.
And the name of the game is? :)
#11500
The Rumpus Room / Re: Name the Game
Thu 25/07/2013 14:57:53
I do not know why, but that reminded me of a the game my sister was playing when she was a child :)
(I think that was either on DOS or Win95):

SMF spam blocked by CleanTalk