Welcome Guest [Log In] [Register]
Welcome to Yoshi Lighthouse. We hope you enjoy your visit.


You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.


Join our community!


If you're already a member please log in to your account to access all of our features:

Username:   Password:
Add Reply
Scripting
Topic Started: Feb 24 2012, 07:34:29 AM (717 Views)
Posted Image Teawater
Who are you calling an old man?

For reference, here is PIT's Scripting information:

Spoiler: click to toggle


021248C8 = Field
02087818 = Battle

80 (1-bit) = A 16-bit flag index in which we are to write a value to.
7F (7-bit) = The list of data. This number just says how many values we have.
FF (x15) (4-bit per data; max 7) = What is the datatype of the data? (0 = 8-bit ; 1 = 16-bit ; 2 = 32-bit ; Add 3 for signed. ; 6 and 7 are 4 and 5 respectively.)

I will try to organize this topic a bit later. (Which is when the spoiler will be removed.)

Main Commands! (02016254) (May or may not be off by 1)

00 = End (Return 1)
01 = Return (Return 2 if End else 0)
02 = Compare (With Inequalities.) and relative jump. Will finish compare research later.
03 = Jump/Call
-(0 = Jump ; 1 = Call)
-(Relative jump)
04 = Delay in frames.
05 = Call another script when current function returns.
-Script's address.
06 = Load to mem, return address (& Popped)
07 = Not sure exactly, but seems like it might be used as a counter until branch. (Ex: For - Loop, and it looks like you can increment/decrement the return address index.)

Operations:
08 = (mem = value)
09 = (mem = val1 + val2)
0A = (mem = val1 - val2)
0B = (mem = val1 * val2)
0C = (mem = val1 /(?) val2)
0D = (mem = val1 \(?) val2) (Remainder?)
0E = (mem = val1 << val2)
0F = (mem = val1 >> val2) (Arithmetic/keep sign)
10 = (mem = val1 And val2)
11 = (mem = val1 Or val2)
12 = (mem = val1 Xor val2)
13 = (mem = 0 - val1 ; (rsb))
14 = (mem = (val1=0))
15 = (mem = val1 (mvn)) (Lookup mvn)
16 = (mem += 1)
17 = (mem -= 1)
18 = (mem += value)
19 = (mem -= value)
1A = (mem *= value)
1B = (mem /= value)
1C = (mem \= value) (Remainder)
1D = (mem <<= value)
1E = (mem >>= value) (Arithmetic/keep sign)
1F = (mem And= value)
20 = (mem Or= value)
21 = (mem Xor= value)

I/O Related
22 = mem = ? (02016BD0)
23 = mem = ?
24 = mem = ?

25 = mem = Sqrt??? Random Number???, sin/cos???, ??? ... (Do research: 02016C6C)
26 = Similar to above...
27 = mem = ?
28 = mem = ?
29 = Random Number??? (0205bac0) (Unknown)

2A = (mem = value)
2B = (mem = val1 + val2)
2C = (mem = val1 - val2)
2D = (mem = ?)
2E =
2F =
30 = (mem = value >> xC) asr
31 = (mem = value And &HFFFFF000) (I think.)
32 =
33 =
34 =
35 = Like x26??
36 = "
37 =
38 =
39 = (020165C8)
3A = mem = byte[current address in script + value]
3B = Nothing.
3C = Nothing.
3D = Nothing.
3E = Nothing.
3F = Nothing.
40 =
41 =
42 =
43 =
44 =
45 =
46 =

Field Commands! (0210F0E0)

016A = Wait for animation to complete? (? Guessed while testing Save Block in room 129.)

0199 = Might open Save menu?

01BA = Conversation.
01BB = Wait for Conversation Response.


Battle Commands:

0059 = ? (May include a wait for condition before continuing to next command.)

65 = Load Enemy?
-??? (Normally [xA002])
-Enemy to load

0066 = I suspect this sets the ability used? (Not sure.)

006A = Unknown? ; This waits until [02064F08] + 2EAF2 is boolean 0.

0073 = ?

00BF = Load stat
00C0 = Store stat
Arg1: Char slot (1###-5###; 1### might be PC slots?; 2### for Enemy Slots)
Arg2: Stat
For Loading to mem:
09 = Home X
0A = Home Y
0B = Home Z
0C-1F = 0
20 = ?
21 = Max HP
22 = Current HP
23 = ?
24 = Power
25 = Defense
26 = ?
27 = Speed?
28 =

00CE (=?) (See 02128218 for first enemy.; (SET for 8 bytes); Unset 80000000)
00CF = (See 02128218 for first enemy.; (SET) Arg2: 0000001F; Arg3:0001FC00; Set 80000000)
00D0 (=?) (See 02128218 for first enemy.; Unset 0000001F)

01F1 = Conversation
01F2 = Wait for Conversation Response.

0201 = Music-related?
0202 = Set music

0213 = Unknown? But might be for enemies randomly targeting PCs? ((1007) 4000 0003 ; 1000 or 1001 placed at 1007.)

0222 = Last battle command
Edited by Teawater, Nov 27 2013, 02:41:59 PM.
If you ever find an error in any of my reference materials, PLEASE let me know.
Posted ImagePosted ImagePosted ImagePosted ImagePosted ImagePosted Image

Don't mind me, I'm nothing but a spoiler.
Offline Profile Quote Post Goto Top
 
Posted Image Salanewt
Member Avatar
Star Yoshi

Okay, so I'm going to do what I can to post information on what is likely battle scripting. I'll just post my findings regarding the tutorial battle, and then expand on possible commands later on.

00545A89 - Number of Bowser enemies. It will stack all of the additional Bowsers in front of the original one (who is in the back) if using the default formation.


Edit: Made a minor correction, and am looking for this battle's formation value.
Edited by Salanewt, Dec 28 2012, 11:21:37 PM.
Have a nice day!

Oh wow, it's been a while. Um. Hi. I guess I can get back into M&L stuff sooner or later, it really has been ages.

To use a sword, /\ and / again.
Offline Profile Quote Post Goto Top
 
Starlow
Member Avatar
Hatchling
like how does it load monster?
is it like this?
HEX
=========
like a timer to load the monster like when?
01 00 00 00 type of monster
03 00 00 00 monster positionX
02 00 00 00 monster positionY
is like this?
Offline Profile Quote Post Goto Top
 
Posted Image Teawater
Who are you calling an old man?

You mean this?
Quote:
 
65 = Load Enemy?
-??? (Normally [xA002])
-Enemy to load
It'ls been awhile since I last checked... so...
I think there's a tiny typo, though... as 65 might be 16-bit. (0065)

0065 A002 ???? (Not sure if enemy to load is a 32-bit... since not looking in the editor right now.)

And I forgot if that was only limited to enemy data or whatever... (aka: Not enemy sprite) - Basically when you've been away for a long time, you get a bit rusty and need to refresh on it, which I probably will later?
Edited by Teawater, Nov 14 2015, 10:57:17 PM.
If you ever find an error in any of my reference materials, PLEASE let me know.
Posted ImagePosted ImagePosted ImagePosted ImagePosted ImagePosted Image

Don't mind me, I'm nothing but a spoiler.
Offline Profile Quote Post Goto Top
 
Starlow
Member Avatar
Hatchling
like when does it load the monster? does it just start the command when battle starts? or if a monster is hit. or monster is dead.
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · Bowser's Inside Story · Next Topic »
Add Reply

↓ It's not the truth (or is it?) Come back tomorrow to find out! (Joke.) ↓