Users browsing this thread: 1 Guest(s)
Unique Overworld Boss (a la DoomGaze)/Creating New Area Question

#11
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
(05-23-2011, 07:44 PM)danyetman Wrote: Don't the aforementioned patches simply alter the pointers related to the calling of the particular functions involved to free up space?

Yes, this is exactly what those patches are doing in USME. But as for a similar way to go about doing that for the map data, I myself have not a clue. If I had to guess why nobody has done this, or why there is no patch for it rather is it might just be much easier to move or re-point a bunch of dialog related stuff, and a whole other thing to move the map data. But like I say, I'm just not sure.


We are born, live, die and then do the same thing over again.
Quote  

#12
Posts: 13
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: May 2011
Reputation: 0
Status
None
Well, thank you for all of your help. I managed to figure out how to give Czardragon a 1/64-128 chance of encountering, depending on how lucky you are, which works quite well for my purposes:

Create three formations using Indexes 563, 564, 565, and 566. Place the Brachosaur enemy in 563, 2 Tyranosaurs in 564, one in 565, and Czardragon in 566.

In the Pack creator tab, choose monster indexes 320(5/16), 321(5/16), 321(5/16), and 563(1/13). Also, for the 1/16 probability pack, select the Rand. w/next 3.

I suppose you could fill 563, 564, and 565 with Brachosaurs to more closely emulate the normal encounter rate of Brachosours, but that is up to the user.

So now I have it set up just the way that pleases me! Thank you for all of your help. Now I just need to start creating my own areas without buggering up maps...and then making events...and then, and then, and then.

My god, I have a long way to go...

On a completely unrelated note, I've been looking through the event disassembly (I finally found the program itself, after much searching), and I was looking for the "Save/Kill Cid" event.

Am I right in assuming that $CA/52D1:78 and $CA/52D3:78 have something to do with the invisible counter? I'm fairly sure they do, based on their physical closeness to the dialogue relating to the event, as well as their hex value of 78 (or 120 in decimal form, which is what the invisible counter starts at), but which one (or what OTHER byte, come to that) actually begins the countdown? The Cid actor which begins the event itself has an event number of 5370, so does this relate to $CA/5370:B2? Or am I making erroneous assumptions?
  Find
Quote  

#13
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
(05-26-2011, 08:13 AM)danyetman Wrote: Am I right in assuming that $CA/52D1:78 and $CA/52D3:78 have something to do with the invisible counter? I'm fairly sure they do, based on their physical closeness to the dialogue relating to the event, as well as their hex value of 78 (or 120 in decimal form, which is what the invisible counter starts at), but which one (or what OTHER byte, come to that) actually begins the countdown?


The code you are referring has nothing to do with a counter; it only makes the characters (Celes and cid, I suspect) to be able to go through objects, sort of like a "walk through walls" code. The 78 is the event command to allow specific characters to become "transparent".

Code:
CA/52D1: 78    Enable ability to pass through other objects for object $31 (Party Character 0)
CA/52D3: 78    Enable ability to pass through other objects for object $10 (NPC $10)

I found a timer that starts counting down the time, but I'm unsure what it is for now.

Code:
CA/5338: A0    Set timer 0 to $0040 [0m: 01s: 04j], jump to subroutine $CA533F if it expires. Flags:  
               (Countdown pauses in menu and battle)
               (Countdown not shown while walking)
               (Unknown flag 0x20 disabled on event bank byte)
               (Countdown does not override the game clock display)

(05-26-2011, 08:13 AM)danyetman Wrote: The Cid actor which begins the event itself has an event number of 5370, so does this relate to $CA/5370:B2? Or am I making erroneous assumptions?

Yes, you are right. For some reasons, the event banks are given numbers (probably JCS can give you a more specific reason). Bank CA has a number of 00; bank CB has a number of 01, and so on.

The cid NPC's inside of his house in the WOR are associated with the event "5370" or, more accurately, 005370 (meaning you're referring to the CA bank, and can be translated to CA/5370). When the event is in the C2 bank, you will see a number 1 before the address of the event. Example, 1DD2E (means that you want the event at DD2E in bank CB, or more accurately, CB/DD2E).
Quote  

#14
Posts: 13
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: May 2011
Reputation: 0
Status
None
(05-26-2011, 01:49 PM)angelo26 Wrote:
Code:
CA/5338: A0    Set timer 0 to $0040 [0m: 01s: 04j], jump to subroutine $CA533F if it expires. Flags:  
               (Countdown pauses in menu and battle)
               (Countdown not shown while walking)
               (Unknown flag 0x20 disabled on event bank byte)
               (Countdown does not override the game clock display)
Are you sure about that? My disassembly states that CA/5338: A0 is "Move character right/up 1x1 tiles".
  Find
Quote  

#15
Posts: 52
Threads: 5
Thanks Received: 24
Thanks Given: 0
Joined: Jun 2010
Reputation: 6
Status
None
Code:
CA/52FC: E8    Set word $1FC2($07) [$1FD0] to $0078

CA/5338: A0    Set timer 0 to $0040 [0m: 01s: 04j], jump to subroutine $CA533F if it (expires?), flags: $8
CA/533E: FE    Return

CA/533F: EA    Decrement word $1FC2($07) [$1FD0] by $0001
CA/5343: A0    Set timer 0 to $0040 [0m: 01s: 04j], jump to subroutine $CA533F if it (expires?), flags: $8
CA/5349: FE    Return

It appears that the game uses a repeating 1s timer to continually decrement $1FD0 which is set to 120 just prior. It was probably done in such a way so that they increment/decrement it when feeding Cid fish.
Quote  

#16
Posts: 13
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: May 2011
Reputation: 0
Status
None
(05-26-2011, 04:00 PM)Drakkhen Wrote:
Code:
CA/52FC: E8    Set word $1FC2($07) [$1FD0] to $0078

CA/5338: A0    Set timer 0 to $0040 [0m: 01s: 04j], jump to subroutine $CA533F if it (expires?), flags: $8
CA/533E: FE    Return

CA/533F: EA    Decrement word $1FC2($07) [$1FD0] by $0001
CA/5343: A0    Set timer 0 to $0040 [0m: 01s: 04j], jump to subroutine $CA533F if it (expires?), flags: $8
CA/5349: FE    Return

It appears that the game uses a repeating 1s timer to continually decrement $1FD0 which is set to 120 just prior. It was probably done in such a way so that they increment/decrement it when feeding Cid fish.

How frightening - I actually UNDERSTAND that...it appears that my error initially was in assuming that the hex value of "78" (being 120 in decimal format) was going to be up front in the hex itself, when it appears that what is called is actually a C0 bank event hardcoded to perform that specific function.

Unless, as is probable, I'm reaching a bit above myself and proving myself to be an idiot with delusions of grandeur...

Also, where are you getting these disassemblies? I just took a look through my EventScriptTxt, and CA/52FC: E8 is SKIPPED - it goes from CA/52F6: 6C to CA/52FC: 07. Apparently, I'm missing quite a few things...which bugs the hell out of me.
  Find
Quote  

#17
Posts: 52
Threads: 5
Thanks Received: 24
Thanks Given: 0
Joined: Jun 2010
Reputation: 6
Status
None
Download the event dump from here: http://www.angelfire.com/al2/imzogelmo/patches.html
Quote  

#18
Posts: 13
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: May 2011
Reputation: 0
Status
None
Thank you - I used the actual program available on Lord J's webpage, and it's apparently quite outdated - it leaves out/mislabels several (several several) addresses that are quite important.

Good to have the most up-to-date list!
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite