| 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: |
| Scripting | |
|---|---|
| Tweet Topic Started: Feb 24 2012, 07:34:29 AM (717 Views) | |
Teawater
|
Feb 24 2012, 07:34:29 AM Post #1 |
|
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.![]() ![]() ![]() ![]() ![]() ![]() Don't mind me, I'm nothing but a spoiler.
| |
![]() |
|
Salanewt
|
Dec 28 2012, 10:37:40 PM Post #2 |
![]()
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. | |
![]() |
|
| Starlow | Nov 14 2015, 09:57:53 PM Post #3 |
|
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? |
![]() |
|
Teawater
|
Nov 14 2015, 10:53:18 PM Post #4 |
|
Who are you calling an old man?
![]()
|
You mean this?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.![]() ![]() ![]() ![]() ![]() ![]() Don't mind me, I'm nothing but a spoiler.
| |
![]() |
|
| Starlow | Nov 14 2015, 11:16:58 PM Post #5 |
|
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. |
![]() |
|
| 1 user reading this topic (1 Guest and 0 Anonymous) | |
| « Previous Topic · Bowser's Inside Story · Next Topic » |



Teawater







8:58 PM Jul 10