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

#681
You can check your game speed and the character's animation speed.  There is a debug() function that allows you to display the actual game speed ion frames per second (FPS).  Are youusing Character.Animate()?  You can also post the code you use to annimate the light character.
#682
How are you currently doing the animation? Are yoou playing an ogv or something or doing an Object.Animate()?
#683
Like Nacho, I too hadn't discovered Roy until late in his career (mid 80's).   Prior to that the first time I even heard of him was from a John Belushi skit on Saturday Night Live (mid 70's).  I also enjoyed Simon & Garfunkel back in the day.  ;) 

Here is another snippet of my youth - "Angel of the Morning" - Meerilee Rush - 1968
http://www.youtube.com/watch?v=y16Ac9O9Alc

Summer-1968   Back when Japanese transistor radios, the i-Pods of yesteryear, were all the rage and I was 12 years old, I have a vivid memory of listening to this song with two friends, Mike and Carl, on a boring summer afternoon.   Carl was a great fan of the song and was loudly singing along with the radio, and not singing very well btw.  Mike and I thought it was funny and started laughing and giving Carl a hard time for liking the song so much and for not being able to sing it.

Spring -1981   I forgot all about this until I heard the song again in 1981.  The Juice Newton version came on the radio in the wee hours of the morning while I was putting the finishing touches on my Master's Thesis in my university office.  I sat back and listened and memories of that long ago summer afternoon came floating back in my mind.  I thought to myself "Man, way back then who would have thought that I be doing this and that I would be getting a master's degree in electrical engineering?".  If I had told this to my friends in 68 they would have laughed and said "No way!".

Winter-1984  The next time I see Mike and Carl is at another friend's wedding receeption.  We hadn't seen each other perhaps in 10 or more years.   I remember that we couldn't stop smiling at each other the whole evening.   

Summer-1989  I was working on a project faraway from home and I get word from my family that Mike had passed away after an  aneurysm in his brain burst.   I wasn't able to make it back for the funeral which I regret to this very day.   Ah, sometimes life sucks.

Anyway enjopy the song if you wish...
#684
Roy Orbison probably had the best voice of any contemporary singer/performer.  There is a story that he and Elvis performed at the same venue once and that Elvis was so impressed with Orbison's voice that he vowed to never perform with him ever again.   

"Only the Lonely" is one of my favourites; it's my understanding that he wrote it in his car parked in his driveway.
http://www.youtube.com/watch?v=MaZyGdfRd4A&feature=channel

Please share your opinon of Roy Orbison or your own bit of nostalgia of years gone by ..  :)
#685
I am aware of the erro checking mechanism but it only alerts one after problem exists and requires one to be savy enough to resolve it.   I would also point out that as it is now imported and newly created modules always appear at the top of the dependency list, ahead of any standard or library modules that may have come with a "new game" template, which is would be the incorrect place and lead to potential dependency problems.   

I just think it would save everyone a whole lot of trouble by eliminating such problems befiore they occur instead of requiring that they be manually fixed after the fact.  Official AGS standard modules would be included in every new game created and everyone  would need correctly reposition them each and every time a new module was created or imported.   A flood of newbie questions would surely follow?
#686
Quote
I think that a standard library of modules distributed with AGS could be very useful, but as CJ says, are there really enough utilization modules available (whether already written or not)?
Being able to sticky modules at the top of the dependency list would be useful to everyone.  Modules designed to be used by other would have their sticky bit enabled; modules that call functions from other modules would not. This would eliminate dependency problems resulting from modules being imported in the wrong order.    Not only would this enable AGS to have a number of officially supported "standard" modules it would also make it easier to use other modules whose mission is to provide low level functionality and/or extensions to the script language. 

Quote
As far as String functions, have you seen the latest version of my module?
Your string module is stellar example of a module that ought to be stickied.  The functions you provide are meant to be used in global, room, or module scripts.   If you as the module creator were able to so designate it, users of your module would know that that was your intention and wouldn't have to worry about creating undesirable module dependencies.  There are a number of modules in existence that fit into this category and would benefit greatly from this simple feature.   In addition, I think there would be less reluctance to creating or using such modules.

What I am proposing would not only be useful to not only CJ in maintaining a couple of standard modules but also for everyone else.  The implementation could be as simple as a sticky check box that sets a module's sticky property to true or false. 

An alternative more generalized implementation would be to add a "module type" property instead of  a "sticky" property.  The value of the module type would be selected from a drop list.  Modules would be placed in the dependency list in the same order as their module type is listed in the drop list.  There could perhaps be three module types "Standard", "Library", "User" where  all modules of type Standard would appear first in the module dependency list, followed by modules of type "Library" and lastly by modules of type "User".

The "sticky" option is entirely adequate for what has been proposed in this thread.  The "module type" option is more flexible and perhaps overkill for the current proposal but could prove useful in the future.

