Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- World Map Script: wm2
- User Friendly Variables
- System Function ID Names
- $OnWorldMapLoad = 0000
- $OnWorldMapUnload = 0001
- $OnFrameTick = 0002
- $OnEnterHighwind = 0006
- $OnDismountChocobo = 0007
- $OnEnterDesert = 000f
- $OnBuggyBreakdown1 = 0010
- $OnBuggyBreakdown2 = 0011
- Model Function ID Names
- $OnModelLoad = 0000
- $OnModelUnload = 0001
- $OnFrameTick = 0002
- $OnMovement = 0003
- $OnEnterDesert = 000f
- Model/Entity ID Names
- $CloudModel = 0000
- $TifaModel = 0001
- $CidModel = 0002
- $UltimateWeaponModel = 0003
- $HighwindModel = 000b
- $SubmarineModel = 000d
- $ChocoboModel = 0013
- $SystemModelInActiveEntityContext = ffff
- Chocobo Types
- $YellowChocobo = #0000
- $GreenChocobo = #0001
- $BlueChocobo = #0002
- $BlackChocobo = #0003
- $GoldChocobo = #0004
- Submarine Types
- $RedSubmarine = #0000
- $BlueSubmarine = #0001
- Special Var Names
- $ActiveEntityMeshXCoor = 0000
- $ActiveEntityMeshZCoor = 0001
- $ActiveEntityXCoorInMesh = 0002
- $ActiveEntityZCoorInMesh = 0003
- $ActiveEntityDirection = 0004
- $FirstEntityModelId = 0008
- $ActiveEntityModelId = 0009
- $WildChocoboType = 000a
- $BattleResult = 000b
- $PromptWindowResult = 000d
- Call Table
- Addr Code
- 0002 System.Function($OnWorldMapLoad) { CALL 0x0003 }
- 0004 System.Function($OnWorldMapUnload) { CALL 0x0001 }
- 0006 System.Function($OnFrameTick) { CALL 0x0002 }
- 0008 System.Function($UnknownFunc3) { CALL 0x0003 }
- 000a System.Function($UnknownFunc4) { CALL 0x0003 }
- 000c System.Function($UnknownFunc5) { CALL 0x0003 }
- 000e System.Function($OnEnterHighwind) { CALL 0x0003 }
- 0010 System.Function($OnDismountChocobo) { CALL 0x0003 }
- 0012 System.Function($UnknownFunc8) { CALL 0x0188 }
- 0014 System.Function($UnknownFunc9) { CALL 0x0231 }
- 0016 System.Function($UnknownFunc10) { CALL 0x0279 }
- 0018 Model($SubmarineModel).Function($OnModelLoad) { CALL 0x01c5 }
- 001a Model($SubmarineModel).Function($OnFrameTick) { CALL 0x01ba }
- 001c Model($SubmarineModel).Function($UnknownFunc8) { CALL 0x0188 }
- 001e Model($SubmarineModel).Function($UnknownFunc9) { CALL 0x0231 }
- 0020 Model($SubmarineModel).Function($UnknownFunc10) { CALL 0x0279 }
- 0022 Model($UnknownModel17).Function($OnModelLoad) { CALL 0x0213 }
- 0024 Model($UnknownModel17).Function($OnFrameTick) { CALL 0x01fb }
- 0026 Model($UnknownModel18).Function($OnModelLoad) { CALL 0x01ea }
- 0028 Model($UnknownModel26).Function($OnModelLoad) { CALL 0x0224 }
- 002a Model($UnknownModel28).Function($OnModelLoad) { CALL 0x0267 }
- 002c Model($UnknownModel28).Function($OnFrameTick) { CALL 0x0246 }
- 002e Model($UnknownModel30).Function($OnModelLoad) { CALL 0x03fd }
- 0030 Model($UnknownModel30).Function($OnFrameTick) { CALL 0x02a9 }
- 0032 Walkmesh(11, 17).FunctionType(0) { CALL 0x029e }
- Function 0000
- Addr Code
- 0000 RETURN
- Function 0001
- Called by:
- System.Function($OnWorldMapUnload)
- Addr Code
- 0001 RETURN
- Function 0002
- Called by:
- System.Function($OnFrameTick)
- Addr Code
- 0002 RETURN
- Function 0003
- Called by:
- System.Function($OnWorldMapLoad)
- System.Function($UnknownFunc3)
- System.Function($UnknownFunc4)
- System.Function($UnknownFunc5)
- System.Function($OnEnterHighwind)
- System.Function($OnDismountChocobo)
- Addr Code
- 0006 IF (Bank0[0350].Bit(3)) {
- 000b SetSubmarineType($BlueSubmarine)
- 000c GOTO 0017
- }
- 0011 IF (Bank0[0352].Bit(2)) {
- 0016 SetSubmarineType($RedSubmarine)
- }
- 001d IF ((GetSpecial($UnknownSpecialVar5) == #0000)) {
- 0023 IF ((!Bank0[007b].Bit(4))) {
- 0031 IF (((Bank0[0350].Bit(3) == #0001) || (Bank0[0352].Bit(2) == #0001))) {
- 0036 LoadAndInitModel(#001e)
- }
- }
- 003a IF (Bank0[0350].Bit(3)) {
- 003f LoadAndInitModel(#001c)
- }
- 0043 LoadAndInitModel(#0012)
- 0047 LoadAndInitModel(#0011)
- 004c IF ((!Bank0[0352].Bit(1))) {
- 0051 LoadAndInitModel(#001a)
- }
- 0055 IF (Bank0[0350].Bit(3)) {
- 005a LoadAndInitModel(#000d)
- }
- 005e IF (Bank0[0352].Bit(2)) {
- 0063 LoadAndInitModel(#000d)
- }
- 0064 SetCurrentEntityAsPlayerEntity()
- 006b IF ((GetSpecial($UnknownSpecialVar6) == #0000)) {
- 006d GOTO 00b3
- }
- 0075 IF ((GetSpecial($UnknownSpecialVar6) == #001f)) {
- 007c ActiveEntity.SetMeshCoordsXZ(#0010, #0012)
- 0082 ActiveEntity.SetCoordsInMeshXZ(#0648, #1b20)
- 0083 GOTO 00b3
- }
- 008b IF ((GetSpecial($UnknownSpecialVar6) == #002a)) {
- 0092 ActiveEntity.SetMeshCoordsXZ(#0014, #0012)
- 0098 ActiveEntity.SetCoordsInMeshXZ(#0bf3, #08d0)
- 0099 GOTO 00b3
- }
- 00a1 IF ((GetSpecial($UnknownSpecialVar6) == #0038)) {
- 00a8 ActiveEntity.SetMeshCoordsXZ(GetSpecial($ActiveEntityMeshXCoor), GetSpecial($ActiveEntityMeshZCoor))
- 00ae ActiveEntity.SetCoordsInMeshXZ(GetSpecial($ActiveEntityXCoorInMesh), GetSpecial($ActiveEntityZCoorInMesh))
- 00b2 ActiveEntity.SetDirectionAndFacing(GetSpecial($ActiveEntityDirection))
- }
- 00b3 GOTO 00fb
- }
- 00b9 IF ((!Bank0[007b].Bit(4))) {
- 00c7 IF (((Bank0[0350].Bit(3) == #0001) || (Bank0[0352].Bit(2) == #0001))) {
- 00cc LoadAndInitModel(#001e)
- }
- }
- 00d0 IF (Bank0[0350].Bit(3)) {
- 00d5 LoadAndInitModel(#001c)
- }
- 00d9 LoadAndInitModel(#0012)
- 00dd LoadAndInitModel(#0011)
- 00e2 IF ((!Bank0[0352].Bit(1))) {
- 00e7 LoadAndInitModel(#001a)
- }
- 00eb IF (Bank0[0350].Bit(3)) {
- 00f0 LoadAndInitModel(#000d)
- }
- 00f4 IF (Bank0[0352].Bit(2)) {
- 00f9 LoadAndInitModel(#000d)
- }
- 00fa SetCurrentEntityAsPlayerEntity()
- 0100 SetActivePoint(#0000, #0001)
- 0106 SetPointMeshCoordsXZ(#000c, #0011)
- 010c SetPointCoordsInMeshXZ(#1095, #10ca)
- 0114 SetPointTerrainBGR(#00ff, #00ff, #00ff)
- 011a SetPointDropoffParams(#0005, #0005)
- 0120 SetActivePoint(#0003, #0000)
- 0126 SetPointMeshCoordsXZ(#0012, #0010)
- 012c SetPointCoordsInMeshXZ(#0fa0, #1388)
- 0132 SetActivePoint(#0004, #0000)
- 0138 SetPointMeshCoordsXZ(#0014, #0011)
- 013e SetPointCoordsInMeshXZ(#033c, #01f4)
- 0144 SetActivePoint(#0005, #0000)
- 014a SetPointMeshCoordsXZ(#0013, #0013)
- 0150 SetPointCoordsInMeshXZ(#14a8, #1399)
- 0156 SetActivePoint(#0006, #0000)
- 015c SetPointMeshCoordsXZ(#0012, #0014)
- 0162 SetPointCoordsInMeshXZ(#1903, #1416)
- 0168 SetActivePoint(#0007, #0000)
- 016e SetPointMeshCoordsXZ(#0011, #0013)
- 0174 SetPointCoordsInMeshXZ(#1f48, #0dd6)
- 017a SetActivePoint(#0008, #0000)
- 0180 SetPointMeshCoordsXZ(#0012, #0011)
- 0186 SetPointCoordsInMeshXZ(#0ef7, #1c81)
- 0187 RETURN
- Function 0188
- Called by:
- System.Function($UnknownFunc8)
- Model($SubmarineModel).Function($UnknownFunc8)
- Addr Code
- 018b SetControlsEnabled(#0000)
- 018f PlaySoundEffect(#000b)
- 0193 ActiveEntity.SetMoveSpeedHonoringWalkmesh(Speed=#001e)
- 0197 ActiveEntity.SetDirectionAndFacing(GetSpecial($ActiveEntityDirection))
- 019e SetActiveEntityDirection((GetSpecial($ActiveEntityDirection) + #0080))
- 01a4 FadeOut(#00fa, #0000)
- 01a8 SetNumWaitFrames(#0003)
- 01a9 Wait()
- 01af FadeIn(#00fa, #0000)
- 01b3 SetNumWaitFrames(#0002)
- 01b4 Wait()
- 01b8 ActiveEntity.SetMoveSpeed(#0000)
- 01b9 RETURN
- Function 01ba
- Called by:
- Model($SubmarineModel).Function($OnFrameTick)
- Addr Code
- 01c1 IF ((ActiveEntity.GetDistanceToModel(#0012) <= #0050)) {
- 01c3 Op30d()
- }
- 01c4 RETURN
- Function 01c5
- Called by:
- Model($SubmarineModel).Function($OnModelLoad)
- Addr Code
- 01cb IF ((GetSpecial($UnknownSpecialVar5) == #0000)) {
- 01d3 IF ((GetSpecial($UnknownSpecialVar6) == #002a)) {
- 01d9 IF ((!Bank0[007a].Bit(2))) {
- 01de SetControlsEnabled(#0000)
- 01e2 SetNumWaitFrames(#003c)
- 01e3 Wait()
- 01e4 SetFieldEntryPoint()
- 01e8 SetControlsEnabled(#0001)
- }
- }
- }
- 01e9 RETURN
- Function 01ea
- Called by:
- Model($UnknownModel18).Function($OnModelLoad)
- Addr Code
- 01ef ActiveEntity.SetMeshCoordsXZ(#0014, #0011)
- 01f5 ActiveEntity.SetCoordsInMeshXZ(#102d, #0b8d)
- 01f9 ActiveEntity.SetDirectionAndFacing(#0000)
- 01fa RETURN
- Function 01fb
- Called by:
- Model($UnknownModel17).Function($OnFrameTick)
- Addr Code
- 0201 IF ((GetSpecial($FirstEntityModelId) == $SubmarineModel)) {
- 020a IF ((ActiveEntity.GetDistanceToModel(GetSpecial($FirstEntityModelId)) <= #003c)) {
- 0211 EnterFieldScene(#001f, #0000)
- }
- }
- 0212 RETURN
- Function 0213
- Called by:
- Model($UnknownModel17).Function($OnModelLoad)
- Addr Code
- 0218 ActiveEntity.SetMeshCoordsXZ(#0010, #0012)
- 021e ActiveEntity.SetCoordsInMeshXZ(#071e, #1a50)
- 0222 ActiveEntity.SetDirectionAndFacing(#0000)
- 0223 RETURN
- Function 0224
- Called by:
- Model($UnknownModel26).Function($OnModelLoad)
- Addr Code
- 0229 ActiveEntity.SetMeshCoordsXZ(#0011, #000b)
- 022f ActiveEntity.SetCoordsInMeshXZ(#127c, #125f)
- 0230 RETURN
- Function 0231
- Called by:
- System.Function($UnknownFunc9)
- Model($SubmarineModel).Function($UnknownFunc9)
- Addr Code
- 0236 WRITE Bank0[0352].Bit(0) = #0001
- 023d IF ((Bank0[0350].Bit(3) == #0001)) {
- 0244 EnterFieldScene(#0038, #0001)
- }
- 0245 RETURN
- Function 0246
- Called by:
- Model($UnknownModel28).Function($OnFrameTick)
- Addr Code
- 024c IF ((GetSpecial($FirstEntityModelId) == $SubmarineModel)) {
- 0251 IF (Bank0[0350].Bit(3)) {
- 0257 IF ((!Bank0[0352].Bit(0))) {
- 0260 IF ((ActiveEntity.GetDistanceToModel(GetSpecial($FirstEntityModelId)) <= #003c)) {
- 0265 CALL Model($SubmarineModel).Function($OnFrameTick)
- }
- }
- }
- }
- 0266 RETURN
- Function 0267
- Called by:
- Model($UnknownModel28).Function($OnModelLoad)
- Addr Code
- 026c ActiveEntity.SetMeshCoordsXZ(#0011, #0016)
- 0272 ActiveEntity.SetCoordsInMeshXZ(#1127, #118e)
- 0277 ActiveEntity.SetYOffset((-#00c8))
- 0278 RETURN
- Function 0279
- Called by:
- System.Function($UnknownFunc10)
- Model($SubmarineModel).Function($UnknownFunc10)
- Addr Code
- 027e WRITE Bank0[0352].Bit(1) = #0001
- 0285 IF ((Bank0[0350].Bit(3) == #0001)) {
- 028c EnterFieldScene(#0038, #0001)
- 028d GOTO 029d
- }
- 0295 IF ((Bank0[0352].Bit(2) == #0001)) {
- 029c EnterFieldScene(#0038, #0000)
- }
- 029d RETURN
- Function 029e
- Called by:
- Walkmesh(11, 17).FunctionType(0)
- Addr Code
- 02a2 IF ((!Bank0[0352].Bit(1))) {
- 02a7 CALL Model($SubmarineModel).Function($OnFrameTick)
- }
- 02a8 RETURN
- Function 02a9
- Called by:
- Model($UnknownModel30).Function($OnFrameTick)
- Addr Code
- 02af IF ((GetSpecial($FirstEntityModelId) == $SubmarineModel)) {
- 02b8 IF ((ActiveEntity.GetDistanceToModel(GetSpecial($FirstEntityModelId)) <= #004b)) {
- 02bd IF (Bank0[007a].Bit(7)) {
- 02c2 SetControlsEnabled(#0000)
- 02c6 Op34a(#0006)
- 02ca CALL Model($SubmarineModel).Function($OnFrameTick)
- 02cb Op334()
- 02cf TriggerBattle(SceneId=#03da)
- 02d0 GOTO 02e7
- }
- 02d5 SetControlsEnabled(#0000)
- 02d9 Op34a(#0006)
- 02dd CALL Model($SubmarineModel).Function($OnFrameTick)
- 02de Op334()
- 02e2 Op355(#04b3)
- 02e6 TriggerBattle(SceneId=#03d8)
- }
- }
- 030b IF (((((((Bank1[0000] == #0003) || (Bank1[0000] == #0004)) || (Bank1[0000] == #0005)) || (Bank1[0000] == #0006)) || (Bank1[0000] == #0007)) || (Bank1[0000] == #0008))) {
- 0310 ActiveEntity.SetMoveSpeed(#0028)
- 0317 WRITE Bank1_16bit[0008] = ActiveEntity.GetDistanceToPoint(Bank1[0003])
- 031e IF ((Bank1_16bit[0008] >= #0200)) {
- 0323 Op321(Bank1[0003])
- 0324 GOTO 03ae
- }
- 032c IF ((Bank1_16bit[0008] <= #0100)) {
- 0331 Op321(Bank1[0004])
- 0332 GOTO 03ae
- }
- 0340 IF (((Bank1_16bit[0008] > #0100) && (Bank1_16bit[0008] < #0200))) {
- 0348 WRITE Bank1_16bit[0016] = Op01b_UsingAtbTable(Bank1[0003])
- 034f WRITE Bank1_16bit[0018] = Op01b_UsingAtbTable(Bank1[0004])
- 0359 IF (((Bank1_16bit[0016] - Bank1_16bit[0018]) >= #0080)) {
- 0363 WRITE Bank1_16bit[0016] = (Bank1_16bit[0016] - #0100)
- 0364 GOTO 037a
- }
- 036f IF (((Bank1_16bit[0018] - Bank1_16bit[0016]) >= #0080)) {
- 0379 WRITE Bank1_16bit[0018] = (Bank1_16bit[0018] - #0100)
- }
- 0382 WRITE Bank1_16bit[000e] = (Bank1_16bit[0008] - #0100)
- 038b WRITE Bank1_16bit[0010] = (Bank1_16bit[000e] * Bank1_16bit[0016])
- 0394 WRITE Bank1_16bit[000e] = (#0100 - Bank1_16bit[000e])
- 039d WRITE Bank1_16bit[0012] = (Bank1_16bit[0018] * Bank1_16bit[000e])
- 03a9 WRITE Bank1_16bit[0014] = ((Bank1_16bit[0010] + Bank1_16bit[0012]) >> #0008)
- 03ad ActiveEntity.SetDirectionAndFacing(Bank1_16bit[0014])
- }
- 03b3 WRITE Bank1_16bit[000a] = Bank1_16bit[000c]
- 03ba WRITE Bank1_16bit[000c] = ActiveEntity.GetDistanceToPoint(Bank1[0003])
- 03c1 IF ((Bank1_16bit[000c] > Bank1_16bit[000a])) {
- 03c8 WRITE Bank1_16bit[000c] = #7fff
- 03d1 WRITE Bank1[0003] = (Bank1[0003] + #0001)
- 03d8 IF ((Bank1[0003] == #0009)) {
- 03df WRITE Bank1[0003] = #0003
- }
- 03e8 WRITE Bank1[0004] = (Bank1[0003] + #0001)
- 03ef IF ((Bank1[0004] == #0009)) {
- 03f6 WRITE Bank1[0004] = #0003
- }
- }
- }
- 03fa SetNumWaitFrames(#0001)
- 03fb Wait()
- 03fc RETURN
- Function 03fd
- Called by:
- Model($UnknownModel30).Function($OnModelLoad)
- Addr Code
- 0402 WRITE Bank1_16bit[000c] = #0000
- 040e WRITE Bank1[0000] = ((GetSpecial($UnknownSpecialVar16) * #0009) >> #0008)
- 0414 WRITE Bank1[0003] = Bank1[0000]
- 041d WRITE Bank1[0004] = (Bank1[0003] + #0001)
- 0424 IF ((Bank1[0004] == #0009)) {
- 042b WRITE Bank1[0004] = #0003
- }
- 0432 IF ((Bank1[0000] == #0000)) {
- 0439 ActiveEntity.SetMeshCoordsXZ(#0012, #0013)
- 043f ActiveEntity.SetCoordsInMeshXZ(#10b4, #0fc8)
- 0443 ActiveEntity.SetDirectionAndFacing(#0060)
- 0449 ActiveEntity.PlayAnimation(#0000, #0001)
- 044a GOTO 0532
- }
- 0452 IF ((Bank1[0000] == #0001)) {
- 0459 ActiveEntity.SetMeshCoordsXZ(#0010, #0012)
- 045f ActiveEntity.SetCoordsInMeshXZ(#06aa, #10d6)
- 0463 ActiveEntity.SetDirectionAndFacing(#007b)
- 0469 ActiveEntity.PlayAnimation(#0000, #0001)
- 046a GOTO 0532
- }
- 0472 IF ((Bank1[0000] == #0002)) {
- 0479 ActiveEntity.SetMeshCoordsXZ(#0011, #0016)
- 047f ActiveEntity.SetCoordsInMeshXZ(#0444, #02ca)
- 0483 ActiveEntity.SetDirectionAndFacing(#0063)
- 0489 ActiveEntity.PlayAnimation(#0000, #0001)
- 048a GOTO 0532
- }
- 0492 IF ((Bank1[0000] == #0003)) {
- 0499 ActiveEntity.SetMeshCoordsXZ(#0012, #0010)
- 049f ActiveEntity.SetCoordsInMeshXZ(#0fa0, #1388)
- 04a5 ActiveEntity.PlayAnimation(#0001, #0001)
- 04a6 GOTO 0532
- }
- 04ae IF ((Bank1[0000] == #0004)) {
- 04b5 ActiveEntity.SetMeshCoordsXZ(#0014, #0011)
- 04bb ActiveEntity.SetCoordsInMeshXZ(#033c, #01f4)
- 04c1 ActiveEntity.PlayAnimation(#0001, #0001)
- 04c2 GOTO 0532
- }
- 04ca IF ((Bank1[0000] == #0005)) {
- 04d1 ActiveEntity.SetMeshCoordsXZ(#0013, #0013)
- 04d7 ActiveEntity.SetCoordsInMeshXZ(#14a8, #1399)
- 04dd ActiveEntity.PlayAnimation(#0001, #0001)
- 04de GOTO 0532
- }
- 04e6 IF ((Bank1[0000] == #0006)) {
- 04ed ActiveEntity.SetMeshCoordsXZ(#0012, #0014)
- 04f3 ActiveEntity.SetCoordsInMeshXZ(#1903, #1416)
- 04f9 ActiveEntity.PlayAnimation(#0001, #0001)
- 04fa GOTO 0532
- }
- 0502 IF ((Bank1[0000] == #0007)) {
- 0509 ActiveEntity.SetMeshCoordsXZ(#0011, #0013)
- 050f ActiveEntity.SetCoordsInMeshXZ(#1f48, #0dd6)
- 0515 ActiveEntity.PlayAnimation(#0001, #0001)
- 0516 GOTO 0532
- }
- 051e IF ((Bank1[0000] == #0008)) {
- 0525 ActiveEntity.SetMeshCoordsXZ(#0012, #0011)
- 052b ActiveEntity.SetCoordsInMeshXZ(#0ef7, #1c81)
- 0531 ActiveEntity.PlayAnimation(#0001, #0001)
- }
- 0536 SetActiveEntityYPos((-#109a))
- 0537 RETURN
- Function 0538
- Addr Code
- 0538 RETURN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement