Chrono Compendium
Kajar Laboratories - Fan Works and Submissions => Chrono Trigger Modification => Topic started by: IHBP on November 25, 2023, 03:27:51 pm
-
Got heavy back into working on CT plus. I pounded out most of the bug list without much trouble, but I got a couple things I could use some help with please.
Normally the fight with Lavos is a one way trip, but I had most endings deposit you back in the game to continue. I worked out all the bugs except one, using the Epoch (no wings) to fight Lavos causes a hard lock next time you go to the world map.
Obviously some flags are set that dont play nice with the overworld. but I can't tell what they are.
Second I need Grand Dream to work with a second weapon, specifically 2D.
Lastly I noticed that some characters have idle animations. Do we know anything about these? like the delay timer or animation used?
-
I can't help, as I'm not much of a techie, but... I commend the effort to pick this back up. I'm pumped for you and this is one of the things I'm always looking for and excited to hear about!!!
-
Well you'll love what is coming next.
-
I'm busy trying to crack out as many words as I can in a one month period, I'll get back to you after that. In the meantime:
- Do you have any freespace left in bank $C1 (0x10000-0x1FFFF)?
- Which characters, and where are the idle animations?
- Do you have any notes on the flags set during that sequence, or where it takes place?
-
1: There is no remaining space in that bank. I assume thats for the Grand Dream?
2: Not all characters but some will blink if left idle, human Glenn will shift back and forth (glitchy)
This suggests that not only is an animation designated there, but a timer as well probably
about once a minute.
3. I assume they are flags related to the Epoch as no other method triggers it. But the overworld
really doesnt like it.
4. Good luck with your many words.
-
2) Overworld or location? PCs only? Is it limited to in party?
-
I just noticed Ayla blinks about once a minute on location maps, Lucca does not. I havent checked the other characters but I will tonight.
-
I don't know where it determines how long before it plays the blink animation, but this is where the animation is selected.
C0/A23D: B98016 LDA $1680,Y
C0/A240: C921 CMP #$21
C0/A242: F00F BEQ $A253
C0/A244: A921 LDA #$21
C0/A246: 998016 STA $1680,Y
C0/A249: A900 LDA #$00
C0/A24B: 998116 STA $1681,Y
C0/A24E: A900 LDA #$00
C0/A250: 990116 STA $1601,Y
C0/A253: 60 RTS
I don't think there's any difference in which animation will play between player characters. If there's an issue, maybe there's something wrong with human Glenn's animation data, causing it to pick inappropriate animation frames, or the frames it calls haven't been set up.
-
Yeah Glenn has two frames of that particular animation don't line up. I fixed his goofy walk and run animiation so I might fix that one too eventually
-
I'm one step closer to figuring out why the game crashes on the overworld if you beat Lavos with the wingless Epoch.
Beating the shell then using the portal resets whatever flag(s) are causing trouble. Unfortunately the portal sets about 20 flags.
-
Can I get your lastest patch and a relevant SRM file?
-
Also I want to force Frogs name to be Glenn by event. The memory location for Frogs name is 7E2C3B-7E2C40 but I dont know what values make those specific letters.
-
I think the letters are bytes, 0xa0 + offset of the letter (A=0,B=1,etc) in this string:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!?/“”:&()’.,=-+% ♥ ∞#♪
https://bisqwit.iki.fi/jutut/ctcset.html (https://bisqwit.iki.fi/jutut/ctcset.html)
so i wanna say Glenn is a6c5bec7c700 (note null terminator)
-
Yup that did it. Thanks!
-
Does anyone know how to expand the uncompressed graphics packet index? It currently goes to x07 but I'd like it to go to x09
-
Are you using the hack I included in Fiendcrafter for enemies?
By default compressed packets are assumed for NPCs and enemies prior to Magus/R-Series, and later enemies and PCs are assumed to be uncompressed.
The hack in Fiendcrafter does an index check that can be altered.
-
It says any enemy can be uncompressed, but I need to be able to add new uncompressed graphics so I can give the pcs alternate appearances.
-
You were right. I was doing it backwards
-
@Mauron were you ever able to figure out why the game crashed when leaving Crono's house after beating the game with the wingless Epoch?
-
Just got around to testing it, but couldn't recreate it. I'll do some more tests later though.
Edit: Got it to happen. The first time I used the Lavos gate between the first and second stage and it didn't lock up.
Edit 2: Epoch status isn't getting cleared properly. Manually clearing it still has some bugs though.
-
What kind of bugs?
-
Graphical ones when moving. Anyway, I found Chrono Trigger's existing fix for this.
In the {1D0} End of Time events, at [0585], there's an If(Mem.7F00AB & 80). You'll want to copy these to part of the ending code, probably in the ending selector.
For the Mem.EpochMap, I'd set that to 0x1F0, and set 7E0290 and 7E0292 (X and Y coordinates) to a location near Crono's house.
-
Yup that worked. I only needed to do the first part since I designed the EoT to always have the Epoch there once it's acquired.
-
Just a dumb question. Is the temporary memory range the entire 7F02xx range?
-
Just a dumb question. Is the temporary memory range the entire 7F02xx range?
7F0200(used often for temporary variables in the game)... Often times this is like when the game uses that assignment for"found whatever item in a chest"and then it sends the item name string index to that as a pointer. Typically I'll use 7f 0 288 to 7F044 as my temporary variable range if I need one for that particular scene/event because most of the time those aren't ever used in the game as temporary variables of course it would be nice at temporal flux would have a variable check to see if a variable is already used in that cutscene or not would be very useful. 😎
Happy hacking as always! 🥳
~Z
-
7F0200-7F03FF is all good for location specific values, but 7F0200 specifically is used for string values.
-
Oh, shucks I meant 7F02xx - 7F0344 range.
~Z
-
7F0200-7F03FF is all good for location specific values, but 7F0200 specifically is used for string values.
z
Ok thats good to know.
-
Yeah usually use some kind of number like 7f0266 if it's not used on that scene use that for get coordinates x and then 7f 0268 for y--again, if it's not used and-- then use your other temporary availables higher than t(hat if they're not used of course....)
I actually think there's a specific variable for get x and get y (for when the first player steps on any coordinate..)
. I'll dig this up later I'm almost to the position to be able to start making some plugins myself I would love to top off the rest of the (variables of the..)game so we can make ANY engine out of it!
Not that SNES is strap for frame rate but I think whatever the default values for get x and get y are(I'm pretty sure Denadoro mountains one of the maps uses it it's pretty close to 7f 0216 I think)... Anyway I think those values actually make it render a slightly bit faster than if you use any other value but that could also have depended on the scene size...
Happy hacking as always!
And for your progress I am starting to cry a thousand gods of sorrow because now I got to start working again to catch up haha! 😎😭
😭
~Z