#687
Quote
This is an interesting idea -- so the basic idea would be that AGS would have a built-in list of "standard" modules that you would be able to tick a box to include or not include in your game.
I was a bit more flexible implementation to achieve this end and possibly others.   Standard modules would be included in the new game templates.   There would be a tick box associated with each module labelled "Sticky", "Standard", or some other , more appropriate/intuitive term.  All such modules would be stickied to the top of the dependency list so that when additional modules are added the would appear after the "stickied" and before the global script.

In this way there could be a number of official AGS "standard" modules used to provide temporary and/or permanent extensions to the AGS script language.    It would also allow others to create additional extensions and/or low level type libraries.   

Alternatively there could be a drop list instead of a tick box labelled module type. which would accomplish the same thing.   
A drop list has the advantage that additional types could be added at a later date.   Modules would appear in the dependency list in the same order as their type appears in the drop list.  For example if the module types were "Standard",  "Library" and "User"  then all modules of type "Standard" would appear first in the dependency list, followed  next by all modules of type "Library" and lastly by all modules of type "User".   The actual names and number of module types are of course to be determined via discussion or decree  (i.e, CJ decides).   

The drop list implementation may open some possibilities for modularizing  the global script in the future.  For example the possibility of segregating the character and inventory interactions has been discussed/suggested a number of times in the past.  The addition of "Character Interaction" and "Inventory Interaction" module types would perhaps be an element of any such future features.         
#688
I was just musing about a couple of things that have been suggested or asked about over the summer which has inspired a couple of simple ideas that may be helpful.  For example several folks have recently suggested or have actually made modules that provide C-Library type extension to built-in AGS functions.    Some other folks, such as Subspark, have asked for some useful and clever functions to be added to the AGS built-in functions only to find out that a scripting solution was readily available and appropriate.

Library Modules (similar to standard C libraries)
The obvious and perhaps trivial conclusion is that perhaps we ought to have a collection of standard library  modules available similar to the standard C/C++ libraries.  You may be thinking  "WTF! We can already make modules so what else do we need?".  Just a couple of things actually, trival to implement but none the less important.

Programming Rules Guidelines for Library Modules
There would need to be some additional rules for library modules.   We would obviously have to discuss what they ought to be and arrive at a consensus.  The resulting rules would perhaps be something like the following:     
  • No module dependencies
  • Programming style, function parameters, naming conventions, etc consistent with AGS built-in functions
  • Atomic or low level functionality (i.e. string or math functions vs Lucas Arts GUI functions).
  • Group participatation, peer review (i.e. what's in or out of particular module, acceptable implementation of submitted functions, etc)
  • CJ to have final authority same as built-in functions as to what is in/out and how it's implemented.
  • Library Modules are owned by AGS community rather than a single author.  Instead of the module owner perhaps there could  be a mentor who is delegated to maintaining the module.  Over time this responsibility could be passed from one to another.

    I know it sounds like a lot to expect but if we put our heads together we could probably come up rules that are simple enough to be practical and that people would use. 

    Sticky Modules
    The one thing that could be done in the editor to help promote the idea of library modules is to set a module a module type from a drop down list (LIBRARY|NORMAL).  Library modules would be sticked at the top of the module dependancy list because by definition they are not dependent on any other modules and it is likely that other modules may be dependent upon one or more library modules.  It would also perhaps be wise to have a module type that stickied to the bottom of the list  (i.e. just ahead of the global script) as well as one that sticked to the top.
    [edit]
    I would also note that this ability would perhaps simplify the above rules so that the need for community participation would be less burdensome and more likely to be forth coming.  This would allow for the possibility of both individually and community owned library modules.  Community participation could then be focused one a few standard library modules such as extensions to String, Character, and some other obvious choices.
    [/edit]

    Nomenclature for Library Modules
    It would be necessary for people to find such modules.  So module threads should be prefixed with "LIB MODULE:" instead of "MODULE:" or some other distinction.   

    Conclusion
    I think that the existence of a few standard library modules would be helpful to everyone, allow standard features to come into AGS without consuming our most valuable resource (i.e. CJ's time),  allow possibility of immediate solutions, and provide an intermediate path for worthy functions to be included into the AGS built-in functions.
#689
Try changing the point size when you import the font.
#690
QuoteAnd what about 4:3 monitors and windowed views?
Couldn't the rooms you be allowed to scroll.  On 16:10 the whole room would be displayed at once and on 4:3 the room would scroll?


#691
 All GUI events are handled in the Global script.      I'm not sure what else you are asking or why?
#692
First of all there are two ways of creating the equivalent of a 2D array.  The first was is to use a struct in the manner shown below.   This method would not seem appropriate in your case because you will likely need more than one value for each tile and struct is not nestable.
Code: ags

struct tile {
   int value[20];
}
tile TileArray[10];

int value = Tile[5].Value[7];


The other way to go is to simulate a 2D array using a 1D array.  For example an array consisting of 10 columns and 20 rows would require storage space for 20*10=100 elements.   So you make a 1D array to accomodate all the elements.  You can then make a function that converts a 2D index to the equivalent 1D index.

The other thing to do is to create a struct containing all the variables required for each tile.   This definition then becomes just like another data type like int or float.  So you can make an array of these and access them using a 2D index.
Code: ags

// Create a custom data type to hold necessary tile info
struct tile {
   String Name;
   bool Walkable;
   int Type;
   :
   int Whatever;
};

// Create a 2D  array[DIMX, DIMY] 
#define DIMX 10
#define DIMY 20
tile TileArray[200];  // create the array space, size = DIMX * DIMY

// This function converts 2D index to 1D index
function  dd(dimx, dimy) {
   return (dimy*DIMX)+dimx;
}

// To access the array you must put your code within 
// a function, usually an event handler.
function some_function() {
   // Check if tile 5,7 is walkable
   if (TileArray[dd(5,7)].Walkable==true) {
      Display("Tile 5,7 is wakabkle");
   }
   else {
      Display("Tile 5,7 is NOT wakabkle");
   }
}

// Of course you can make custom functions 
// to access the tile data also
function TileIsWalkable(int dimx, int dimy) {
   return TileArray[dd(5,7)].Walkable;
}

// And you would use it something like this ...
function some_function() {
   // Check if tile 5,7 is walkable
   if (TileIsWalkable(5,7)==true) {
      Display("Tile 5,7 is wakabkle");
   }
   else {
      Display("Tile 5,7 is NOT wakabkle");
   }
}


The only other thing you may want to consider is to put all of this in a module once you understand what we are doing in the examples above.  You can find some documents explaining how to create a module and templates for the module header and script files from the link below:

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=34048.msg443220#msg443220
#693
Matti, I am sorry for the recent loss of your father.  I'm sure he is greatly missed and my prayers go out to you and your family.   Thanks for sharing your experience with us.   In light of my father's experience I am surprised of the way your father's situation played out.   Your story is a reminder to all of us to never miss an opportunity to spend time with our loved ones and to cherish every minute. 

With regard to the thread's topic: Yes, I must agree that there is a chance  that al-Megrahi is terminall ill; however, if it is so I will be surprised. 
#694
Yet another BBC news story ...   

http://news.bbc.co.uk/2/low/africa/8248056.stm

A funny story about a disgruntled broadband customer having a whack at the phone company for providing poor service. Thought I'd share.
#695
Andail, I remain very skeptical.  My father was diagnosed with prostrate cancer at the age of 78.  The first reaction of the oncologist to whom he was referred was to question if treatment was appropriate.  This was not because of any sort of rationing or lack of insurance but rather because prostrate cancer develops so slowly (10 years or more) and 78 year old people typically have other medical conditions which would likely cause their demise before the cancer would.   

We know of this from my cousin, the urologist who first discovered the cancer and referred my father to the oncologist.  He told the oncologist "You'll change your mind when you meet him".   Of course he did when dad bounced into the office with the energy and vigor of a 10 year old.   He was successfully treated and is still going strong at 89.  Btw the survival rate is 90%+ in the US and somewhat lower in the UK.

For this guy to be in this state he would have had to have prostrate cancer several years prior to his incarceration.    Prostrate cancer is easily detected by a simple blood test (PSA).   I don't know about Scotland but in the US this test is done routinely, on an annual basis for males over 40 years.   Are not prisoners given physical exams when they are initially incarcerated and periodically after that?  Or is it the case that in Scotland prisoners are denied routine medical care?  How is it that the cancer went undetected for so long? 

Either the Scottish prison system denies prisoners routine medical care, or the Scottish health system is inept, or political pressure was brought to bear and the health care system, which I understand is run and paid for by the same government, produced the politically desired result.  We will know in  a few short months.   
#696
If you are interested in digging a little deeper tyou could always increase the game speed to something higher than your computer can manage.  Then turn on the GUI animation and see what;s the effect and let us know the results.
#697
It would probably be better to put this in the mouse event handler in the global script. 
#698
The bottom line is that Libya wanted the guy released and that was the price of the deal.  The UK found a way to release him.  The reset will play out over the next several months; I'm still betting that the guy will out live the three months the Scottish doctors gave him to live.       
#699
Justice Secretary Jack Straw admits Lockerbie trade link
"Trade and oil played a part in the decision to include the Lockerbie bomber in a prisoner transfer deal, Jack Straw has admitted."
http://news.bbc.co.uk/2/hi/uk_news/scotland/8239572.stm

Who would have thought this possible?

Without question Abdelbaset Ali al-Megrahi will not die from prostrate cancer anytime soon and will live to see 2010.   It won't be long before we hear that he has had a miraculous recovery.
#700
You can put in some display statements in RepExec to see what's going on. 

Display("delay=%d  xpos=%d", delay, xpos);   // to debug the scrolling

Display("msgid=%d  msgtime=%d", msgid, msgtime);   // to debug the message display

You may want to increase MAX_DELAY and MAX_MSGTIME so you can see what's going on more easily.
Execution of the script will pause on the Display() instruction,  press enter to continue.

@MR. Matti,  thanks for the correction.  I should know better than that  :-[
SMF spam blocked by CleanTalk