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

Topics - hedgefield

#1
Since I can't seem to post in the Modules board anymore, here goes:

Following this thread there seemed to be a demand for an updated single-cursor / two-click interface, also known as Broken Sword / BASS controls, and since I've scripted several permutations of it for my own projects I thought I'd compile it all into an easy-to-use module for you guys.

With LMB you perform the WalkTo/Interact/Talk action, and with RMB the LookAt action. There is also an optional extention for when you have a custom inventory, which puts select/combine on your LMB and deselect/examine on your RMB. If you want you can also swap this configuration around.

Download

After you import the module, follow these three steps to get everything working:

1. Remove the entire on_mouse_click function from your Globalscript.asc (or at least any code related to walk/talk/interact/look if you have other stuff in there).
2. Make sure you have one GUI with an inv window called InventoryWindow1 AND at least one inventory item or the whole thing will not work.
3. Use the bool SC_SwapLeftRight = true/false and the function CustomInv(true/false) in your game_start function to modify the controls.

The custom inventory thing could use some more testing, so let me know how it works for you or if you have any requests for additional configurations.
#2
So I'm trying to put a little semitransparent textbox behind the speech text in my game, but there is something funky going on when I try to line the two up.

I have one GUI, 1000x64, left:100, top:392.
Then I use a SayAt command to put the text on top of it, but then this happens:



First of all 430 seems way too far from 392 to give me that little spacing between the top of the box and the text (confirmed when putting SayAt at 392 the text hovers halfway above the box), but then a two-pixel difference makes the text jump down all the way below the box! Is there some sort of issue with displaying text over a GUI that I am unaware of?
#3
Hey guys,

For the past few months I've been working on my game college graduation project, where I attempted at doing something new with adventure game dialogue systems. Most of the dialogue systems we see are variations of the default list of inquiries, but in real life conversations are not just about badgering people with questions and then taking off, they are about interacting, getting to know eachother. We are so used to asking we often forget about responding.

So for my graduation project I asked myself: How can we give players a system for more natural and direct control of game conversations?

To figure that out I dove into the field of linguistics to discover what the characteristics of a typical conversation are, and which elements thereof are suitable for adaption into videogames. ConFlo is the result.

Aside from constructing responses more naturally, ConFlo attempts to better integrate the dialogue system with the regular gameplay experience. At any time during the game you can access it from the top-right corner of the screen. From there you can adress any character currently in the room with you. You can ask them questions, respond to things they say and tell them things. You can even ask yourself what it is you should be doing right now, as a sort of hint system. It also integrates the inventory so you can show other characters the items you've collected.



The system is far from done but I think it's pretty interesting already, and I'd love to hear your opinion on it.
Therefore I created two prototypes for you to test drive the system. They do not optimally utilize every aspect of the system yet, as new technology rarely does, but they should give you a pretty good idea of the idea behind it.

In the first prototype you will have to help John score a date with the cute girl at the bus stop. Asking questions alone will not get you there, you will also have to respond to really get her attention. (for those that have played 15 Minutes, just ignore the fact you play as Jake Brewer, I needed a character with a walkcycle so I used him :))

The second prototype puts you in the shoes of a noir detective, tasked with solving a murder. You'll have to collect clues and interrogate suspects to figure out who the killer is. The GUI in this prototype features several tweaks over the one in v1.

Download here and let me know what you think!
#4
Hey fellas, reporting on a weird issue I just encountered.

I added a song to a prototype I'm building, and all of a sudden after about a minute of playing the font goes haywire, preceded by a popping noise, like if you'd twist an audio cable while it was plugged in. Whenever that happens, a certain set of letters turns into some sort of garbled mess. It's only those letters, and they change on every playthrough, it's never a recurring set.



The first few times the game just hung, then I got this error message about something completely unrelated.

The (ir)relevant code blocks referenced in the error:
Code: ags
player.Narrate("Was the killer looking for something?");

&
Code: ags
function Narrate(this Character*, String txt) {
  //this.SpeechView(0);
  this.SayAt(22, 740, 978, txt);
  //this.SpeechView(0);
}


I think something inside the mp3 is borked because as soon as I comment out the .Play command for it, no more crashes of any kind.

It's not really a problem, I can re-encode the song or pick another one, it doesn't matter, just thought I'd drop this here for smart people to take a gander at in case it's something weird in the engine code - using 3.2.1.111, by the way. 1024x768, 32bit, and all that.
#5
Hey guys, I wondered if you could help me hash out part of a custom dialog system I'm trying to build.

In the simplest terms, I'm trying to create a sort of dialog options catalog in my code. I have a dialog GUI with a limited number of buttons on it, of which the button text (and matching response) changes depending on different variables. To give you a better idea of the structure, this is how the GUI operates:



There are four main options -or categories-, that each expand into a sub-menu, where each sub-option again expands into a second sub-menu. So you can see the set of options nescessary for each NPC quickly becomes quite complex.

So say I choose to talk to NPC 1. The set of questions I associated with NPC 1 is loaded onto my dialog GUI. If I then move to NPC 2, the options are exchanged for the set of questions I defined for NPC 2.

The problem I have with it now is in the way I have defined those questions. Whenever I load the dialog GUI, it calls ActivateColumn, which in turn calls the function SetTxt, which uses a series of if-statements to see which set of questions to pass to ActivateColumn. For example:

Code: ags
    //SetTxt excerpt:
    if (column1word == "ASK") {
      if (column2word == cGirl.Name) {
        btn[9].txt = "FOR HER NAME.";
        btn[10].txt = "WHAT SHE IS DOING HERE.";
        btn[11].txt = "WHERE SHE IS FROM.";
        btn[12].txt = "FOR DIRECTIONS";
      }


The btn[] variables come from a struct array I created to store the option texts in. The function ActivateColumn then uses those variables after they have been filled by SetTxt to put the appropriate options onto the appropriate button.

But right now the options are more or less set in stone because they are defined within the SetTxt function. So if I disable an option during the conversation, it will be re-enabled the next time I load that particular options set.

So what I'm looking for is a way to create some sort of master list of options. Basically this would be similar to C++ case switching (as far as I understand it), where SetTxt or ActivateColumn would select the appropriate case for a certain situation and retrieve the set of questions from it to feed to the dialog GUI. But since AGS does not support that kind of structure, I'm drawing a blank on how to construct something similar - short of creating a list of Strings for every single option. :-\

Anyone have any suggestions?
#6
Hey guys, I'm stumped on this piece of code here, maybe you can help me troubleshoot.

What I'm trying to do is retrieve a list of all the characters in the current room, so I can stick their names on GUI buttons.
So far I have this:

Code: ags
      int i = Button9.ID;
      int charindex = 0;  //sets starting point for character ID list
      while (i < (Button9.ID + 4)) {
        if (charindex < Game.CharacterCount) {  //if the current index does not exceed the total number of characters
          Character* cha;   //create a dummy character to store the real character
          cha.ID = charindex;   //dummy character becomes real character when given an ID
          if (cha.Room == player.Room) {  //if the character is in the same room as the player
            gDialog.Controls[i].AsButton.Text = cha.Name;   //put character name on button
            i++;
            charindex++;
          }
          else charindex++; //check the next character for the SAME button
        }
        else {
          gDialog.Controls[i].AsButton.Text = "";  //otherwise leave button blank
          i++;
        }
      }


Which should work I think aside from the fact that I cannot manipulate a character's ID.

I used a similar construction to do the same thing with inventory items, except inv items are listed in an index that I can query. I don't think there is something similar for characters, aside from Game.CharacterCount, is there?

And ideas on how I could get this to work?
#7
Hey guys, quick question - is there a way to loop through a list of GUI buttons?
I wanna change one property on 18 different buttons at once, and instead of copy-pasting like a chump I thought maybe there's a more efficient way, maybe constructing a while-loop akin to:

int number = 1;
while (number < 18) {
 Button[number].TextColor = 15;
 number += 1;
}

Except I don't think the Button type supports that kind of modularity. I looked at using the button ID but I couldn't figure out how to use that. Might have missed something in the manual, I'm not too knowledgeable about the tricky stuff like structs, arrays and pointers.
#8



Weathered special agent Jake Brewer is called upon once more to secure the safety of his nation. But this time he only has 15 minutes before everything goes tits-up. ARE YOU A BAD ENOUGH DUDE TO STOP THESE TERRORISTS IN TIME?

15 Minutes is a short adventure game built for the April 2011 MAGS as a loving parody of the traditions and tropes of the hit tv-show 24.




Download the game HERE

#9
Heyo, I'm having a bit of trouble with my alpha-blended GUI buttons on my alpha-blended GUI. I know it's been discussed before but the suggested fixes don't seem to work and generally it's all a bit confusing.

The setup is this:
- a 32-bit game, 1024x768, with AdditiveOpacity, built in AGS 3.1.2.
- a GUI with the background set to 0 (transparent) and an alpha blended PNG as background.
- a handful of buttons with alpha blended PNGs.

I first imported the GUI background image with the alpha channel but chose No Transparency since there technically really isn't a single transparent pixel in the whole thing. I later added a transparent border to it and chose to use the alpha channel and then the top-left pixel, but this didn't seem to yield a difference. The button sprites themselves all have large transparent bits and use the alpha channel + top-left pixel transparency.

When I remove the GUI background image and just leave the thing transparent, the buttons do display correctly.

          PSD                      ingame                ingame no bg



Help?
#10
Hey fellas,

I'm trying to make a visual timer countdown bar using rawdrawrectangle, but I'm running into a few issues.

Firstly, the code I have now (in the global script rep_ex):

Code: ags
int timer = 320;
int timergoal = 320;
int timerspeed = 2;
export timergoal, timerspeed;
function repeatedly_execute() {
  while (timergoal > timer) {
    DynamicSprite* sprite = DynamicSprite.Create(640, 480);
    DrawingSurface *surface = sprite.GetDrawingSurface();
    surface.DrawingColor = 15;
    surface.DrawRectangle(timer, 380, timergoal, 390);
    Wait(1);
    surface.Clear();
    surface.Release();
    sprite.Delete();
    timergoal -= timerspeed;
  }
}


It's structured like this:
- int timer is the left end of the bar in room coordinates
- int timergoal is the right end of the bar (the same by default)
- int timerspeed handles how fast it counts down (so essentially the actual timer part of this contraption)
Once an action updates timergoal to be higher than it's default (say 480), the while check kicks in which draws a white rectangle between timer and timergoal, which gradually becomes smaller as timergoal get closer to timer again.

Now my issues:
I began by rawdrawing the bar on the background, which yielded two problems:
- if I called surface.clear it would erase the entire background, not just the bar
- if I didn't use surface.clear, you would not be able to see the progress since the previous rectangle would never be removed.
So I tried to create a seperate blank drawing surface the size of the screen and draw on THAT (the code above), but now I cannot see the bar at all. The script executes fine but it never shows up.

This is my first real foray into using rawdraw stuff, so maybe I don't understand too well how this works, but what am I doing wrong?


Oh and one additional thing, I'm using Wait(1) now, but I'd like this thing to be non-blocking so I can do other stuff at the same time. That'd probably come down to timers, but I'm not sure where to put one here so it doesn't cause an infinite loop.
#11
Hey all,

I want to ask you guys for help.

See, I'm currently starting my graduation project at game design college, and together with a friend we are planning to put together an adventure game. I think we have a pretty good story already and we both love adventure games to death and are quite proficient with AGS, but the problem is that we are doing the Masters programme, so it's not enough to just deliver a polished game, we have to do something innovative with it, something that has never been done before and really adds something to the genre. (no pressure!)

So we've been thinking on this, and we have a couple of ideas, but we're afraid they're not strong enough. They may be things we've rarely seen in adventure games, or at least not in AGS games, but for this project we really need something convincing, so even people who are not adventure game connaisseurs will sit up and take notice.

Barefoot already started a good thread on what our preferences are for great adventure games, but there we're discussing the things already on the table, the tools we already have in our belts. I would love to discuss with you guys ways we could push the genre forward, really come up with something new, something we could turn into a module for others to use aswell. Something that fundamentally alters the way we interact with adventure games. A way to put adventure games back on the map!

So my question to you is this:

what would be a feature you have always wanted to see in an adventure game, but have rarely/never encountered (yet)?

And I don't mean things like 'a three-legged clown' or 'a dance verb', I'm talking entire systems, things that affect the way you control or experience adventure games.


For starters, here are a few things we were thinking of:

- a dialog engine that frees you from standing still and talking stiffly, where you can walk around and mess with stuff during the conversation, where you can involve other NPC's in the conversation or even just walk away.

- a game where [jackbauer] events occur.. in realtime. [/jackbauer] (although arguably The Last Express already did that)

- with the renaissance of the genre on the iPhone, we're seeing a lot of 'classic' adventure games, but what about multitouch? What about the accelerometer? GPS even? The potential for all-new type puzzles is enormous. (only problem is AGS does not run on iPhone (yet)!)

- my friend is an interaction designer, so he is very interested in finding a new way to control the game, besides mouse or keyboard. Again, this could tie into the touchscreen thing.

- iPhone games are typically games you play for a brief time while you are out and about. Adventure games take time and often a lot of reading to get invested in. How could we adapt storytelling to better fit into a pickup-and-play model? Should we even try?


What do you guys think?
#12
Critics' Lounge / Cowboy walkcycle
Mon 27/12/2010 21:14:37
I've been playing around with After Effects a lot lately, and it led me to try and set up a walkcycle with it to see if I could get more fluid movement out of it. So I took an old sprite and gave it a try. I'd like to hear what you guys think about the movement, and how it could be improved to be more dynamic and characteristic.



Never mind the gaps between the limbs and all that, this sprite is still WIP and was not properly cut out yet. I'm purely talking about the motion now.

And for laughs, here's the walkcycle I made with this sprite two years ago in photoshop :)

#13
A.S.S. - Another Savegames with Screenshots module - v1.5 released 04.11.2011
Original code by Spyros. Enhanced and ported to AGS 3+ code by hedgefield
---------------------------------------------------------------------------------------------------------

v1.5 changelog:
- fixed a bug where pressing F5 or F7 repeatedly opened new instances of the save and load GUI respectively
- added the option to save and display the date and time the savegame was made. see readme for instructions

v1.4 changelog:
- turned the script into a module now that I know how to do that :)
- resized the GUIs back down to their original size and removed all graphics from them
- the module should now enable the "save screenshots in savegames" option for you if you hadn't already

v1.3 changelog:
- fixed a bug where the load GUI would crash when trying to load with no savegame selected

v1.2 changelog:
- fixed a bug where the load GUI would not recognize the first new savegame after deleting all the existing savegames

V1.1 changelog:
- added a delete button!
- fixed a bug where the game would crash when trying to load when no savegames existed yet
- added the ability to deselect a slot by clicking outside the listbox
- increased the walking speed of the character to make moving around less tiresome
- updated the readme with usage instructions

---

ANOTHER savegames with screenshots template you say? Indeed. It remains a much-requested feature, so why not?

This template is a port -or perhaps "mutation" is more accurate- of Spyros' old savegames with screenshots tutorial. When I upgraded to AGS v3 I had to rewrite his code to work with the new object-oriented scripting language, and made a few modifications in the process. So here it is for you to enjoy aswell!

MAKE YOUR CLICKS HERE FOR DOWNLOADING TIMES (download here)



To install:
- import ASS.scm into the Scripts library in AGS (right-click on it, choose 'import script')
- import gSave.guf and gLoad.guf the same way under the GUI library
- open ASScode.txt, copy the whole thing and paste it at the bottom of your global script

To use: When you want to open the save GUI, all you have to do is call: sl_save();
And to open the load gui - you guessed it: sl_load();

new! If you want to store the date and time the screenshot was made, put SL_DATETIME = true; under function game_start() in your Global Script.

Comes with predefined keyboard shortcuts (F5 and F7, can be edited)


Requires AGS v3.0+. Tested with AGS 3.2.1. Keyboard shortcuts are still in ASCII code for additional backwards compatibility.
#14
Hey guys, quick question:

I have a couple of regions set up around some windows, where the player gets progressively brighter as he walks towards them.
Now, with DirectDraw 5, these regions increase the brightness of the whole sprite beautifully. I used that back in 2.62, but now in 3.12, with DirectX9, I've noticed it only raises the brightness while the contrast remains the same. In other words, only lighter areas actually become lighter, the blacks stay just as intense, which totally ruins the point of the lighting in the first place.



Any way to 'fix' this? I don't want to downgrade to DD5 again, it makes the whole game run slower and I'd lose the antialiasing on scaled sprites. I was already thinking alpha overlays, as discussed here a long time ago, as a way to also smooth out the shadow transitions, but this does bring all sorts of pratical problems along with it aswell.

Cheers.
#15
Predator Productions proudly presents:



The year is 1846.

The first settlers have reached California, and the United States are at the brink of war with Mexico. These are troubled times. And in these times, people look for a hero.

What they got was an outlaw.

Are you man enough to fill his boots?




Coyote is a short game that started as a little sideproject to TMC. It wasn't really going anywhere, but when I decided to use the idea for a school assignment, things got done (deadlines are great!). So here it is, my first completed game with AGS! :)

Like I said, it's a short game. It's a sort of introduction to the world of The Coyote - a prequel, if you will, to a future full-length game.

Featuring:
- Handpainted 640x480 graphics!
- Full voiceacting with 314 lines of spoken dialog!
- Gritty cowboy stuff!
- Authentic cowboy slang!
- Shiny objects!

Minimum requirements:
- A Pentium processor with at least 700 Mhz
- 64 MB RAM
- About 90 megabytes of hard disk space
- Windows 98, ME, 2000, XP or Vista with DirectX 5 or above
- Any DirectX-compatible sound and video card

CLICK HERE TO DOWNLOAD THE GAME [71 mb]
#16
Hey guys, I'm setting up a custom save/load system for my game in AGS 3.0.2 SP1.
It's based off that 'ole 'Save/load with screenshots' tutorial from way back when, and I had it working fine in AGS 2.62. But since I didn't understand the code 100%, I had to do a bit of guessing when translating it to the new scripting language. It seems to have worked out pretty well though, since the overall system works, but there's just some peculiar things going on with the GUI itself.

1. When I open the save gui, it takes a screenshot and puts it on a button. However, the first time the screenshot does not load. Only when I close the GUI and open it again does it show up. If I moved in the meantime though, I have to close the GUI again and reopen to see THAT screenshot. So the display is always lagging behind.
2. Additionally, the tempsave I make to create that screenshot never gets deleted, even though it says so in the code.
3. When I open the load GUI, I cannot get the screenshot of the top slot to display. If there are multiple savegames in the list, all their screenshots display correctly, except for the top slot. It just returns null on that one.


Here's the relevant code:

The function definitions (@ top of the global script)
Code: ags
//--------------------------------------------------------------------------------------------------------------
// Savegames with screenshots
//--------------------------------------------------------------------------------------------------------------
// Definitions

