What condition sets this dialogue?

  • Thread starter Thread starter DLPB_
  • Start date Start date
Status
Not open for further replies.
1. So what you are saying is 8,9 and A are completely unused, and cannot be used at all by anything?
Exactly

2. Can world map use temp 5/6 ?  It does seem to use bank 1 for a few things if I recall.
I'm still not sure. It looks like the only possibilities of reading ANY fieldvars are codes 30C, 325 and 326 though I'm not convinced any of them actually do. I think all wm scripts can do is read the game moment vars and their own memory bank.

3. Also, I noticed battle temp vars are copied at the end of battle to main vars (like escapes, kills) and that it's hardcoded.
Only certain ones are copied. Lots of it is discarded.

4. Can battle AI change addresses / bank vars? And does it?
AI can only affect Bank 1/2 and only one byte at a time through the 95 code.
 
Thanks, last questions :)

1. excellent. Which parts of the original game utilize code 95?

2.  Where is world map's real memory address for its vars?

3. Do you happen to know where bank 5/6 reside in memory

 (I could find these easily but why bother if you know already)
 
1. excellent. Which parts of the original game utilize code 95?
It's the AI Code 95. Several enemies use this for various reasons.

2.  Where is world map's real memory address for its vars?
I dunno. I still don't know what all the codes do. I could be looking over it.

3. Do you happen to know where bank 5/6 reside in memory
0xCC14D0.
 
Which enemies use it?  I need to look at one that does so I can think about making Midgardsormr disappear for good once defeated.  I'll make it set a bit/byte to 1 and then that will be used as a flag to stop it respawning.
 
Which enemies use it?  I need to look at one that does so I can think about making Midgardsormr disappear for good once defeated.  I'll make it set a bit/byte to 1 and then that will be used as a flag to stop it respawning.
Ultima Weapon is a good example.

Now that I think about it, I'm sure there's something the world map can read because the "emerald or Ruby is defeated" flags are in Mem block 1/2.
 
So it's battle that's setting those flags, but wm that can read them ?
 
I'm guessing it does, since that's the only way it can know whether to display Ruby's graphic or not.

In any case, I see here in Proud Clod that 95 saves to a var with a value like 7B.  I take it this means byte 7B startng from Bank 1?
 
I'm guessing it does, since that's the only way it can know whether to display Ruby's graphic or not.

In any case, I see here in Proud Clod that 95 saves to a var with a value like 7B.  I take it this means byte 7B startng from Bank 1?
Yup.
 
Also minigames set vars.  For example sub minigame sets a 1 for success and 0 for loss to var [14][94]

I assume snowboard minigame has to be setting your score / time etc.  And of course, G-bike has to be setting the score you have made.  All hardcoded in exe of no doubt.
 
Is it just me, or did this issue exist in PSX as well?

At the start in Bombing Mission, if Jessie reaches the door before you after the stairs, she just runs through it.  The door opening is not triggered.

How to fix?  I've had a look at it and can't work out what the issue is.
 
I had a look at that field but it was a bit odd. In the walkmesh viewer there's four green lines (denoting Location groups) but there's only three Location groups that are visible in the editor; the two for the ladder and one for the slide (that's unused but probably functioning). The one that handles the door seems to be missing, but functions in-game. Maybe it's because this area was done during the demo phases so there's bits and pieces the editor doesn't recognise? I scoured the other groups for script that handles the door but couldn't find anything.

What you should try first is maybe enabling the Jessie group's 'Contact' (it's set to disabled in her Init). But if that doesn't work, then best guess as to the actual issue is that the game is tracking Cloud's current triangle ID on the walkmesh and continually updating a variable with it. In the 'dir' group's Main script it tracks the Cloud group's Triangle ID to [6][0]. I'm gonna guess that when this variable falls within a certain value, it triggers certain events to happen (a fragment of the old Biggs scene and the unused slide above are there, the triangle IDs for them being stored in [6][2] and [6][4]; at least, the values here correspond to the triangles where these would be triggered).

The reason the Jessie group might not trigger it is because the game is only tracking the Cloud group's position. If changing Jessie's Contact to enabled doesn't work then you could maybe add these lines to the 'dir' group's Main, underneath the line tracking Cloud's Triangle ID:
-) 'Wait 1 Frame'
-) 'Store Triangle ID of the group 'av_j' in [6][0]
-) 'Wait 1 Frame'

If you're lucky, this'll make the Jessie group open the door when she reaches it, as the game will likely just check [6][0] against whatever it is that triggers the door. I don't know if the frame waits are necessary, but best to be safe. Only thing is, if the door is handled by a location group then the [6][0] check might not be used anymore; the other things, like the slide, don't seem to use it now either.
 
Last edited:
Tried that already and no go...

Makou has a separate section for the door stuff.  I think it automatically knows where Cloud is, but I can't be sure.

Does anyone know if this occurred on PSX?
 
Ah well. But yeah, it happens on the PSX PAL version too; just tried it out (console, not emulator just to make sure).
 
Well, either script error... or... they just didn't bother programming the game so that NPC / non main char can trigger doors  (and other position events).  Which would be a bit crap.
 
There is a way around this , if doors cannot be automatically set by NPC walking near them.  That is to use the "Background" opcode to set the parameter (when NPC has satisfied a certain position).

Of course, this would also mean adding in the sound effect and what not, but I've just done some testing and it works fine.
 
Status
Not open for further replies.
Back
Top