diff --git a/asm/include/overlay_11.inc b/asm/include/overlay_11.inc index 9ac3426b..8bfeea2c 100644 --- a/asm/include/overlay_11.inc +++ b/asm/include/overlay_11.inc @@ -737,12 +737,17 @@ .public sub_0205EC50 .public sub_0205EC78 .public sub_0205F0B8 +.public sub_0205F0F0 .public sub_0205F118 .public sub_0205F2B8 .public sub_0205F464 .public sub_0205F504 .public sub_0205F5A8 .public sub_0205F710 +.public sub_02061F44 +.public sub_02061F90 +.public sub_02062D9C +.public sub_02062DB4 .public sub_02062DC4 .public sub_0206309C .public sub_020630A4 diff --git a/asm/overlay_11.s b/asm/overlay_11.s index 60d57003..15d9a423 100644 --- a/asm/overlay_11.s +++ b/asm/overlay_11.s @@ -2213,70 +2213,70 @@ _022DDDE0: ; jump table b _022E04DC ; case 108 b _022E04DC ; case 109 b _022E04DC ; case 110 - b ov11_022E04D4 ; case 111 - b ov11_022E04C4 ; case 112 + b _022E04D4 ; case 111 + b _022E04C4 ; case 112 b _022E04DC ; case 113 b _022E04DC ; case 114 b _022E04DC ; case 115 - b ov11_022DEE44 ; case 116 - b ov11_022DEDC4 ; case 117 - b ov11_022DEE00 ; case 118 - b ov11_022DED7C ; case 119 - b ov11_022DED60 ; case 120 - b ov11_022DED98 ; case 121 - b ov11_022DEF04 ; case 122 - b ov11_022DEEBC ; case 123 - b ov11_022DEF8C ; case 124 - b ov11_022DEF64 ; case 125 - b ov11_022DEF28 ; case 126 - b ov11_022DEEDC ; case 127 - b ov11_022DEE84 ; case 128 - b ov11_022E04B8 ; case 129 - b ov11_022E04CC ; case 130 + b _022DEE44 ; case 116 + b _022DEDC4 ; case 117 + b _022DEE00 ; case 118 + b _022DED7C ; case 119 + b _022DED60 ; case 120 + b _022DED98 ; case 121 + b _022DEF04 ; case 122 + b _022DEEBC ; case 123 + b _022DEF8C ; case 124 + b _022DEF64 ; case 125 + b _022DEF28 ; case 126 + b _022DEEDC ; case 127 + b _022DEE84 ; case 128 + b _022E04B8 ; case 129 + b _022E04CC ; case 130 b _022E04DC ; case 131 b _022E04DC ; case 132 b _022E04DC ; case 133 b _022E04DC ; case 134 - b ov11_022E0410 ; case 135 - b ov11_022E0434 ; case 136 - b ov11_022DE3AC ; case 137 + b _022E0410 ; case 135 + b _022E0434 ; case 136 + b _022DE3AC ; case 137 b _022E04DC ; case 138 - b ov11_022DECDC ; case 139 + b _022DECDC ; case 139 b _022E04DC ; case 140 b _022E04DC ; case 141 - b ov11_022DE458 ; case 142 - b ov11_022DE484 ; case 143 + b _022DE458 ; case 142 + b _022DE484 ; case 143 b _022E04DC ; case 144 b _022E04DC ; case 145 b _022E04DC ; case 146 - b ov11_022DE4BC ; case 147 + b _022DE4BC ; case 147 b _022E04DC ; case 148 b _022E04DC ; case 149 - b ov11_022DF924 ; case 150 - b ov11_022DF924 ; case 151 - b ov11_022DFA50 ; case 152 - b ov11_022DF8B8 ; case 153 - b ov11_022DF92C ; case 154 - b ov11_022DF924 ; case 155 - b ov11_022DF92C ; case 156 - b ov11_022DE3F0 ; case 157 - b ov11_022DF92C ; case 158 - b ov11_022DFA78 ; case 159 - b ov11_022DF92C ; case 160 - b ov11_022DF728 ; case 161 - b ov11_022DF710 ; case 162 - b ov11_022DF740 ; case 163 - b ov11_022DF760 ; case 164 - b ov11_022DF834 ; case 165 - b ov11_022DF7CC ; case 166 - b ov11_022DF89C ; case 167 - b ov11_022DF8F4 ; case 168 - b ov11_022DFAAC ; case 169 - b ov11_022DFD44 ; case 170 - b ov11_022DFD44 ; case 171 - b ov11_022DFC94 ; case 172 - b ov11_022DFC94 ; case 173 - b ov11_022DF92C ; case 174 + b _022DF924 ; case 150 + b _022DF924 ; case 151 + b _022DFA50 ; case 152 + b _022DF8B8 ; case 153 + b _022DF92C ; case 154 + b _022DF924 ; case 155 + b _022DF92C ; case 156 + b _022DE3F0 ; case 157 + b _022DF92C ; case 158 + b _022DFA78 ; case 159 + b _022DF92C ; case 160 + b _022DF728 ; case 161 + b _022DF710 ; case 162 + b _022DF740 ; case 163 + b _022DF760 ; case 164 + b _022DF834 ; case 165 + b _022DF7CC ; case 166 + b _022DF89C ; case 167 + b _022DF8F4 ; case 168 + b _022DFAAC ; case 169 + b _022DFD44 ; case 170 + b _022DFD44 ; case 171 + b _022DFC94 ; case 172 + b _022DFC94 ; case 173 + b _022DF92C ; case 174 b _022E04DC ; case 175 b _022E04DC ; case 176 b _022E04DC ; case 177 @@ -2303,10 +2303,10 @@ _022DDDE0: ; jump table b _022E04DC ; case 198 b _022E04DC ; case 199 b _022E04DC ; case 200 - b ov11_022DE3AC ; case 201 + b _022DE3AC ; case 201 b _022E04DC ; case 202 - b ov11_022DE3AC ; case 203 - b ov11_022DE448 ; case 204 + b _022DE3AC ; case 203 + b _022DE448 ; case 204 b _022E04DC ; case 205 b _022E04DC ; case 206 b _022E04DC ; case 207 @@ -2315,37 +2315,37 @@ _022DDDE0: ; jump table b _022E04DC ; case 210 b _022E04DC ; case 211 b _022E04DC ; case 212 - b ov11_022E048C ; case 213 + b _022E048C ; case 213 b _022E04DC ; case 214 - b ov11_022E0020 ; case 215 - b ov11_022E0108 ; case 216 - b ov11_022DFFC0 ; case 217 - b ov11_022E00A8 ; case 218 - b ov11_022DFFE8 ; case 219 - b ov11_022E00D0 ; case 220 + b _022E0020 ; case 215 + b _022E0108 ; case 216 + b _022DFFC0 ; case 217 + b _022E00A8 ; case 218 + b _022DFFE8 ; case 219 + b _022E00D0 ; case 220 b _022E04DC ; case 221 - b ov11_022E0278 ; case 222 - b ov11_022E0278 ; case 223 - b ov11_022E0020 ; case 224 - b ov11_022E0108 ; case 225 + b _022E0278 ; case 222 + b _022E0278 ; case 223 + b _022E0020 ; case 224 + b _022E0108 ; case 225 b _022E04DC ; case 226 b _022E04DC ; case 227 - b ov11_022DFFE8 ; case 228 - b ov11_022E00D0 ; case 229 - b ov11_022E01F0 ; case 230 + b _022DFFE8 ; case 228 + b _022E00D0 ; case 229 + b _022E01F0 ; case 230 b _022E04DC ; case 231 - b ov11_022E0190 ; case 232 + b _022E0190 ; case 232 b _022E04DC ; case 233 - b ov11_022E01B8 ; case 234 + b _022E01B8 ; case 234 b _022E04DC ; case 235 b _022E04DC ; case 236 - b ov11_022E0278 ; case 237 - b ov11_022E0278 ; case 238 - b ov11_022E01F0 ; case 239 + b _022E0278 ; case 237 + b _022E0278 ; case 238 + b _022E01F0 ; case 239 b _022E04DC ; case 240 b _022E04DC ; case 241 b _022E04DC ; case 242 - b ov11_022E01B8 ; case 243 + b _022E01B8 ; case 243 b _022E04DC ; case 244 b _022E04DC ; case 245 b _022E04DC ; case 246 @@ -2400,40 +2400,40 @@ _022DDDE0: ; jump table b _022E04DC ; case 295 b _022E04DC ; case 296 b _022E04DC ; case 297 - b ov11_022DE834 ; case 298 - b ov11_022DE834 ; case 299 - b ov11_022DEBA4 ; case 300 - b ov11_022DEBA4 ; case 301 - b ov11_022DE934 ; case 302 - b ov11_022DE9B8 ; case 303 - b ov11_022DEAC4 ; case 304 - b ov11_022DEA08 ; case 305 - b ov11_022DEA08 ; case 306 - b ov11_022DEAC4 ; case 307 - b ov11_022DE960 ; case 308 - b ov11_022DE960 ; case 309 - b ov11_022DEC7C ; case 310 - b ov11_022DE834 ; case 311 - b ov11_022DE834 ; case 312 - b ov11_022DE834 ; case 313 - b ov11_022DE9B0 ; case 314 - b ov11_022DE834 ; case 315 - b ov11_022DE834 ; case 316 - b ov11_022DE834 ; case 317 - b ov11_022DE9B0 ; case 318 - b ov11_022DF374 ; case 319 - b ov11_022DF374 ; case 320 - b ov11_022DF374 ; case 321 - b ov11_022DF374 ; case 322 - b ov11_022DF374 ; case 323 - b ov11_022DF374 ; case 324 - b ov11_022DF374 ; case 325 - b ov11_022DF374 ; case 326 - b ov11_022DF374 ; case 327 - b ov11_022DF374 ; case 328 - b ov11_022DF374 ; case 329 - b ov11_022DF374 ; case 330 - b ov11_022DF374 ; case 331 + b _022DE834 ; case 298 + b _022DE834 ; case 299 + b _022DEBA4 ; case 300 + b _022DEBA4 ; case 301 + b _022DE934 ; case 302 + b _022DE9B8 ; case 303 + b _022DEAC4 ; case 304 + b _022DEA08 ; case 305 + b _022DEA08 ; case 306 + b _022DEAC4 ; case 307 + b _022DE960 ; case 308 + b _022DE960 ; case 309 + b _022DEC7C ; case 310 + b _022DE834 ; case 311 + b _022DE834 ; case 312 + b _022DE834 ; case 313 + b _022DE9B0 ; case 314 + b _022DE834 ; case 315 + b _022DE834 ; case 316 + b _022DE834 ; case 317 + b _022DE9B0 ; case 318 + b _022DF374 ; case 319 + b _022DF374 ; case 320 + b _022DF374 ; case 321 + b _022DF374 ; case 322 + b _022DF374 ; case 323 + b _022DF374 ; case 324 + b _022DF374 ; case 325 + b _022DF374 ; case 326 + b _022DF374 ; case 327 + b _022DF374 ; case 328 + b _022DF374 ; case 329 + b _022DF374 ; case 330 + b _022DF374 ; case 331 b _022E04DC ; case 332 b _022E04DC ; case 333 b _022E04DC ; case 334 @@ -2444,39 +2444,36 @@ _022DDDE0: ; jump table b _022E04DC ; case 339 b _022E04DC ; case 340 b _022E04DC ; case 341 - b ov11_022DED48 ; case 342 - b ov11_022E0378 ; case 343 - b ov11_022E03B8 ; case 344 - b ov11_022E03C8 ; case 345 - b ov11_022E03C8 ; case 346 - b ov11_022E03E0 ; case 347 - b ov11_022E03E0 ; case 348 - b ov11_022E03E0 ; case 349 - b ov11_022E03C0 ; case 350 + b _022DED48 ; case 342 + b _022E0378 ; case 343 + b _022E03B8 ; case 344 + b _022E03C8 ; case 345 + b _022E03C8 ; case 346 + b _022E03E0 ; case 347 + b _022E03E0 ; case 348 + b _022E03E0 ; case 349 + b _022E03C0 ; case 350 b _022E04DC ; case 351 - b ov11_022E03E8 ; case 352 - b ov11_022E03E8 ; case 353 - b ov11_022E03E8 ; case 354 - b ov11_022E03E0 ; case 355 - b ov11_022E03F0 ; case 356 - b ov11_022E03F0 ; case 357 - b ov11_022E03F0 ; case 358 - b ov11_022E03F0 ; case 359 - b ov11_022E03E0 ; case 360 - b ov11_022E03F8 ; case 361 - b ov11_022E03F8 ; case 362 - b ov11_022E038C ; case 363 - b ov11_022E03E0 ; case 364 - b ov11_022E03E0 ; case 365 - b ov11_022E03E0 ; case 366 - b ov11_022E03E0 ; case 367 - b ov11_022E03D0 ; case 368 - b ov11_022E03D8 ; case 369 - b ov11_022E03D0 ; case 370 - arm_func_end RunNextOpcode - - arm_func_start ov11_022DE3AC -ov11_022DE3AC: ; 0x022DE3AC + b _022E03E8 ; case 352 + b _022E03E8 ; case 353 + b _022E03E8 ; case 354 + b _022E03E0 ; case 355 + b _022E03F0 ; case 356 + b _022E03F0 ; case 357 + b _022E03F0 ; case 358 + b _022E03F0 ; case 359 + b _022E03E0 ; case 360 + b _022E03F8 ; case 361 + b _022E03F8 ; case 362 + b _022E038C ; case 363 + b _022E03E0 ; case 364 + b _022E03E0 ; case 365 + b _022E03E0 ; case 366 + b _022E03E0 ; case 367 + b _022E03D0 ; case 368 + b _022E03D8 ; case 369 + b _022E03D0 ; case 370 +_022DE3AC: ; 0x022DE3AC ldr r2, [r4, #0x1c] ldr r0, _022DED08 ; =SCRIPT_OP_CODES ldrh r1, [r2] @@ -2491,14 +2488,11 @@ ov11_022DE3AC: ; 0x022DE3AC ldr r1, [r4, #0x1c] add r0, r0, #2 add r0, r1, r0, lsl #1 - arm_func_end ov11_022DE3AC _022DE3E4: str r0, [r4, #0x1c] mov r0, #3 b _022E2478 - - arm_func_start ov11_022DE3F0 -ov11_022DE3F0: ; 0x022DE3F0 +_022DE3F0: ; 0x022DE3F0 ldrh r0, [r6] bl ProcessScriptParam mov r5, r0 @@ -2521,18 +2515,12 @@ ov11_022DE3F0: ; 0x022DE3F0 bl ov11_022E43E8 str r0, [r4, #0x1c] b _022E2474 - arm_func_end ov11_022DE3F0 - - arm_func_start ov11_022DE448 -ov11_022DE448: ; 0x022DE448 +_022DE448: ; 0x022DE448 mov r0, #0 strh r0, [r4, #0x46] mov r0, #5 b _022E2478 - arm_func_end ov11_022DE448 - - arm_func_start ov11_022DE458 -ov11_022DE458: ; 0x022DE458 +_022DE458: ; 0x022DE458 ldrh r0, [r6] bl ProcessScriptParam mov r1, r0, lsl #0x10 @@ -2544,10 +2532,7 @@ ov11_022DE458: ; 0x022DE458 mov r1, #0 bl ov11_022E94D0 b _022E2474 - arm_func_end ov11_022DE458 - - arm_func_start ov11_022DE484 -ov11_022DE484: ; 0x022DE484 +_022DE484: ; 0x022DE484 ldrh r0, [r6] bl ProcessScriptParam mov r1, r0, lsl #0x10 @@ -2562,10 +2547,7 @@ ov11_022DE484: ; 0x022DE484 mov r2, r4 bl ov11_022E94D0 b _022E2474 - arm_func_end ov11_022DE484 - - arm_func_start ov11_022DE4BC -ov11_022DE4BC: ; 0x022DE4BC +_022DE4BC: ; 0x022DE4BC ldrh r0, [r6] bl ProcessScriptParam mov r0, r0, lsl #0x10 @@ -2809,10 +2791,7 @@ _022DE808: mov r0, #1 bl ov11_022EF594 b _022E2474 - arm_func_end ov11_022DE4BC - - arm_func_start ov11_022DE834 -ov11_022DE834: ; 0x022DE834 +_022DE834: ; 0x022DE834 ldrh r0, [r6] bl ProcessScriptParam mov r0, r0, lsl #0x18 @@ -2887,10 +2866,7 @@ _022DE928: mov r0, r6 bl ov11_022E5D14 b _022E2474 - arm_func_end ov11_022DE834 - - arm_func_start ov11_022DE934 -ov11_022DE934: ; 0x022DE934 +_022DE934: ; 0x022DE934 ldrh r0, [r6] bl ProcessScriptParam mov r0, r0, lsl #0x10 @@ -2902,10 +2878,7 @@ ov11_022DE934: ; 0x022DE934 bne _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022DE934 - - arm_func_start ov11_022DE960 -ov11_022DE960: ; 0x022DE960 +_022DE960: ; 0x022DE960 ldrh r1, [r6] add r0, r4, #0x14 bl ov11_022E4248 @@ -2926,16 +2899,10 @@ ov11_022DE960: ; 0x022DE960 strh r0, [r4, #0x46] mov r0, #3 b _022E2478 - arm_func_end ov11_022DE960 - - arm_func_start ov11_022DE9B0 -ov11_022DE9B0: ; 0x022DE9B0 +_022DE9B0: ; 0x022DE9B0 mov r0, #4 b _022E2478 - arm_func_end ov11_022DE9B0 - - arm_func_start ov11_022DE9B8 -ov11_022DE9B8: ; 0x022DE9B8 +_022DE9B8: ; 0x022DE9B8 ldrh r0, [r6] bl ProcessScriptParam mov r0, r0, lsl #0x10 @@ -2957,10 +2924,7 @@ _022DE9E8: bl ov11_022F71E4 mov r0, #6 b _022E2478 - arm_func_end ov11_022DE9B8 - - arm_func_start ov11_022DEA08 -ov11_022DEA08: ; 0x022DEA08 +_022DEA08: ; 0x022DEA08 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0, lsl #0x10 @@ -3009,10 +2973,7 @@ _022DEAA0: strneh r0, [r4, #0x46] movne r0, #3 b _022E2478 - arm_func_end ov11_022DEA08 - - arm_func_start ov11_022DEAC4 -ov11_022DEAC4: ; 0x022DEAC4 +_022DEAC4: ; 0x022DEAC4 ldrh r0, [r6] bl ProcessScriptParam mov sb, r0, lsl #0x10 @@ -3070,10 +3031,7 @@ _022DEB80: strneh r0, [r4, #0x46] movne r0, #3 b _022E2478 - arm_func_end ov11_022DEAC4 - - arm_func_start ov11_022DEBA4 -ov11_022DEBA4: ; 0x022DEBA4 +_022DEBA4: ; 0x022DEBA4 ldrh r0, [r6] bl ProcessScriptParam mov sb, r0, lsl #0x10 @@ -3128,10 +3086,7 @@ ov11_022DEBA4: ; 0x022DEBA4 streqh r0, [r4, #0x46] moveq r0, #3 b _022E2478 - arm_func_end ov11_022DEBA4 - - arm_func_start ov11_022DEC7C -ov11_022DEC7C: ; 0x022DEC7C +_022DEC7C: ; 0x022DEC7C ldrh r0, [r6] bl ProcessScriptParam mov r5, r0, lsl #0x10 @@ -3156,10 +3111,7 @@ ov11_022DEC7C: ; 0x022DEC7C strh r0, [r4, #0x46] mov r0, #3 b _022E2478 - arm_func_end ov11_022DEC7C - - arm_func_start ov11_022DECDC -ov11_022DECDC: ; 0x022DECDC +_022DECDC: ; 0x022DECDC ldrh r0, [r6] bl ProcessScriptParam mov r0, r0, lsl #0x10 @@ -3188,20 +3140,14 @@ _022DED38: .word 0x00000135 _022DED3C: .word 0x00000132 _022DED40: .word 0x00000133 _022DED44: .word 0x0000012D - arm_func_end ov11_022DECDC - - arm_func_start ov11_022DED48 -ov11_022DED48: ; 0x022DED48 +_022DED48: ; 0x022DED48 ldrh r0, [r6] bl ProcessScriptParam mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl UnlockScriptingLock b _022E2474 - arm_func_end ov11_022DED48 - - arm_func_start ov11_022DED60 -ov11_022DED60: ; 0x022DED60 +_022DED60: ; 0x022DED60 ldrh r0, [r6] bl ProcessScriptParam mov r1, r0, lsl #0x10 @@ -3209,10 +3155,7 @@ ov11_022DED60: ; 0x022DED60 mov r1, r1, asr #0x10 bl sub_0204B3D0 b _022E2474 - arm_func_end ov11_022DED60 - - arm_func_start ov11_022DED7C -ov11_022DED7C: ; 0x022DED7C +_022DED7C: ; 0x022DED7C ldrh r0, [r6] bl ProcessScriptParam mov r1, r0, lsl #0x10 @@ -3220,10 +3163,7 @@ ov11_022DED7C: ; 0x022DED7C mov r1, r1, asr #0x10 bl ZinitScriptVariable b _022E2474 - arm_func_end ov11_022DED7C - - arm_func_start ov11_022DED98 -ov11_022DED98: ; 0x022DED98 +_022DED98: ; 0x022DED98 ldrh r0, [r6] bl ProcessScriptParam mov r5, r0 @@ -3235,10 +3175,7 @@ ov11_022DED98: ; 0x022DED98 mov r1, r1, asr #0x10 bl SaveScriptVariableValue b _022E2474 - arm_func_end ov11_022DED98 - - arm_func_start ov11_022DEDC4 -ov11_022DEDC4: ; 0x022DEDC4 +_022DEDC4: ; 0x022DEDC4 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -3254,10 +3191,7 @@ ov11_022DEDC4: ; 0x022DEDC4 add r0, r4, #0x6c bl sub_0204BED8 b _022E2474 - arm_func_end ov11_022DEDC4 - - arm_func_start ov11_022DEE00 -ov11_022DEE00: ; 0x022DEE00 +_022DEE00: ; 0x022DEE00 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -3275,10 +3209,7 @@ ov11_022DEE00: ; 0x022DEE00 mov r2, r2, asr #0x10 bl sub_0204BF10 b _022E2474 - arm_func_end ov11_022DEE00 - - arm_func_start ov11_022DEE44 -ov11_022DEE44: ; 0x022DEE44 +_022DEE44: ; 0x022DEE44 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -3295,10 +3226,7 @@ ov11_022DEE44: ; 0x022DEE44 add r0, r4, #0x6c bl SaveScriptVariableValueAtIndex b _022E2474 - arm_func_end ov11_022DEE44 - - arm_func_start ov11_022DEE84 -ov11_022DEE84: ; 0x022DEE84 +_022DEE84: ; 0x022DEE84 ldrh r0, [r6] bl ProcessScriptParam mov r5, r0 @@ -3313,10 +3241,7 @@ ov11_022DEE84: ; 0x022DEE84 mov r0, r3, asr #0x10 bl SetScenarioScriptVar b _022E2474 - arm_func_end ov11_022DEE84 - - arm_func_start ov11_022DEEBC -ov11_022DEEBC: ; 0x022DEEBC +_022DEEBC: ; 0x022DEEBC ldrh r0, [r6] bl ProcessScriptParam mov r0, r0, lsl #0x10 @@ -3325,10 +3250,7 @@ ov11_022DEEBC: ; 0x022DEEBC mov r0, r0, asr #0x10 bl SetScenarioScriptVar b _022E2474 - arm_func_end ov11_022DEEBC - - arm_func_start ov11_022DEEDC -ov11_022DEEDC: ; 0x022DEEDC +_022DEEDC: ; 0x022DEEDC ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -3339,10 +3261,7 @@ ov11_022DEEDC: ; 0x022DEEDC and r1, r1, #0xff bl sub_0204CB2C b _022E2474 - arm_func_end ov11_022DEEDC - - arm_func_start ov11_022DEF04 -ov11_022DEF04: ; 0x022DEF04 +_022DEF04: ; 0x022DEF04 mov r1, #0x27 add r0, r4, #0x6c sub r2, r1, #0x28 @@ -3352,10 +3271,7 @@ ov11_022DEF04: ; 0x022DEF04 mov r2, #0 bl SaveScriptVariableValue b _022E2474 - arm_func_end ov11_022DEF04 - - arm_func_start ov11_022DEF28 -ov11_022DEF28: ; 0x022DEF28 +_022DEF28: ; 0x022DEF28 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -3371,10 +3287,7 @@ ov11_022DEF28: ; 0x022DEF28 mov r1, #0x2c bl SaveScriptVariableValue b _022E2474 - arm_func_end ov11_022DEF28 - - arm_func_start ov11_022DEF64 -ov11_022DEF64: ; 0x022DEF64 +_022DEF64: ; 0x022DEF64 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -3385,10 +3298,7 @@ ov11_022DEF64: ; 0x022DEF64 mov r0, r2, asr #0x10 bl sub_0204D018 b _022E2474 - arm_func_end ov11_022DEF64 - - arm_func_start ov11_022DEF8C -ov11_022DEF8C: ; 0x022DEF8C +_022DEF8C: ; 0x022DEF8C ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -3654,10 +3564,7 @@ _022DF348: addeq r0, r1, r0, lsl #1 streq r0, [r4, #0x1c] b _022E2474 - arm_func_end ov11_022DEF8C - - arm_func_start ov11_022DF374 -ov11_022DF374: ; 0x022DF374 +_022DF374: ; 0x022DF374 sub r0, r0, #0x33 sub r0, r5, r0 cmp r0, #0xc @@ -3907,30 +3814,21 @@ _022DF6FC: bl ov11_022E43E8 str r0, [r4, #0x1c] b _022E2474 - arm_func_end ov11_022DF374 - - arm_func_start ov11_022DF710 -ov11_022DF710: ; 0x022DF710 +_022DF710: ; 0x022DF710 ldr r1, _022DFE18 ; =ov11_02324ECC mov r2, #0x60000 ldr r0, _022DFE1C ; =ov11_02324EA4 str r2, [r1, #0x4c] bl InitPortraitBox b _022E2474 - arm_func_end ov11_022DF710 - - arm_func_start ov11_022DF728 -ov11_022DF728: ; 0x022DF728 +_022DF728: ; 0x022DF728 ldr r1, _022DFE18 ; =ov11_02324ECC mov r2, #0x70000 ldr r0, _022DFE1C ; =ov11_02324EA4 str r2, [r1, #0x4c] bl InitPortraitBox b _022E2474 - arm_func_end ov11_022DF728 - - arm_func_start ov11_022DF740 -ov11_022DF740: ; 0x022DF740 +_022DF740: ; 0x022DF740 ldrh r0, [r6] bl ProcessScriptParam orr r2, r0, #0x10000 @@ -3939,10 +3837,7 @@ ov11_022DF740: ; 0x022DF740 str r2, [r1, #0x4c] bl InitPortraitBox b _022E2474 - arm_func_end ov11_022DF740 - - arm_func_start ov11_022DF760 -ov11_022DF760: ; 0x022DF760 +_022DF760: ; 0x022DF760 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -3970,10 +3865,7 @@ ov11_022DF760: ; 0x022DF760 and r1, r4, #0xff bl SetPortraitLayout b _022E2474 - arm_func_end ov11_022DF760 - - arm_func_start ov11_022DF7CC -ov11_022DF7CC: ; 0x022DF7CC +_022DF7CC: ; 0x022DF7CC ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4000,10 +3892,7 @@ ov11_022DF7CC: ; 0x022DF7CC and r1, r4, #0xff bl SetPortraitLayout b _022E2474 - arm_func_end ov11_022DF7CC - - arm_func_start ov11_022DF834 -ov11_022DF834: ; 0x022DF834 +_022DF834: ; 0x022DF834 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4030,10 +3919,7 @@ ov11_022DF834: ; 0x022DF834 and r1, r4, #0xff bl SetPortraitLayout b _022E2474 - arm_func_end ov11_022DF834 - - arm_func_start ov11_022DF89C -ov11_022DF89C: ; 0x022DF89C +_022DF89C: ; 0x022DF89C ldrh r0, [r6] bl ProcessScriptParam mov r1, r0 @@ -4041,10 +3927,7 @@ ov11_022DF89C: ; 0x022DF89C and r1, r1, #0xff bl SetPortraitLayout b _022E2474 - arm_func_end ov11_022DF89C - - arm_func_start ov11_022DF8B8 -ov11_022DF8B8: ; 0x022DF8B8 +_022DF8B8: ; 0x022DF8B8 ldr r0, _022DED30 ; =ov11_02316A44 ldr r1, [r0, #0x80] ldr r0, [r0, #0x7c] @@ -4060,10 +3943,7 @@ ov11_022DF8B8: ; 0x022DF8B8 add r1, sp, #0xd0 bl SetPortraitOffset b _022E2474 - arm_func_end ov11_022DF8B8 - - arm_func_start ov11_022DF8F4 -ov11_022DF8F4: ; 0x022DF8F4 +_022DF8F4: ; 0x022DF8F4 ldrh r0, [r6] bl ProcessScriptParam ldr r1, _022DED18 ; =ov11_02324E80 @@ -4076,16 +3956,10 @@ ov11_022DF8F4: ; 0x022DF8F4 ldr r0, [r2, #0xc] bl sub_02034E60 b _022E2474 - arm_func_end ov11_022DF8F4 - - arm_func_start ov11_022DF924 -ov11_022DF924: ; 0x022DF924 +_022DF924: ; 0x022DF924 mov r0, #5 b _022E2478 - arm_func_end ov11_022DF924 - - arm_func_start ov11_022DF92C -ov11_022DF92C: ; 0x022DF92C +_022DF92C: ; 0x022DF92C ldrh r1, [r6] add r0, r4, #0x14 bl ov11_022E4248 @@ -4169,10 +4043,7 @@ _022DFA30: _022DFA48: mov r0, #5 b _022E2478 - arm_func_end ov11_022DF92C - - arm_func_start ov11_022DFA50 -ov11_022DFA50: ; 0x022DFA50 +_022DFA50: ; 0x022DFA50 ldrh r1, [r6] add r0, r4, #0x14 bl ov11_022E4248 @@ -4183,10 +4054,7 @@ ov11_022DFA50: ; 0x022DFA50 bl ov11_02300ACC mov r0, #5 b _022E2478 - arm_func_end ov11_022DFA50 - - arm_func_start ov11_022DFA78 -ov11_022DFA78: ; 0x022DFA78 +_022DFA78: ; 0x022DFA78 ldrh r0, [r6] bl ProcessScriptParam mov r5, r0 @@ -4200,10 +4068,7 @@ ov11_022DFA78: ; 0x022DFA78 bl ov11_02300728 mov r0, #5 b _022E2478 - arm_func_end ov11_022DFA78 - - arm_func_start ov11_022DFAAC -ov11_022DFAAC: ; 0x022DFAAC +_022DFAAC: ; 0x022DFAAC ldrh r0, [r6] bl ProcessScriptParam mov r5, r0 @@ -4334,10 +4199,7 @@ _022DFC64: bl ov11_022F1244 mov r0, #4 b _022E2478 - arm_func_end ov11_022DFAAC - - arm_func_start ov11_022DFC94 -ov11_022DFC94: ; 0x022DFC94 +_022DFC94: ; 0x022DFC94 ldrh r0, [r6] ldr r5, [r4, #0x1c] bl ProcessScriptParam @@ -4384,10 +4246,7 @@ _022DFD0C: strh r0, [r4, #0x44] mov r0, #5 b _022E2478 - arm_func_end ov11_022DFC94 - - arm_func_start ov11_022DFD44 -ov11_022DFD44: ; 0x022DFD44 +_022DFD44: ; 0x022DFD44 ldr r0, _022DFE40 ; =0x0000524C mov r1, #8 ldr r7, [r4, #0x1c] @@ -4555,10 +4414,7 @@ _022DFFAC: mov r1, #0 str r1, [r0] b _022E2474 - arm_func_end ov11_022DFD44 - - arm_func_start ov11_022DFFC0 -ov11_022DFFC0: ; 0x022DFFC0 +_022DFFC0: ; 0x022DFFC0 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4569,10 +4425,7 @@ ov11_022DFFC0: ; 0x022DFFC0 beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022DFFC0 - - arm_func_start ov11_022DFFE8 -ov11_022DFFE8: ; 0x022DFFE8 +_022DFFE8: ; 0x022DFFE8 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4589,10 +4442,7 @@ _022E0010: beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022DFFE8 - - arm_func_start ov11_022E0020 -ov11_022E0020: ; 0x022E0020 +_022E0020: ; 0x022E0020 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -4629,10 +4479,7 @@ _022E0098: beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E0020 - - arm_func_start ov11_022E00A8 -ov11_022E00A8: ; 0x022E00A8 +_022E00A8: ; 0x022E00A8 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4643,10 +4490,7 @@ ov11_022E00A8: ; 0x022E00A8 beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E00A8 - - arm_func_start ov11_022E00D0 -ov11_022E00D0: ; 0x022E00D0 +_022E00D0: ; 0x022E00D0 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4663,10 +4507,7 @@ _022E00F8: beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E00D0 - - arm_func_start ov11_022E0108 -ov11_022E0108: ; 0x022E0108 +_022E0108: ; 0x022E0108 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -4703,10 +4544,7 @@ _022E0180: beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E0108 - - arm_func_start ov11_022E0190 -ov11_022E0190: ; 0x022E0190 +_022E0190: ; 0x022E0190 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4717,10 +4555,7 @@ ov11_022E0190: ; 0x022E0190 beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E0190 - - arm_func_start ov11_022E01B8 -ov11_022E01B8: ; 0x022E01B8 +_022E01B8: ; 0x022E01B8 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4737,10 +4572,7 @@ _022E01E0: beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E01B8 - - arm_func_start ov11_022E01F0 -ov11_022E01F0: ; 0x022E01F0 +_022E01F0: ; 0x022E01F0 ldrh r0, [r6] bl ProcessScriptParam mov r7, r0 @@ -4777,10 +4609,7 @@ _022E0268: beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E01F0 - - arm_func_start ov11_022E0278 -ov11_022E0278: ; 0x022E0278 +_022E0278: ; 0x022E0278 ldrh r0, [r6] bl ProcessScriptParam mov r4, r0 @@ -4852,19 +4681,13 @@ _022E0368: beq _022E2474 mov r0, #3 b _022E2478 - arm_func_end ov11_022E0278 - - arm_func_start ov11_022E0378 -ov11_022E0378: ; 0x022E0378 +_022E0378: ; 0x022E0378 ldrh r0, [r6] bl ProcessScriptParam strh r0, [r4, #0x46] mov r0, #3 b _022E2478 - arm_func_end ov11_022E0378 - - arm_func_start ov11_022E038C -ov11_022E038C: ; 0x022E038C +_022E038C: ; 0x022E038C ldrh r0, [r6] bl ProcessScriptParam mov r5, r0 @@ -4876,58 +4699,31 @@ ov11_022E038C: ; 0x022E038C strh r0, [r4, #0x46] mov r0, #3 b _022E2478 - arm_func_end ov11_022E038C - - arm_func_start ov11_022E03B8 -ov11_022E03B8: ; 0x022E03B8 +_022E03B8: ; 0x022E03B8 mov r0, #3 b _022E2478 - arm_func_end ov11_022E03B8 - - arm_func_start ov11_022E03C0 -ov11_022E03C0: ; 0x022E03C0 +_022E03C0: ; 0x022E03C0 mov r0, #3 b _022E2478 - arm_func_end ov11_022E03C0 - - arm_func_start ov11_022E03C8 -ov11_022E03C8: ; 0x022E03C8 +_022E03C8: ; 0x022E03C8 mov r0, #3 b _022E2478 - arm_func_end ov11_022E03C8 - - arm_func_start ov11_022E03D0 -ov11_022E03D0: ; 0x022E03D0 +_022E03D0: ; 0x022E03D0 mov r0, #4 b _022E2478 - arm_func_end ov11_022E03D0 - - arm_func_start ov11_022E03D8 -ov11_022E03D8: ; 0x022E03D8 +_022E03D8: ; 0x022E03D8 mov r0, #4 b _022E2478 - arm_func_end ov11_022E03D8 - - arm_func_start ov11_022E03E0 -ov11_022E03E0: ; 0x022E03E0 +_022E03E0: ; 0x022E03E0 mov r0, #3 b _022E2478 - arm_func_end ov11_022E03E0 - - arm_func_start ov11_022E03E8 -ov11_022E03E8: ; 0x022E03E8 +_022E03E8: ; 0x022E03E8 mov r0, #4 b _022E2478 - arm_func_end ov11_022E03E8 - - arm_func_start ov11_022E03F0 -ov11_022E03F0: ; 0x022E03F0 +_022E03F0: ; 0x022E03F0 mov r0, #4 b _022E2478 - arm_func_end ov11_022E03F0 - - arm_func_start ov11_022E03F8 -ov11_022E03F8: ; 0x022E03F8 +_022E03F8: ; 0x022E03F8 mov r0, #3 b _022E2478 _022E0400: @@ -4935,10 +4731,7 @@ _022E0400: add r5, r4, #0x24 ldmia r0, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} - arm_func_end ov11_022E03F8 - - arm_func_start ov11_022E0410 -ov11_022E0410: ; 0x022E0410 +_022E0410: ; 0x022E0410 ldrh r0, [r6] ldr r1, [r4, #0x14] add r0, r1, r0, lsl #1 @@ -4949,10 +4742,7 @@ _022E0424: add r5, r4, #0x24 ldmia r0, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} - arm_func_end ov11_022E0410 - - arm_func_start ov11_022E0434 -ov11_022E0434: ; 0x022E0434 +_022E0434: ; 0x022E0434 ldrh r0, [r6] bl ProcessScriptParam mov r5, r0 @@ -4976,10 +4766,7 @@ ov11_022E0434: ; 0x022E0434 _022E0484: mov r0, #6 b _022E2478 - arm_func_end ov11_022E0434 - - arm_func_start ov11_022E048C -ov11_022E048C: ; 0x022E048C +_022E048C: ; 0x022E048C ldr r0, [r4, #0x2c] cmp r0, #0 moveq r0, #0 @@ -4991,29 +4778,17 @@ ov11_022E048C: ; 0x022E048C mov r0, #0 str r0, [r4, #0x2c] b _022E2474 - arm_func_end ov11_022E048C - - arm_func_start ov11_022E04B8 -ov11_022E04B8: ; 0x022E04B8 +_022E04B8: ; 0x022E04B8 mov r0, #0 str r0, [r4, #0x2c] b _022E2474 - arm_func_end ov11_022E04B8 - - arm_func_start ov11_022E04C4 -ov11_022E04C4: ; 0x022E04C4 +_022E04C4: ; 0x022E04C4 mov r0, #0 b _022E2478 - arm_func_end ov11_022E04C4 - - arm_func_start ov11_022E04CC -ov11_022E04CC: ; 0x022E04CC +_022E04CC: ; 0x022E04CC mov r0, #1 b _022E2478 - arm_func_end ov11_022E04CC - - arm_func_start ov11_022E04D4 -ov11_022E04D4: ; 0x022E04D4 +_022E04D4: ; 0x022E04D4 mov r0, #6 b _022E2478 _022E04DC: @@ -7228,7 +7003,7 @@ _022E2474: _022E2478: add sp, sp, #0x2c8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} - arm_func_end ov11_022E04D4 + arm_func_end RunNextOpcode arm_func_start ov11_022E2480 ov11_022E2480: ; 0x022E2480 @@ -9699,8 +9474,13 @@ _022E46F8: .word SsbLoad2 arm_func_start SsbLoad2 SsbLoad2: ; 0x022E46FC +#ifdef EUROPE +#define SSB_LOAD_2_STACK_OFFSET 8 +#else +#define SSB_LOAD_2_STACK_OFFSET 0 +#endif stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x54 + sub sp, sp, #0x54 + SSB_LOAD_2_STACK_OFFSET mov r4, r1 mov r5, r0 ldr r1, _022E48A4 ; =ov11_02319694 @@ -9708,14 +9488,18 @@ SsbLoad2: ; 0x022E46FC mov r0, #2 bl DebugPrint bl DataTransferInit - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET bl FileInitVeneer - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET mov r1, r4 bl FileOpen - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET add r1, sp, #0 +#ifdef EUROPE + mov r2, #0x12 +#else mov r2, #0xc +#endif bl FileRead ldrh r3, [sp, #4] ldrh r2, [sp, #6] @@ -9739,7 +9523,7 @@ SsbLoad2: ; 0x022E46FC _022E4790: ldrh r2, [sp, #4] ldr r1, [r5] - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET mov r2, r2, lsl #1 bl FileRead ldrh r0, [sp] @@ -9750,7 +9534,7 @@ _022E4790: ldrh r2, [sp, #6] ldr r3, [r5] add r1, r1, r0 - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET add r1, r3, r1, lsl #1 mov r2, r2, lsl #1 bl FileRead @@ -9763,7 +9547,11 @@ _022E47D4: ldr r0, _022E48A8 ; =ov11_02324F70 mov r3, #0 add r1, r2, r1 +#ifdef EUROPE + add r2, r1, #9 +#else add r2, r1, #6 +#endif ldrsb ip, [r0] add r1, sp, #0 b _022E4814 @@ -9776,13 +9564,13 @@ _022E4814: cmp r3, ip blt _022E4804 mov r1, r2, lsl #1 - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET mov r2, #0 bl FileSeek ldrh r2, [sp, #2] ldrh r1, [sp, #4] ldr r3, [r5] - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET add r1, r3, r1, lsl #1 mov r2, r2, lsl #1 bl FileRead @@ -9799,16 +9587,16 @@ _022E4814: sub r2, r0, ip ldr r5, [r5] add r1, r3, r1 - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET add r1, r5, r1, lsl #1 mov r2, r2, lsl #1 bl FileRead _022E488C: - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_2_STACK_OFFSET bl FileClose bl DataTransferStop mov r0, r4 - add sp, sp, #0x54 + add sp, sp, #0x54 + SSB_LOAD_2_STACK_OFFSET ldmia sp!, {r4, r5, pc} .align 2, 0 _022E48A4: .word ov11_02319694 @@ -11354,8 +11142,13 @@ ov11_022E5D14: ; 0x022E5D14 arm_func_start SsbLoad1 SsbLoad1: ; 0x022E5D50 +#ifdef EUROPE +#define SSB_LOAD_1_STACK_OFFSET 8 +#else +#define SSB_LOAD_1_STACK_OFFSET 0 +#endif stmdb sp!, {r4, r5, lr} - sub sp, sp, #0x54 + sub sp, sp, #0x54 + SSB_LOAD_1_STACK_OFFSET mov r5, r1 mov r4, r0 ldr r1, _022E5EF4 ; =ov11_02319908 @@ -11363,14 +11156,18 @@ SsbLoad1: ; 0x022E5D50 mov r0, #2 bl DebugPrint bl DataTransferInit - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET bl FileInitVeneer - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET mov r1, r5 bl FileOpen - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET add r1, sp, #0 +#ifdef EUROPE + mov r2, #0x12 +#else mov r2, #0xc +#endif bl FileRead ldrh r3, [sp, #4] ldrh r2, [sp, #6] @@ -11393,7 +11190,7 @@ SsbLoad1: ; 0x022E5D50 _022E5DE0: ldrh r2, [sp, #4] ldr r1, [r4] - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET mov r2, r2, lsl #1 bl FileRead ldrh r0, [sp] @@ -11404,7 +11201,7 @@ _022E5DE0: ldrh r2, [sp, #6] ldr r3, [r4] add r1, r1, r0 - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET add r1, r3, r1, lsl #1 mov r2, r2, lsl #1 bl FileRead @@ -11417,7 +11214,11 @@ _022E5E24: ldr r0, _022E5EF8 ; =ov11_02324F74 mov r3, #0 add r1, r2, r1 +#ifdef EUROPE + add r2, r1, #9 +#else add r2, r1, #6 +#endif ldrsb ip, [r0, #1] add r1, sp, #0 b _022E5E64 @@ -11430,13 +11231,13 @@ _022E5E64: cmp r3, ip blt _022E5E54 mov r1, r2, lsl #1 - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET mov r2, #0 bl FileSeek ldrh r2, [sp, #2] ldrh r1, [sp, #4] ldr r3, [r4] - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET add r1, r3, r1, lsl #1 mov r2, r2, lsl #1 bl FileRead @@ -11453,16 +11254,16 @@ _022E5E64: sub r2, r0, ip ldr r4, [r4] add r1, r3, r1 - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET add r1, r4, r1, lsl #1 mov r2, r2, lsl #1 bl FileRead _022E5EDC: - add r0, sp, #0xc + add r0, sp, #0xc + SSB_LOAD_1_STACK_OFFSET bl FileClose bl DataTransferStop mov r0, #1 - add sp, sp, #0x54 + add sp, sp, #0x54 + SSB_LOAD_1_STACK_OFFSET ldmia sp!, {r4, r5, pc} .align 2, 0 _022E5EF4: .word ov11_02319908 @@ -16914,10 +16715,6 @@ _022EA5DC: _022EA624: mov r0, #2 mov r1, r0 - arm_func_end ov11_022EA428 - - arm_func_start ov11_022EA62C -ov11_022EA62C: ; 0x022EA62C and r2, r8, #0xff bl sub_02009454 mov r0, #3 @@ -17052,7 +16849,7 @@ _022EA7FC: .word ov11_02389128 _022EA800: .word ov11_02389018 _022EA804: .word ov11_0238916C _022EA808: .word ov11_02388FD4 - arm_func_end ov11_022EA62C + arm_func_end ov11_022EA428 arm_func_start ov11_022EA80C ov11_022EA80C: ; 0x022EA80C @@ -23362,6 +23159,215 @@ ov11_022EFD5C: ; 0x022EFD5C str r2, [r0, #0x10] str r2, [r0, #0x14] str r2, [r0, #0x18] +#ifdef EUROPE + cmp r1, #0 + add r0, r5, #0x100 + ldrsh r1, [r0, #0xbe] + moveq r3, #0 + movne r3, #1 + ldr r0, _022F0D74 ; =0x0000017B + and r4, r3, #0xff + cmp r1, r0 + bgt _022F085C + bge _022F0028 + sub r3, r0, #0x4d + cmp r1, r3 + bgt _022F07A8 + bge _022F09F4 + cmp r1, #0xdc + bgt _022F0730 + bge _022EFFF4 + cmp r1, #0x85 + bgt _022F0724 + bge _022EFFF4 + cmp r1, #8 + beq _022F0008 + b _022F03A8 +_022F0724: + cmp r1, #0xd4 + beq _022EFFF4 + b _022F03A8 +_022F0730: + cmp r1, #0x10c + bgt _022F0760 + bge _022F03B0 + cmp r1, #0xf5 + bgt _022F03A8 + cmp r1, #0xf3 + blt _022F03A8 + beq _022F0064 + cmp r1, #0xf4 + cmpne r1, #0xf5 + beq _022F0028 + b _022F03A8 +_022F0760: + sub r3, r0, #0x6a + cmp r1, r3 + bgt _022F077C + sub r0, r0, #0x6a + cmp r1, r0 + beq _022F0114 + b _022F03A8 +_022F077C: + sub r3, r0, #0x68 + cmp r1, r3 + bgt _022F03A8 + sub r3, r0, #0x69 + cmp r1, r3 + blt _022F03A8 + beq _022EFFF4 + sub r0, r0, #0x68 + cmp r1, r0 + beq _022F038C + b _022F03A8 +_022F07A8: + sub r3, r0, #0x19 + cmp r1, r3 + bgt _022F081C + bge _022F0064 + cmp r1, #0x130 + bgt _022F07D4 + bge _022F0054 + sub r0, r0, #0x4c + cmp r1, r0 + beq _022F0054 + b _022F03A8 +_022F07D4: + sub r0, r0, #0x4a + sub r0, r1, r0 + cmp r0, #0xc + addls pc, pc, r0, lsl #2 + b _022F03A8 +_022F07E8: ; jump table + b _022F0048 ; case 0 + b _022F09F4 ; case 1 + b _022F03A8 ; case 2 + b _022F03A8 ; case 3 + b _022F0054 ; case 4 + b _022F03A8 ; case 5 + b _022F03A8 ; case 6 + b _022F03A8 ; case 7 + b _022F03A8 ; case 8 + b _022F03A8 ; case 9 + b _022F03A8 ; case 10 + b _022F03A8 ; case 11 + b _022F016C ; case 12 +_022F081C: + ldr r0, _022F0D78 ; =0x0000016B + cmp r1, r0 + bgt _022F083C + bge _022F00BC + sub r0, r0, #8 + cmp r1, r0 + beq _022F0008 + b _022F03A8 +_022F083C: + cmp r1, #0x16c + bgt _022F084C + beq _022F0114 + b _022F03A8 +_022F084C: + add r0, r0, #0xb + cmp r1, r0 + beq _022F0028 + b _022F03A8 +_022F085C: + add r3, r0, #0x3a + cmp r1, r3 + bgt _022F08F0 + mov r2, r3 + cmp r1, r2 + bge _022EFFF4 + add r2, r0, #0x18 + cmp r1, r2 + bgt _022F08AC + bge _022EFFF4 + cmp r1, #0x184 + bgt _022F089C + bge _022EFFF4 + cmp r1, #0x17c + beq _022F0028 + b _022F03A8 +_022F089C: + add r0, r0, #0x13 + cmp r1, r0 + beq _022F0028 + b _022F03A8 +_022F08AC: + add r2, r0, #0x26 + cmp r1, r2 + bgt _022F08D0 + add r0, r0, #0x26 + cmp r1, r0 + bge _022EFFF4 + cmp r1, #0x19c + beq _022F0018 + b _022F03A8 +_022F08D0: + cmp r1, #0x1b0 + bgt _022F08E0 + beq _022F09F4 + b _022F03A8 +_022F08E0: + add r0, r0, #0x36 + cmp r1, r0 + beq _022F09F4 + b _022F03A8 +_022F08F0: + add r3, r0, #0x53 + cmp r1, r3 + bgt _022F0944 + mov r2, r3 + cmp r1, r2 + bge _022F0244 + cmp r1, #0x1bc + bgt _022F0924 + bge _022F09F4 + add r0, r0, #0x40 + cmp r1, r0 + beq _022F09F4 + b _022F03A8 +_022F0924: + cmp r1, #0x1cc + bgt _022F0934 + beq _022F01D0 + b _022F03A8 +_022F0934: + add r0, r0, #0x52 + cmp r1, r0 + beq _022F01D0 + b _022F03A8 +_022F0944: + cmp r1, #0x1d0 + bgt _022F0960 + bge _022F0244 + add r0, r0, #0x54 + cmp r1, r0 + beq _022F0228 + b _022F03A8 +_022F0960: + add r3, r0, #0x57 + cmp r1, r3 + bgt _022F097C + add r0, r0, #0x57 + cmp r1, r0 + beq _022F02A4 + b _022F03A8 +_022F097C: + add r3, r0, #0x5b + cmp r1, r3 + bgt _022F03A8 + add r3, r0, #0x58 + cmp r1, r3 + blt _022F03A8 + beq _022F0304 + cmp r1, #0x1d4 + beq _022F0314 + add r0, r0, #0x5b + cmp r1, r0 + beq _022F032C + b _022F03A8 +#else add r0, r5, #0x100 cmp r1, #0 moveq r1, #0 @@ -23536,6 +23542,7 @@ _022EFFCC: ; jump table b _022F0314 ; case 7 b _022F03A8 ; case 8 b _022F032C ; case 9 +#endif _022EFFF4: mov r1, #0 mov r0, r5 @@ -23699,7 +23706,11 @@ _022F0228: b _022F03B0 _022F0244: mov r0, r5 +#ifdef EUROPE + mov r1, #0 +#else mov r1, r2 +#endif bl ov11_022EE620 mov r0, r4 bl sub_02009120 @@ -23711,9 +23722,15 @@ _022F0244: mov r0, #3 mov r1, #2 bl sub_02009454 +#ifdef EUROPE + mov r2, r4 + mov r0, #4 + mov r1, #2 +#else mov r0, #4 mov r1, #2 mov r2, r4 +#endif bl sub_02009454 mov r2, r4 mov r0, #0x60 @@ -23799,9 +23816,14 @@ _022F03B0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 +#ifdef EUROPE +_022F0D74: .word 0x0000017B +_022F0D78: .word 0x0000016B +#else _022F03B8: .word 0x00000113 _022F03BC: .word 0x00000123 _022F03C0: .word 0x00000195 +#endif arm_func_end ov11_022EFD5C arm_func_start ov11_022F03C4 @@ -23855,7 +23877,11 @@ ov11_022F042C: ; 0x022F042C cmp r2, r0 bgt _022F054C bge _022F07FC +#ifdef EUROPE + sub r1, r0, #0x4c +#else sub r1, r0, #0x47 +#endif cmp r2, r1 bgt _022F04D4 bge _022F0C44 @@ -23877,27 +23903,51 @@ _022F0484: beq _022F0AF0 b _022F11C0 _022F04A8: +#ifdef EUROPE + sub r1, r0, #0x6a +#else sub r1, r0, #0x59 +#endif cmp r2, r1 bgt _022F04C4 +#ifdef EUROPE + sub r0, r0, #0x6a +#else sub r0, r0, #0x59 +#endif cmp r2, r0 beq _022F0F04 b _022F11C0 _022F04C4: +#ifdef EUROPE + sub r0, r0, #0x4d +#else sub r0, r0, #0x48 +#endif cmp r2, r0 beq _022F0C44 b _022F11C0 _022F04D4: +#ifdef EUROPE + sub r1, r0, #0x18 +#else sub r1, r0, #0x13 +#endif cmp r2, r1 bgt _022F0524 bge _022F0634 +#ifdef EUROPE + sub r0, r0, #0x46 +#else sub r0, r0, #0x41 +#endif cmp r2, r0 bgt _022F0514 +#ifdef EUROPE + subs r0, r2, #0x130 +#else subs r0, r2, #0x124 +#endif addpl pc, pc, r0, lsl #2 b _022F11C0 _022F04FC: ; jump table @@ -23913,18 +23963,40 @@ _022F0514: beq _022F0700 b _022F11C0 _022F0524: +#ifdef EUROPE + cmp r2, #0x16c + bgt _022F0540 + bge _022F0F04 + sub r0, r0, #0x10 +#else sub r1, r0, #0xb cmp r2, r1 bgt _022F0540 sub r0, r0, #0xb +#endif cmp r2, r0 beq _022F0700 b _022F11C0 _022F0540: +#ifdef EUROPE + sub r0, r0, #5 + cmp r2, r0 +#else cmp r2, #0x160 +#endif beq _022F0F04 b _022F11C0 _022F054C: +#ifdef EUROPE + cmp r2, #0x1bc + bgt _022F05B0 + bge _022F0C44 + cmp r2, #0x19c + bgt _022F0594 + bge _022F09F4 + cmp r2, #0x17c + bgt _022F0588 +#else add r1, r0, #0x37 cmp r2, r1 bgt _022F05B0 @@ -23938,22 +24010,51 @@ _022F054C: bgt _022F0588 add r0, r0, #5 cmp r2, r0 +#endif beq _022F07FC b _022F11C0 _022F0588: +#ifdef EUROPE + add r0, r0, #0x13 + cmp r2, r0 +#else cmp r2, #0x170 +#endif beq _022F0700 b _022F11C0 _022F0594: +#ifdef EUROPE + add r1, r0, #0x36 + cmp r2, r1 + bgt _022F05A4 + add r0, r0, #0x36 + cmp r2, r0 + bge _022F0C44 + cmp r2, #0x1b0 +#else cmp r2, #0x190 bgt _022F05A4 +#endif beq _022F08F8 b _022F11C0 _022F05A4: +#ifdef EUROPE + add r0, r0, #0x40 + cmp r2, r0 +#else cmp r2, #0x1a0 +#endif beq _022F0C44 b _022F11C0 _022F05B0: +#ifdef EUROPE + add r1, r0, #0x53 + cmp r2, r1 + bgt _022F05E4 + bge _022F1090 + cmp r2, #0x1cc + bgt _022F05D8 +#else cmp r2, #0x1b0 bgt _022F05E4 bge _022F1090 @@ -23962,22 +24063,42 @@ _022F05B0: bgt _022F05D8 add r0, r0, #0x41 cmp r2, r0 +#endif beq _022F0C44 b _022F11C0 _022F05D8: +#ifdef EUROPE + add r0, r0, #0x52 + cmp r2, r0 +#else cmp r2, #0x1ac +#endif beq _022F0C44 b _022F11C0 _022F05E4: +#ifdef EUROPE + add r1, r0, #0x57 + cmp r2, r1 + bgt _022F0604 + add r0, r0, #0x57 + cmp r2, r0 + bge _022F1128 + cmp r2, #0x1d0 +#else add r1, r0, #0x48 cmp r2, r1 bgt _022F0604 bge _022F1128 add r0, r0, #0x47 cmp r2, r0 +#endif beq _022F1090 b _022F11C0 _022F0604: +#ifdef EUROPE + add r0, r0, #0x5b + cmp r2, r0 +#else add r1, r0, #0x50 cmp r2, r1 bgt _022F11C0 @@ -23988,6 +24109,7 @@ _022F0604: cmp r2, r1 addne r0, r0, #0x50 cmpne r2, r0 +#endif beq _022F0FF8 b _022F11C0 _022F0634: @@ -24753,8 +24875,13 @@ _022F11CC: add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 +#ifdef EUROPE +_022F11D4: .word 0x0000017B +_022F11D8: .word 0x00000162 +#else _022F11D4: .word 0x0000016A _022F11D8: .word 0x00000156 +#endif arm_func_end ov11_022F042C arm_func_start ov11_022F11DC @@ -27660,6 +27787,11 @@ _022F37CC: .word 0x00000802 arm_func_start ov11_022F37D0 ov11_022F37D0: ; 0x022F37D0 +#ifdef EUROPE +#define OV11_022F37D0_LOAD_OFFSET 0x10 +#else +#define OV11_022F37D0_LOAD_OFFSET 0 +#endif stmdb sp!, {r3, lr} ldr r0, _022F3E48 ; =ov11_02324CE0 ldr r3, [r0] @@ -27744,7 +27876,7 @@ _022F38DC: ldr r0, _022F3E48 ; =ov11_02324CE0 ldr r2, _022F3E50 ; =0x08080000 ldr r0, [r0] - mov r1, #0xbd + mov r1, #0xbd + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x1a0 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 @@ -27769,7 +27901,7 @@ _022F393C: ldr r0, _022F3E48 ; =ov11_02324CE0 ldr r2, _022F3E50 ; =0x08080000 ldr r0, [r0] - mov r1, #0xbd + mov r1, #0xbd + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x1a0 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 @@ -27791,7 +27923,7 @@ _022F399C: ldr r2, _022F3E54 ; =0x08080005 strb r3, [r1, #0x10] ldr r0, [r0] - mov r1, #0xb6 + mov r1, #0xb6 + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x1a0 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 @@ -27813,7 +27945,7 @@ _022F39F0: ldr r2, _022F3E54 ; =0x08080005 strb r3, [r1, #0x10] ldr r0, [r0] - mov r1, #0xbe + mov r1, #0xbe + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x1a0 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 @@ -27832,7 +27964,11 @@ _022F3A44: ldr r0, _022F3E48 ; =ov11_02324CE0 mov r3, #1 ldr r2, [r0] +#ifdef EUROPE + mov r1, #0x230 +#else ldr r1, _022F3E58 ; =0x00000222 +#endif strb r3, [r2, #0x10] ldr r0, [r0] mov r2, #0x8000000 @@ -27977,13 +28113,13 @@ _022F3C64: ldr r2, _022F3E68 ; =0x0C080000 strb r3, [r1, #0x10] ldr r0, [r0] - mov r1, #0xee + mov r1, #0xee + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x1a0 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 ldr r2, _022F3E68 ; =0x0C080000 ldr r0, [r0] - mov r1, #0xef + mov r1, #0xef + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x264 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 @@ -28010,13 +28146,13 @@ _022F3CD0: ldr r0, _022F3E48 ; =ov11_02324CE0 ldr r2, _022F3E68 ; =0x0C080000 ldr r0, [r0] - mov r1, #0xec + mov r1, #0xec + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x1a0 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 ldr r2, _022F3E68 ; =0x0C080000 ldr r0, [r0] - mov r1, #0xed + mov r1, #0xed + OV11_022F37D0_LOAD_OFFSET add r0, r0, #0x264 bl LoadObjectAnimData ldr r0, _022F3E48 ; =ov11_02324CE0 @@ -28100,15 +28236,17 @@ _022F3E34: ldmia sp!, {r3, pc} .align 2, 0 _022F3E48: .word ov11_02324CE0 -_022F3E4C: .word 0x0000012D +_022F3E4C: .word 0x0000012D + OV11_022F37D0_LOAD_OFFSET _022F3E50: .word 0x08080000 _022F3E54: .word 0x08080005 +#ifndef EUROPE _022F3E58: .word 0x00000222 +#endif _022F3E5C: .word 0x0B040000 _022F3E60: .word 0x00000807 _022F3E64: .word ov11_02321340 _022F3E68: .word 0x0C080000 -_022F3E6C: .word 0x0000010D +_022F3E6C: .word 0x0000010D + OV11_022F37D0_LOAD_OFFSET arm_func_end ov11_022F37D0 arm_func_start ov11_022F3E70 @@ -34806,10 +34944,6 @@ _022F9878: tst r0, #0x1000 beq _022F98C8 ldrsh r0, [r6] - arm_func_end ov11_022F9638 - - arm_func_start ov11_022F98B4 -ov11_022F98B4: ; 0x022F98B4 mov r1, r4 bl ov11_022F8B54 cmp r0, #0 @@ -34890,7 +35024,7 @@ _022F99BC: .align 2, 0 _022F99C4: .word ov11_02321684 _022F99C8: .word ov11_02324CF8 - arm_func_end ov11_022F98B4 + arm_func_end ov11_022F9638 arm_func_start ov11_022F99CC ov11_022F99CC: ; 0x022F99CC @@ -37278,10 +37412,6 @@ _022FBA98: ble _022FBB20 sub r0, r0, #1 str r0, [sl, #0x17c] - arm_func_end ov11_022FBA68 - - arm_func_start ov11_022FBAF0 -ov11_022FBAF0: ; 0x022FBAF0 cmp r0, #0 bgt _022FBB20 add r0, sl, #0x100 @@ -37341,7 +37471,7 @@ _022FBBA0: .align 2, 0 _022FBBC0: .word ov11_02321684 _022FBBC4: .word ov11_02324CF8 - arm_func_end ov11_022FBAF0 + arm_func_end ov11_022FBA68 arm_func_start ov11_022FBBC8 ov11_022FBBC8: ; 0x022FBBC8 @@ -41421,7 +41551,11 @@ _022FEFFC: bl sub_020265A8 ldrsb r0, [r8, #0x10] mov r1, #0x3a +#ifdef EUROPE + mov r2, #0xe +#else mov r2, #4 +#endif add r3, sp, #0x54 bl sub_02026214 mov r0, #0x16 @@ -41451,7 +41585,11 @@ _022FF0AC: ldrsb r0, [r8, #0x10] add r3, sp, #0x54 mov r1, #0x3a +#ifdef EUROPE + mov r2, #0x1a +#else mov r2, #0x16 +#endif bl sub_02026214 ldrsb r0, [r6, #4] mvn r1, #1 @@ -41482,14 +41620,22 @@ _022FF118: cmp r5, #3 ldrsb r0, [r8, #0x10] add r3, sp, #0x54 +#ifdef EUROPE + mov r2, #2 + beq _022FF15C + mov r1, #0xaa +#else beq _022FF15C mov r1, #0x9a mov r2, #4 +#endif bl sub_02026214 b _022FF168 _022FF15C: mov r1, #0x10 +#ifndef EUROPE mov r2, #2 +#endif bl sub_02026214 _022FF168: mov r0, #3 @@ -42789,10 +42935,6 @@ _023002E4: ldr r1, _0230057C ; =ov11_02324D1C mov r2, #6 ldr r3, [r1, #4] - arm_func_end ov11_022FFF00 - - arm_func_start ov11_023002F0 -ov11_023002F0: ; 0x023002F0 str r0, [r3, #0x10] ldr r0, [r1, #4] str r2, [r0, #4] @@ -42981,7 +43123,7 @@ _02300590: .word 0x00000408 _02300594: .word 0x0000022F _02300598: .word 0x00400013 _0230059C: .word ov11_02322530 - arm_func_end ov11_023002F0 + arm_func_end ov11_022FFF00 arm_func_start ov11_023005A0 ov11_023005A0: ; 0x023005A0 @@ -48601,7 +48743,11 @@ _023050BC: add ip, r4, #0x15c str ip, [sp] ldrsh r4, [r4, #0x58] +#ifdef EUROPE + add r4, r4, #0xd3 +#else add r4, r4, #0xd1 +#endif add r4, r4, #0x2900 mov r4, r4, lsl #0x10 mov r4, r4, lsr #0x10 @@ -49058,7 +49204,11 @@ _02305774: add ip, r4, #0x15c str ip, [sp] ldrsh r4, [r4, #0x58] +#ifdef EUROPE + add r4, r4, #0xd3 +#else add r4, r4, #0xd1 +#endif add r4, r4, #0x2900 mov r4, r4, lsl #0x10 mov r4, r4, lsr #0x10 @@ -51198,7 +51348,11 @@ _02307548: tst r0, #0xff beq _023075E4 ldrsh r0, [r6, #4] +#ifdef EUROPE + add r0, r0, #0x4b +#else add r0, r0, #0x49 +#endif add r0, r0, #0x2f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -52677,7 +52831,11 @@ _02308AB4: str r4, [sp, #0x438] str r6, [sp] ldrsh r4, [r5, #0x4e] +#ifdef EUROPE + add r4, r4, #0xd3 +#else add r4, r4, #0xd1 +#endif add r4, r4, #0x2900 mov r4, r4, lsl #0x10 mov r4, r4, lsr #0x10 @@ -54418,7 +54576,11 @@ ov11_0230A2D0: ; 0x0230A2D0 ldrh r1, [r0, r1] mov r0, r5 bl sub_02030A2C +#ifdef EUROPE + add r0, r4, #0xc3 +#else add r0, r4, #0xc1 +#endif add r0, r0, #0x3f00 mov r1, r0, lsl #0x10 mov r0, r5 @@ -64200,23 +64362,52 @@ ov11_02312264: ; 0x02312264 mov r1, #0xf bl MemAlloc ldr r1, _0231233C ; =ov11_02324E18 +#ifdef EUROPE + mvn r2, #0 + str r0, [r1, #4] + strh r2, [r0] + bl GetLanguage + mov r2, r0, lsl #1 + ldr r0, _02312D14 ; =0x0232473C + ldr ip, _02312D18 ; =0x00000115 + ldr r1, _0231233C ; =ov11_02324E18 + ldrsh r2, [r0, r2] + ldr r0, [r1, #4] + rsb r3, ip, #0x114 +#else mvn r3, #0 str r0, [r1, #4] strh r3, [r0] ldr r0, [r1, #4] rsb r2, r3, #0x114 +#endif strh r2, [r0, #0x2c] ldr r2, [r1, #4] mov r0, #0 +#ifdef EUROPE + strh ip, [r2, #0x2c] + ldr r2, [r1, #4] +#endif strh r3, [r2, #2] ldr r1, [r1, #4] strh r3, [r1, #0x2e] bl ov11_02312844 +#ifdef EUROPE + bl GetLanguage + ldr r1, _0231233C ; =0x02325958 + mov r2, r0, lsl #1 + ldr r0, [r1, #4] + ldr r1, _02312D1C ; =0x02324728 + add r0, r0, #0x30 + ldrsh r1, [r1, r2] + ldr r2, _02312340 ; =0xA0080000 +#else ldr r0, _0231233C ; =ov11_02324E18 ldr r2, _02312340 ; =0xA0080000 ldr r0, [r0, #4] mov r1, #0xa7 add r0, r0, #0x30 +#endif bl LoadObjectAnimData ldr r0, _0231233C ; =ov11_02324E18 mov r1, #8 @@ -64229,9 +64420,16 @@ ov11_02312264: ; 0x02312264 mov r2, #0 add r0, r0, #0x30 bl SetAnimDataFields2 +#ifdef EUROPE + bl GetLanguage + mov r2, r0, lsl #1 +#endif ldr r0, _0231233C ; =ov11_02324E18 ldr r1, _02312344 ; =0x00000179 ldr r0, [r0, #4] +#ifdef EUROPE + ldrsh r1, [r1, r2] +#endif ldr r2, _02312340 ; =0xA0080000 add r0, r0, #0xf4 bl LoadObjectAnimData @@ -64251,8 +64449,16 @@ ov11_02312264: ; 0x02312264 ldmia sp!, {r3, pc} .align 2, 0 _0231233C: .word ov11_02324E18 +#ifdef EUROPE +_02312D14: .word 0x0232473C +_02312D18: .word 0x00000115 +_02312D1C: .word 0x02324728 +_02312340: .word 0xA0080000 +_02312344: .word 0x02324732 +#else _02312340: .word 0xA0080000 _02312344: .word 0x00000179 +#endif arm_func_end ov11_02312264 arm_func_start ov11_02312348 @@ -65261,6 +65467,11 @@ _023130A8: .word ov11_02324E28 arm_func_start ov11_023130AC ov11_023130AC: ; 0x023130AC +#ifdef EUROPE +#define OV11_023130AC_LOAD_OFFSET 0x10 +#else +#define OV11_023130AC_LOAD_OFFSET 0 +#endif stmdb sp!, {r3, r4, r5, lr} bl GetHero mov r5, r0 @@ -65307,7 +65518,7 @@ _02313130: _02313150: ldr r2, _02313468 ; =0x88080000 add r0, ip, #0x324 - mov r1, #0xcd + mov r1, #0xcd + OV11_023130AC_LOAD_OFFSET bl LoadObjectAnimData ldr r0, _02313464 ; =ov11_02324E28 ldr r2, _02313468 ; =0x88080000 @@ -65318,7 +65529,7 @@ _02313150: ldr r0, _02313464 ; =ov11_02324E28 ldr r2, _0231346C ; =0x08080000 ldr r0, [r0, #4] - mov r1, #0xad + mov r1, #0xad + OV11_023130AC_LOAD_OFFSET add r0, r0, #0xac add r0, r0, #0x400 bl LoadObjectAnimData @@ -65447,7 +65658,7 @@ _023132EC: ldr r0, _02313464 ; =ov11_02324E28 ldr r2, _0231347C ; =0x8C080000 ldr r0, [r0, #4] - mov r1, #0xd0 + mov r1, #0xd0 + OV11_023130AC_LOAD_OFFSET add r0, r0, #0x324 bl LoadObjectAnimData ldr r0, _02313464 ; =ov11_02324E28 @@ -65471,7 +65682,7 @@ _023132EC: _023133D4: ldr r2, _02313468 ; =0x88080000 add r0, ip, #0x324 - mov r1, #0xb6 + mov r1, #0xb6 + OV11_023130AC_LOAD_OFFSET bl LoadObjectAnimData ldr r0, _02313464 ; =ov11_02324E28 mov r3, #1 @@ -65484,7 +65695,7 @@ _023133D4: _02313404: ldr r2, _02313468 ; =0x88080000 add r0, ip, #0x324 - mov r1, #0xbe + mov r1, #0xbe + OV11_023130AC_LOAD_OFFSET bl LoadObjectAnimData ldr r0, _02313464 ; =ov11_02324E28 mov r3, #1 @@ -65516,7 +65727,11 @@ _02313474: .word 0x8C100000 _02313478: .word 0x00001013 _0231347C: .word 0x8C080000 _02313480: .word 0x00000801 +#ifdef EUROPE +_02313484: .word 0x00000231 +#else _02313484: .word 0x00000223 +#endif arm_func_end ov11_023130AC arm_func_start ov11_02313488 @@ -69216,65 +69431,207 @@ _02316788: .word ov11_02324E78 arm_func_end ov11_023165C8 ; 0x0231678C - .global ov11_0231678C -ov11_0231678C: - .byte 0x08, 0x40, 0x2D, 0xE9, 0xA0, 0x00, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5, 0x00, 0x10, 0x92, 0xE5 - .byte 0x02, 0x00, 0x51, 0xE3, 0x0E, 0x00, 0x00, 0x1A, 0x01, 0x10, 0xA0, 0xE3, 0x05, 0x10, 0xC2, 0xE5 - .byte 0x00, 0x30, 0x90, 0xE5, 0x08, 0x00, 0x93, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x1A - .byte 0x78, 0x10, 0x9F, 0xE5, 0x78, 0x20, 0x9F, 0xE5, 0x08, 0x00, 0x83, 0xE2, 0x2B, 0xC2, 0xF4, 0xEB - .byte 0x64, 0x00, 0x9F, 0xE5, 0x03, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5 - .byte 0x08, 0x80, 0xBD, 0xE8, 0x03, 0x00, 0x51, 0xE3, 0x08, 0x80, 0xBD, 0x18, 0x01, 0x00, 0xA0, 0xE3 - .byte 0x05, 0x00, 0xC2, 0xE5, 0x4C, 0xFF, 0xFF, 0xEB, 0xBD, 0x0F, 0xA0, 0xE3, 0x0F, 0x10, 0xA0, 0xE3 - .byte 0x5B, 0xAA, 0xF3, 0xEB, 0x30, 0x20, 0x9F, 0xE5, 0x38, 0x10, 0x9F, 0xE5, 0x04, 0x00, 0x82, 0xE5 - .byte 0x01, 0x55, 0xFF, 0xEB, 0x20, 0x00, 0x9F, 0xE5, 0x2C, 0x10, 0x9F, 0xE5, 0x04, 0x00, 0x90, 0xE5 - .byte 0x00, 0x20, 0xA0, 0xE3, 0x8F, 0x5D, 0xFF, 0xEB, 0x0C, 0x00, 0x9F, 0xE5, 0x04, 0x10, 0xA0, 0xE3 - .byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0x08, 0x80, 0xBD, 0xE8 - .word ov11_02324E78 - .word ov11_02324BCC - .word ov11_023168E0 - .word ov11_02324BDC - .word ov11_02324C1C - .global ov11_0231684C -ov11_0231684C: - .byte 0x08, 0x40, 0x2D, 0xE9, 0x40, 0x00, 0x9F, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x00, 0x10, 0x91, 0xE5 - .byte 0x04, 0x00, 0x51, 0xE3, 0x0A, 0x00, 0x00, 0x1A, 0x04, 0x00, 0x90, 0xE5, 0xA7, 0x63, 0xFF, 0xEB - .byte 0x01, 0x00, 0xA0, 0xE3, 0x31, 0x63, 0xFF, 0xEB, 0x1C, 0x00, 0x9F, 0xE5, 0x01, 0x30, 0xA0, 0xE3 - .byte 0x00, 0x20, 0x90, 0xE5, 0x05, 0x10, 0xA0, 0xE3, 0x04, 0x30, 0xC2, 0xE5, 0x00, 0x00, 0x90, 0xE5 - .byte 0x00, 0x10, 0x80, 0xE5, 0x00, 0x00, 0xA0, 0xE3, 0x08, 0x80, 0xBD, 0xE8 - .word ov11_02324E78 - .global ov11_0231689C -ov11_0231689C: - .byte 0x08, 0x40, 0x2D, 0xE9, 0x34, 0x00, 0x9F, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x04, 0x10, 0xD1, 0xE5 - .byte 0x00, 0x00, 0x51, 0xE3, 0x04, 0x00, 0x90, 0x15, 0x00, 0x00, 0x50, 0x13, 0x08, 0x80, 0xBD, 0x08 - .byte 0xAB, 0x64, 0xFF, 0xEB, 0x14, 0x00, 0x9F, 0xE5, 0x00, 0x20, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5 - .byte 0x10, 0x00, 0xA0, 0xE3, 0x04, 0x20, 0xC1, 0xE5, 0xEF, 0x4C, 0xFF, 0xEB, 0x08, 0x80, 0xBD, 0xE8 - .word ov11_02324E78 - .global ov11_023168E0 -ov11_023168E0: - .byte 0xF8, 0x4F, 0x2D, 0xE9, 0x00, 0xA0, 0xA0, 0xE1, 0xB4, 0xD1, 0xF4, 0xEB - .byte 0x00, 0x40, 0xA0, 0xE1, 0x01, 0x0B, 0xA0, 0xE3, 0x0F, 0x10, 0xA0, 0xE3, 0x1C, 0xAA, 0xF3, 0xEB - .byte 0x00, 0x60, 0xA0, 0xE1, 0x02, 0x00, 0x54, 0xE3, 0x00, 0x70, 0xA0, 0xE3, 0x3B, 0x00, 0x00, 0x1A - .byte 0x18, 0x41, 0x9F, 0xE5, 0x18, 0x51, 0x9F, 0xE5, 0x07, 0x80, 0xA0, 0xE1, 0x05, 0xB0, 0xA0, 0xE3 - .byte 0x08, 0x0C, 0xA0, 0xE1, 0x40, 0x0C, 0xA0, 0xE1, 0xF1, 0x21, 0xF5, 0xEB, 0x00, 0x00, 0x50, 0xE3 - .byte 0x2F, 0x00, 0x00, 0x1A, 0x08, 0x0C, 0xA0, 0xE1, 0x40, 0x0C, 0xA0, 0xE1, 0xE6, 0x21, 0xF5, 0xEB - .byte 0x00, 0x90, 0xA0, 0xE1, 0x00, 0x00, 0xD9, 0xE5, 0x0B, 0x10, 0xA0, 0xE1, 0x07, 0x20, 0xA0, 0xE1 - .byte 0x05, 0x00, 0x50, 0xE3, 0x05, 0x30, 0xA0, 0x01, 0x04, 0x30, 0xA0, 0x11, 0x0A, 0x00, 0xA0, 0xE1 - .byte 0x2C, 0x3E, 0xF4, 0xEB, 0x06, 0x00, 0xA0, 0xE1, 0x01, 0x1B, 0xA0, 0xE3, 0x09, 0x20, 0xA0, 0xE1 - .byte 0x74, 0x2D, 0xF5, 0xEB, 0x0A, 0x00, 0xA0, 0xE1, 0x12, 0x10, 0xA0, 0xE3, 0x07, 0x20, 0xA0, 0xE1 - .byte 0x06, 0x30, 0xA0, 0xE1, 0x23, 0x3E, 0xF4, 0xEB, 0x06, 0x00, 0xA0, 0xE1, 0x01, 0x1B, 0xA0, 0xE3 - .byte 0x09, 0x20, 0xA0, 0xE1, 0x7E, 0x2D, 0xF5, 0xEB, 0x0A, 0x00, 0xA0, 0xE1, 0x40, 0x10, 0xA0, 0xE3 - .byte 0x0A, 0x20, 0x87, 0xE2, 0x06, 0x30, 0xA0, 0xE1, 0x1A, 0x3E, 0xF4, 0xEB, 0x01, 0x10, 0xD9, 0xE5 - .byte 0x0E, 0x00, 0x51, 0xE3, 0x05, 0x00, 0x00, 0x1A, 0x78, 0x30, 0x9F, 0xE5, 0x0A, 0x00, 0xA0, 0xE1 - .byte 0xCC, 0x10, 0xA0, 0xE3, 0x0A, 0x20, 0x87, 0xE2, 0x27, 0x3E, 0xF4, 0xEB, 0x07, 0x00, 0x00, 0xEA - .byte 0x04, 0x00, 0x89, 0xE2, 0xF1, 0x30, 0xF5, 0xEB, 0xF6, 0x30, 0xF5, 0xEB, 0x00, 0x30, 0xA0, 0xE1 - .byte 0x0A, 0x00, 0xA0, 0xE1, 0xCC, 0x10, 0xA0, 0xE3, 0x0A, 0x20, 0x87, 0xE2, 0x09, 0x3E, 0xF4, 0xEB - .byte 0x14, 0x70, 0x87, 0xE2, 0x01, 0x80, 0x88, 0xE2, 0x08, 0x00, 0x58, 0xE3, 0xC7, 0xFF, 0xFF, 0xBA - .byte 0x00, 0x00, 0x57, 0xE3, 0x04, 0x00, 0x00, 0x1A, 0x2C, 0x30, 0x9F, 0xE5, 0x0A, 0x00, 0xA0, 0xE1 - .byte 0x05, 0x10, 0xA0, 0xE3, 0x48, 0x20, 0xA0, 0xE3, 0x13, 0x3E, 0xF4, 0xEB, 0x0A, 0x00, 0xA0, 0xE1 - .byte 0x33, 0x44, 0xF4, 0xEB, 0x06, 0x00, 0xA0, 0xE1, 0xD7, 0xA9, 0xF3, 0xEB, 0xF8, 0x8F, 0xBD, 0xE8 - .word ov11_02324C38 - .word ov11_02324C30 - .byte 0x2A, 0x3C, 0x00, 0x00, 0xDF, 0x08, 0x00, 0x00 + arm_func_start ov11_0231678C +ov11_0231678C: ; 0x0231678C + stmdb sp!, {r3, lr} + ldr r0, _02316838 ; =ov11_02324E78 + ldr r2, [r0] + ldr r1, [r2] + cmp r1, #2 + bne _023167E0 + mov r1, #1 + strb r1, [r2, #5] + ldr r3, [r0] + ldr r0, [r3, #8] + cmp r0, #0 + bne _023167CC + ldr r1, _0231683C ; =ov11_02324BCC + ldr r2, _02316840 ; =ov11_023168E0 + add r0, r3, #8 + bl sub_0204707C +_023167CC: + ldr r0, _02316838 ; =ov11_02324E78 + mov r1, #3 + ldr r0, [r0] + str r1, [r0] + ldmia sp!, {r3, pc} +_023167E0: + cmp r1, #3 + ldmneia sp!, {r3, pc} + mov r0, #1 + strb r0, [r2, #5] + bl ov11_02316528 + mov r0, #0x2f4 + mov r1, #0xf + bl MemAlloc + ldr r2, _02316838 ; =ov11_02324E78 + ldr r1, _02316844 ; =ov11_02324BDC + str r0, [r2, #4] + bl ov11_022EBC18 + ldr r0, _02316838 ; =ov11_02324E78 + ldr r1, _02316848 ; =ov11_02324C1C + ldr r0, [r0, #4] + mov r2, #0 + bl ov11_022EDE64 + ldr r0, _02316838 ; =ov11_02324E78 + mov r1, #4 + ldr r0, [r0] + str r1, [r0] + ldmia sp!, {r3, pc} + .align 2, 0 +_02316838: .word ov11_02324E78 +_0231683C: .word ov11_02324BCC +_02316840: .word ov11_023168E0 +_02316844: .word ov11_02324BDC +_02316848: .word ov11_02324C1C + arm_func_end ov11_0231678C + + arm_func_start ov11_0231684C +ov11_0231684C: ; 0x0231684C + stmdb sp!, {r3, lr} + ldr r0, _02316898 ; =ov11_02324E78 + ldr r1, [r0] + ldr r1, [r1] + cmp r1, #4 + bne _02316890 + ldr r0, [r0, #4] + bl ov11_022EF70C + mov r0, #1 + bl ov11_022EF53C + ldr r0, _02316898 ; =ov11_02324E78 + mov r3, #1 + ldr r2, [r0] + mov r1, #5 + strb r3, [r2, #4] + ldr r0, [r0] + str r1, [r0] +_02316890: + mov r0, #0 + ldmia sp!, {r3, pc} + .align 2, 0 +_02316898: .word ov11_02324E78 + arm_func_end ov11_0231684C + + arm_func_start ov11_0231689C +ov11_0231689C: ; 0x0231689C + stmdb sp!, {r3, lr} + ldr r0, _023168DC ; =ov11_02324E78 + ldr r1, [r0] + ldrb r1, [r1, #4] + cmp r1, #0 + ldrne r0, [r0, #4] + cmpne r0, #0 + ldmeqia sp!, {r3, pc} + bl ov11_022EFB70 + ldr r0, _023168DC ; =ov11_02324E78 + mov r2, #0 + ldr r1, [r0] + mov r0, #0x10 + strb r2, [r1, #4] + bl ov11_022E9C98 + ldmia sp!, {r3, pc} + .align 2, 0 +_023168DC: .word ov11_02324E78 + arm_func_end ov11_0231689C + + arm_func_start ov11_023168E0 +ov11_023168E0: ; 0x023168E0 + stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} + mov sl, r0 + bl GetGameMode + mov r4, r0 + mov r0, #0x400 + mov r1, #0xf + bl MemAlloc + mov r6, r0 + cmp r4, #2 + mov r7, #0 + bne _023169FC + ldr r4, _02316A2C ; =ov11_02324C38 + ldr r5, _02316A30 ; =ov11_02324C30 + mov r8, r7 + mov fp, #5 +_0231691C: + mov r0, r8, lsl #0x18 + mov r0, r0, asr #0x18 + bl sub_0205F0F0 + cmp r0, #0 + bne _023169F0 + mov r0, r8, lsl #0x18 + mov r0, r0, asr #0x18 + bl GetAcceptedMission + mov sb, r0 + ldrb r0, [sb] + mov r1, fp + mov r2, r7 + cmp r0, #5 + moveq r3, r5 + movne r3, r4 + mov r0, sl + bl sub_02026214 + mov r0, r6 + mov r1, #0x400 + mov r2, sb + bl sub_02061F44 + mov r0, sl + mov r1, #0x12 + mov r2, r7 + mov r3, r6 + bl sub_02026214 + mov r0, r6 + mov r1, #0x400 + mov r2, sb + bl sub_02061F90 + mov r0, sl + mov r1, #0x40 + add r2, r7, #0xa + mov r3, r6 + bl sub_02026214 + ldrb r1, [sb, #1] + cmp r1, #0xe + bne _023169CC + ldr r3, _02316A34 ; =0x00003C2A + mov r0, sl + mov r1, #0xcc + add r2, r7, #0xa + bl sub_02026268 + b _023169EC +_023169CC: + add r0, sb, #4 + bl sub_02062D9C + bl sub_02062DB4 + mov r3, r0 + mov r0, sl + mov r1, #0xcc + add r2, r7, #0xa + bl sub_02026214 +_023169EC: + add r7, r7, #0x14 +_023169F0: + add r8, r8, #1 + cmp r8, #8 + blt _0231691C +_023169FC: + cmp r7, #0 + bne _02316A18 + ldr r3, _02316A38 ; =0x000008DF + mov r0, sl + mov r1, #5 + mov r2, #0x48 + bl sub_02026268 +_02316A18: + mov r0, sl + bl sub_02027AF0 + mov r0, r6 + bl MemFree + ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} + .align 2, 0 +_02316A2C: .word ov11_02324C38 +_02316A30: .word ov11_02324C30 +_02316A34: .word 0x00003C2A +_02316A38: .word 0x000008DF + arm_func_end ov11_023168E0 + .global ov11_02316A3C ov11_02316A3C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @@ -76013,10 +76370,15 @@ C_ROUTINES: .word ov11_02319B1C .global GROUND_WEATHER_TABLE GROUND_WEATHER_TABLE: - .byte 0x00, 0x00, 0x13, 0x01, 0x01, 0x00, 0xB0, 0x01, 0x01, 0x00, 0xB1, 0x01 - .byte 0x02, 0x00, 0xB2, 0x01, 0x01, 0x00, 0xB3, 0x01, 0x02, 0x00, 0xB4, 0x01, 0x01, 0x00, 0xB5, 0x01 - .byte 0x02, 0x00, 0xB6, 0x01, 0x01, 0x00, 0xB7, 0x01, 0x02, 0x00, 0xB8, 0x01, 0x01, 0x00, 0xB9, 0x01 - .byte 0x02, 0x00, 0xBA, 0x01 +#ifdef EUROPE +#define GROUND_WEATHER_OFFSET 0x1C +#else +#define GROUND_WEATHER_OFFSET 0 +#endif + .byte 0x00, 0x00, 0x13 + GROUND_WEATHER_OFFSET, 0x01, 0x01, 0x00, 0xB0 + GROUND_WEATHER_OFFSET, 0x01, 0x01, 0x00, 0xB1 + GROUND_WEATHER_OFFSET, 0x01 + .byte 0x02, 0x00, 0xB2 + GROUND_WEATHER_OFFSET, 0x01, 0x01, 0x00, 0xB3 + GROUND_WEATHER_OFFSET, 0x01, 0x02, 0x00, 0xB4 + GROUND_WEATHER_OFFSET, 0x01, 0x01, 0x00, 0xB5 + GROUND_WEATHER_OFFSET, 0x01 + .byte 0x02, 0x00, 0xB6 + GROUND_WEATHER_OFFSET, 0x01, 0x01, 0x00, 0xB7 + GROUND_WEATHER_OFFSET, 0x01, 0x02, 0x00, 0xB8 + GROUND_WEATHER_OFFSET, 0x01, 0x01, 0x00, 0xB9 + GROUND_WEATHER_OFFSET, 0x01 + .byte 0x02, 0x00, 0xBA + GROUND_WEATHER_OFFSET, 0x01 .global GROUND_WAN_FILES_TABLE GROUND_WAN_FILES_TABLE: .byte 0x64, 0x33, 0x30, 0x70, 0x33, 0x33, 0x61, 0x35, 0x00, 0x00, 0x00, 0x00 @@ -76062,9 +76424,11 @@ ov11_0231DEC4: .global ov11_0231DED0 ov11_0231DED0: .byte 0x64, 0x34, 0x35, 0x70, 0x33, 0x31, 0x61, 0x36, 0x00, 0x00, 0x00, 0x00 +#ifndef EUROPE .global ov11_0231DEDC ov11_0231DEDC: .byte 0x73, 0x30, 0x35, 0x70, 0x30, 0x32, 0x61, 0x34, 0x00, 0x00, 0x00, 0x00 +#endif .global ov11_0231DEE8 ov11_0231DEE8: .byte 0x70, 0x31, 0x37, 0x70 @@ -76527,10 +76891,12 @@ ov11_0231E500: .global ov11_0231E50C ov11_0231E50C: .byte 0x64, 0x37, 0x33, 0x70, 0x32, 0x38, 0x61, 0x31, 0x00, 0x00, 0x00, 0x00 +#ifndef EUROPE .global ov11_0231E518 ov11_0231E518: .byte 0x73, 0x30, 0x35, 0x70 .byte 0x30, 0x32, 0x63, 0x31, 0x00, 0x00, 0x00, 0x00 +#endif .global ov11_0231E524 ov11_0231E524: .byte 0x70, 0x32, 0x32, 0x70, 0x30, 0x31, 0x61, 0x31 @@ -76916,6 +77282,103 @@ ov11_0231EA34: .global ov11_0231EA40 ov11_0231EA40: .byte 0x73, 0x30, 0x35, 0x70, 0x30, 0x33, 0x61, 0x31, 0x00, 0x00, 0x00, 0x00 +#ifdef EUROPE + .global ov11_0231F414 +ov11_0231F414: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x65, 0x34 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F420 +ov11_0231F420: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x64, 0x34 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F42C +ov11_0231F42C: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x63, 0x34 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F438 +ov11_0231F438: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x62, 0x34 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F444 +ov11_0231F444: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x61, 0x34 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F450 +ov11_0231F450: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x65, 0x33 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F45C +ov11_0231F45C: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x64, 0x33 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F468 +ov11_0231F468: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x63, 0x33 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F474 +ov11_0231F474: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x62, 0x33 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F480 +ov11_0231F480: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x61, 0x33 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F48C +ov11_0231F48C: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x65, 0x32 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F498 +ov11_0231F498: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x64, 0x32 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F4A4 +ov11_0231F4A4: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x63, 0x32 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F4B0 +ov11_0231F4B0: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x62, 0x32 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F4BC +ov11_0231F4BC: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x61, 0x32 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F4C8 +ov11_0231F4C8: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x65, 0x31 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F4D4 +ov11_0231F4D4: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x64, 0x31 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F4E0 +ov11_0231F4E0: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x63, 0x31 + .byte 0x00, 0x00, 0x00, 0x00 + .global ov11_0231F4EC +ov11_0231F4EC: + .byte 0x73, 0x30, 0x35, 0x70 + .byte 0x30, 0x32, 0x62, 0x31 + .byte 0x00, 0x00, 0x00, 0x00 +#else .global ov11_0231EA4C ov11_0231EA4C: .byte 0x73, 0x30, 0x35, 0x70, 0x30, 0x32, 0x62, 0x31, 0x00, 0x00, 0x00, 0x00 @@ -76927,6 +77390,7 @@ ov11_0231EA58: ov11_0231EA64: .byte 0x73, 0x30, 0x35, 0x70, 0x30, 0x32, 0x61, 0x32 .byte 0x00, 0x00, 0x00, 0x00 +#endif .global ov11_0231EA70 ov11_0231EA70: .byte 0x73, 0x30, 0x35, 0x70, 0x30, 0x32, 0x61, 0x31, 0x00, 0x00, 0x00, 0x00 @@ -77575,6 +78039,65 @@ OBJECTS: .word ov11_0231EA7C .byte 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x02, 0x01 .word ov11_0231EA70 +#ifdef EUROPE + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F4EC + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F4E0 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F4D4 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F4C8 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F4BC + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F4B0 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F4A4 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F498 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x02, 0x01 + .word ov11_0231F48C + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0C, 0x00, 0x02, 0x01 + .word ov11_0231F480 + .byte 0x01, 0x00, 0x00, 0x00 + .byte 0x0C, 0x00, 0x02, 0x01 + .word ov11_0231F474 + .byte 0x01, 0x00, 0x00, 0x00 + .byte 0x0C, 0x00, 0x02, 0x01 + .word ov11_0231F468 + .byte 0x01, 0x00, 0x00, 0x00 + .byte 0x0C, 0x00, 0x02, 0x01 + .word ov11_0231F45C + .byte 0x01, 0x00, 0x00, 0x00 + .byte 0x0C, 0x00, 0x02, 0x01 + .word ov11_0231F450 + .byte 0x01, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x00, 0x00 + .word ov11_0231F444 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x00, 0x00 + .word ov11_0231F438 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x00, 0x00 + .word ov11_0231F42C + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x00, 0x00 + .word ov11_0231F420 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x00, 0x00 + .word ov11_0231F414 +#else .byte 0x00, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x02, 0x01 .word ov11_0231EA64 @@ -77582,6 +78105,7 @@ OBJECTS: .word ov11_0231EA58 .byte 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x02, 0x01 .word ov11_0231EA4C +#endif .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x02, 0x01 .word ov11_0231EA40 .byte 0x00, 0x00, 0x00, 0x00 @@ -78050,8 +78574,10 @@ OBJECTS: .word ov11_0231E530 .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .word ov11_0231E524 +#ifndef EUROPE .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .word ov11_0231E518 +#endif .byte 0x00, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00 .word ov11_0231E50C @@ -78401,8 +78927,10 @@ OBJECTS: .word ov11_0231DEF4 .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .word ov11_0231DEE8 +#ifndef EUROPE .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .word ov11_0231DEDC +#endif .byte 0x00, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00 .word ov11_0231DED0 @@ -79637,13 +80165,18 @@ ov11_023228E0: .byte 0x00, 0x00, 0x00, 0x00 .global ov11_023228F0 ov11_023228F0: - .byte 0x13, 0x3D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x12, 0x3D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +#ifdef EUROPE +#define OV11_023228F0_OFFSET 2 +#else +#define OV11_023228F0_OFFSET 0 +#endif + .byte 0x13 + OV11_023228F0_OFFSET, 0x3D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 + OV11_023228F0_OFFSET, 0x3D, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x12 + OV11_023228F0_OFFSET, 0x3D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global ov11_02322910 ov11_02322910: - .byte 0x0F, 0x3D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x3D, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x11, 0x3D, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x0F + OV11_023228F0_OFFSET, 0x3D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10 + OV11_023228F0_OFFSET, 0x3D, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x11 + OV11_023228F0_OFFSET, 0x3D, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global ov11_02322930 ov11_02322930: @@ -79896,10 +80429,15 @@ ov11_02322ECC: .word ov11_0230A100 .global ov11_02322EDC ov11_02322EDC: - .byte 0xB9, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x3F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0xBB, 0x3F, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xBC, 0x3F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0xBD, 0x3F, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xBE, 0x3F, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0xBF, 0x3F, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 +#ifdef EUROPE +#define OV11_02322EDC_OFFSET 2 +#else +#define OV11_02322EDC_OFFSET 0 +#endif + .byte 0xB9 + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0xBB + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xBC + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 + .byte 0xBD + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xBE + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 + .byte 0xBF + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC0 + OV11_02322EDC_OFFSET, 0x3F, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov11_02322F24 ov11_02322F24: @@ -80520,17 +81058,37 @@ ov11_02323BD0: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global ov11_02323BD8 ov11_02323BD8: - .byte 0x00, 0x80, 0x00, 0x00 - .byte 0x00, 0x84, 0x00, 0x00 - .global ov11_02323BE0 -ov11_02323BE0: - .byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00 - .global ov11_02323BE8 -ov11_02323BE8: +#ifdef EUROPE .byte 0x00, 0xC0, 0x00, 0x00 .byte 0x00, 0xA4, 0x00, 0x00 +#else + .byte 0x00, 0x80, 0x00, 0x00 + .byte 0x00, 0x84, 0x00, 0x00 +#endif + .global ov11_02323BE0 +ov11_02323BE0: +#ifdef EUROPE + .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00 +#else + .byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00 +#endif + .global ov11_02323BE8 +ov11_02323BE8: +#ifdef EUROPE + .byte 0x00, 0x04, 0x00, 0x00 + .byte 0x00, 0x18, 0x00, 0x00 +#else + .byte 0x00, 0xC0, 0x00, 0x00 + .byte 0x00, 0xA4, 0x00, 0x00 +#endif .word ov11_02323C1C +#ifdef EUROPE + .byte 0x9B, 0x01, 0x00, 0x00, 0xAF, 0x00, 0xB0, 0x00 + .byte 0xB1, 0x00, 0xB2, 0x00, 0xB3, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA7, 0x00, 0xA8, 0x00, 0xA9, 0x00 + .byte 0x15, 0x01, 0xC7, 0x01, 0xC8, 0x01, 0xC9, 0x01, 0xCA, 0x01, 0x00, 0x00 +#else .byte 0x52, 0x01, 0x00, 0x00 +#endif .global ov11_02323BF8 ov11_02323BF8: .byte 0x0D, 0x00, 0x00, 0x00 @@ -81028,6 +81586,9 @@ ov11_02324CC0: ov11_02324CC8: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 +#ifdef EUROPE + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +#endif .global ov11_02324CD0 ov11_02324CD0: .byte 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00 @@ -81066,7 +81627,12 @@ ov11_02324D0C: .byte 0xBD, 0x02, 0xBD, 0x02, 0x00, 0x00, 0x00, 0x00 .global ov11_02324D14 ov11_02324D14: - .byte 0xFF, 0xFF, 0xAF, 0x01, 0x00, 0x00, 0x00, 0x00 +#ifdef EUROPE + .byte 0xFF, 0xFF, 0xCB, 0x01 +#else + .byte 0xFF, 0xFF, 0xAF, 0x01 +#endif + .byte 0x00, 0x00, 0x00, 0x00 .global ov11_02324D1C ov11_02324D1C: .byte 0xD5, 0x00, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x00