// Define screenshot width  - 320/5, aka 128 real pixels in 640x480
#define SL_WIDTH  64  
// Define screenshot height - 240/5, aka 96 real pixels in 640x480
#define SL_HEIGHT 48  
// Substitute "139" with the sprite number of your choosing
#define SL_EMPTY_SPRITE 70

// Variables

String text;                                                              // Stores the typed text
int saveslot = 0;                                                         // Stores the selected savegame slot
int saves = 0;                                                            // Stores the total number of savegames
DynamicSprite *screenshot;                                                // Stores the screenshot

// Functions

function sl_save() {
  Wait(1);
  SaveGameSlot(100, "temp");                                              // Save current game in temp slot
  screenshot = DynamicSprite.CreateFromSaveGame(100, SL_WIDTH, SL_HEIGHT);// Retrieve screenshot from save
  DeleteSaveSlot(100);                                                    // Delete temporary slot
  if (screenshot != null) {
    btnSaveScreen.NormalGraphic = screenshot.Graphic;                     // Display current screenshot
  }
  txtSaveName.Text = "";                                                  // Clear Text box
  lstSaveGames.FillSaveGameList();                                        // Fill List Box with saved games
  lstSaveGames.SelectedIndex = -1;                                        // Deselect savegame slots
  saves = lstSaveGames.ItemCount;                                         // Count how many saved games there are         
  if (saves > 19){                                                        // If saved games 20 (maximum)
    Display("All save slots are full. Please overwrite a previous save.");// Display warning
  }
  gSave.Visible = true;                                                   // Opens the save GUI
  gSave.Centre();                                                         // Centres the save GUI
  mouse.Mode = eModePointer;                                              // Set the pointer cursor
}

function sl_load() {
  lstLoadGames.FillSaveGameList();                                        // Fill List Box with saved games
  lstLoadGames.SelectedIndex = -1;                                        // Deselect savegame slots 
  gLoad.Visible = true;                                                   // Opens the load GUI
  gLoad.Centre();                                                         // Centres the load GUI
  mouse.Mode = eModePointer;                                              // Set the pointer cursor
}

//--------------------------------------------------------------------------------------------------------------


The GUI interactions (@ bottom of the global script).
Code: ags
// Save GUI
function btnSaveOK_OnClick(GUIControl *control, MouseButton button) {
  saves = lstSaveGames.ItemCount;                           // Count saved games
  if (saves < 20) {                                         // If less than 50
    text = txtSaveName.Text;                                // Get the typed text
    if (screenshot != null) {
      btnSaveScreen.NormalGraphic = SL_EMPTY_SPRITE;        // Resets the screenshot
      screenshot.Delete();
    }
    gSave.Visible = false;
    mouse.Mode = eModeWalkto;
    Wait(1);
    SaveGameSlot(saves+1,text);                             // Save game (text as description)
  }   
  else {                                                    // If saved games are maxed out (50)
    saveslot = lstSaveGames.SelectedIndex;                  // Get the selected save game
    text = txtSaveName.Text;                                // Get the typed text
    if (screenshot != null) {
      screenshot.Delete();
      btnSaveScreen.NormalGraphic = SL_EMPTY_SPRITE;        // Resets the screenshot
    }
    gSave.Visible = false;
    mouse.Mode = eModeWalkto;
    Wait(1);
    SaveGameSlot(savegameindex[saveslot],text);             // Overwrite the selected game
  }
}

function btnSaveCancel_OnClick(GUIControl *control, MouseButton button) {
  gSave.Visible = false;
  mouse.Mode = eModeWalkto;
  if (screenshot != null) {
    screenshot.Delete();
    btnSaveScreen.NormalGraphic = SL_EMPTY_SPRITE;          // Resets the screenshot
  }
}



// Load GUI
function btnLoadOK_OnClick(GUIControl *control, MouseButton button) {
  saveslot = lstLoadGames.SelectedIndex;                    // Gets the selected slot
  gLoad.Visible = false;
  mouse.Mode = eModeWalkto;
  if (screenshot != null) {
    screenshot.Delete();
    btnLoadScreen.NormalGraphic = SL_EMPTY_SPRITE;          // Resets the screenshot
  }
  RestoreGameSlot(savegameindex[saveslot]);                 // Restores the selected slot
}

function btnLoadCancel_OnClick(GUIControl *control, MouseButton button) {
  gLoad.Visible = false;
  mouse.Mode = eModeWalkto;
  if (screenshot != null) {
    screenshot.Delete();
    btnLoadScreen.NormalGraphic = SL_EMPTY_SPRITE;          // Resets the screenshot
  }
}

function lstLoadGames_OnSelectionChange(GUIControl *control) {
  // Updates screenshot display when selecting a different slot
  saveslot = lstLoadGames.SelectedIndex;                    // Gets the selected slot
  screenshot = DynamicSprite.CreateFromSaveGame(saveslot, SL_WIDTH, SL_HEIGHT);
  if (screenshot != null) {
    btnLoadScreen.NormalGraphic = screenshot.Graphic;       // Updates the screenshot
  }
}


Any thoughts?


[UPDATE]
I've done a bit of further tweaking, and I've discovered some things.
When I delete the tempsave after clicking OK or Cancel on the save GUI instead of right away, it succesfully gets deleted. Side-effect: Now the GUI never shows a screenshot.

Also, something strange happens on the load GUI. I've noticed that the screenshots are sorted in ascending order, with the first one at the top, but the savegames themselves are listed descending, so the most recent one is at the top. So if you save a few times, it sticks the wrong screenshots on the slots.
#17
I don't know how to describe this problem any other way than give you an example, so here goes.

I made a global variable called gvar_wine, which tracks the choices you make in a certain dialog. Suffice to say when you answer positively, its value becomes 1, if negatively it becomes 2.

After that I made a new global variable called gvar_mexican, which tracks whether or not you've encountered a person in the game, and starts the credit sequence when you enter a particular room when its value is 1.

Now, when I activate the gvar_wine dialog, and answer positively then leave the room, the credit sequence starts. Nowhere is gvar_mexican being called, but it still happens. But it does NOT happen if I answer negatively or dont start the dialog at all and leave the room.

And what's even more interesting is when I dont start the dialog at all, but meet the person, thus setting ONLY gvar_mexican to 1, and then start the dialog, the dialog has changed according to if gvar_WINE was also set to 1.

So could it be that the getglobalint somehow calls up the gvar number instead of its name? I dont know, it doesnt make sense, but thats the only thing I can think of to explain this.

I'm using AGS 3.02 SP1 btw.
#18
Critics' Lounge / TMC walkcycles C&C
Sun 11/11/2007 15:50:51
I could use some help with finalizing the walkcycles for my game. I'm content with the side walkcycle, right now the problem is the down walkcycle (don't get me started on the up walkycle, that's a horror in itself which will be adressed later). I've postponed finishing them because, well, I don't like animating, but it's preventing me from putting out a new demo until they're finished, so I decided to tackle the problem and just get it over with.



This is I think the 4th version, and though close, it's still not right. Ingame the steps seem too small for the walking speed, and even when I lower it to match it doesn't look very natural either. And somewhere something is not quite right with the sway. Don't mind the speeds, they're not an exact match in the animations, but that's just a matter of the framerate.
#19

(click me!)

That site has an index of every possible death in every space quest game. With screenshots! It sure brought a smile to my face.
#20
I'm having a bit of a problem getting the restartgame(); function to work properly...

When I restart the game, the code in '(first time) player enters screen' doesn't run again. So, I figured, I have to reset the rooms. Makes sense right? I found out you can't reset the room you are IN, so I made a new room where the player would go when they restart the game. And in there, the game resets every room, and THEN restarts the game. Alas, that didn't work either.

So now I'm out of ideas. You guys have any?


*I run 2.6, just so you know...
SMF spam blocked by CleanTalk