-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathRomBuildfile.event
566 lines (436 loc) · 17.4 KB
/
RomBuildfile.event
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
#define VeslyBuildfile
#define Reskin
//#define RepointChMenu
#ifndef FreeSpace
#ifdef _FE6_
#define FreeSpace 0x840000
#endif
#ifdef _FE7_
#define FreeSpace 0x1000000
#endif
#ifdef _FE8_
#define FreeSpace 0x1000000
#endif
ORG FreeSpace
#endif
#ifdef _FE6_
#include ".FE6_Installer.event"
#include "Patches/FE6/Installer.event"
#endif
#ifdef _FE7_
#include ".FE7_Installer.event"
#include "Patches/FE7/Installer.event"
#endif
#ifdef _FE8_
#ifdef SKILLSYS_INSTALLED
#include ".FE8_WithSkillsys_Installer.event"
#else
#include ".FE8_Installer.event"
#endif
#include "Patches/FE8/Installer.event"
#endif
#ifdef _FE7_
PUSH
//ORG $CA7A44
//BYTE 0x9A 0 0 0; BYTE 0xCB 0 0 0; POIN LynModeEvent // CALL
//
//ORG $C9A9AB; BYTE 1 // Start ch as dark
//ORG $CAE038
//BYTE 0x9A 0 0 0; BYTE 0xCB 0 0 0; POIN EliwoodModeEvent
//BYTE 0x89 0 0 0 // allow skipping
//
//ORG $CAE610
//BYTE 0x9A 0 0 0; BYTE 0xCB 0 0 0; POIN HectorModeEvent
//ORG $CAE920
//BYTE 0x9A 0 0 0; BYTE 0xCB 0 0 0; POIN HectorModeUnlockDoor
ORG $CC8156; BYTE 0x69 0x6b // matthew gets door key and vuln
ORG $CC8136; BYTE 0x6b // hector gets vuln
ORG $CC8089; BYTE 3 // hector ch 11 enemies have ai2 of "do not move"
ORG $CC8099; BYTE 3
ORG $CC80A9; BYTE 3
ORG $CC80B9; BYTE 3
ORG $CC80C9; BYTE 3
ORG $CC80D9; BYTE 3
ORG $CC80E9; BYTE 3
ORG $CABF64
BYTE 0x9A 0 0 0; BYTE 0xCB 0 0 0; POIN LynModeUnlockDoor
//ORG $CAD43C
//BYTE 0x9A 0 0 0; BYTE 0xCB 0 0 0; POIN UnlockDoor7x
//ORG $CB6388
//BYTE 0x9A 0 0 0; BYTE 0xCB 0 0 0; POIN UnlockDoor22x
ORG $CC5B75
BYTE 3 // Batta y coord
ORG $CC5B77
BYTE 3
ORG $CC5D5F // Ch 2 boss not on throne
BYTE 3
ORG $CC5D7F
BYTE 4
ORG $CA91CE
BYTE 2
//Unit Placer (EventUnitFE7Form) @Pent(Sage) Lv:62024-04-03 10:32:41 AM
ORG $CD22FC
BYTE $15 $22 $00 $32 $10 $05 $10 $05 $39 $38 $6C $00 $00 $03 $0E $00;
//Unit Placer (EventUnitFE7Form) @Pent(Sage) Lv:62024-04-03 10:32:58 AM
ORG $CD231C
BYTE $15 $22 $00 $32 $10 $05 $10 $05 $39 $38 $6C $00 $00 $03 $00 $00;
//Unit Placer (EventUnitFE7Form) @Hawkeye(Berserker) Lv:42024-04-03 10:33:54 AM
ORG $CD233C
BYTE $22 $3B $00 $22 $12 $09 $11 $09 $24 $00 $00 $00 $00 $21 $02 $00;
//Unit Placer (EventUnitFE7Form) @Hawkeye(Berserker) Lv:42024-04-03 10:34:23 AM
ORG $CD235C
BYTE $22 $3B $00 $22 $12 $09 $11 $09 $24 $00 $00 $00 $00 $22 $02 $00;
// swap athos / archsage bases
//Class Editor (ClassForm) @42 Archsage2024-03-22 11:10:21 AM
ORG $BE1704
BYTE $CE $04 $4F $02 $42 $20 $38 $00 $C9 $00 $38 $14 $07 $04 $05 $05 $08 $09 $06 $3C $1E $1E $19 $14 $1E $14 $03 $2D $2D $1E $19 $0A $23 $0F $00 $00 $00 $00 $00 $00 $00 $01 $00 $80 $00 $00 $00 $00 $FB $FB $FB $FB $F0 $94 $C9 $08 $90 $3A $BE $08 $E1 $3E $BE $08 $F1 $42 $BE $08 $F9 $44 $BE $08 $3A $45 $BE $08 $7B $45 $BE $08 $00 $00 $00 $00;
//Character Editor (UnitFE7Form) @27 Athos2024-03-22 11:10:27 AM
ORG $BDD604
BYTE $01 $05 $D5 $01 $27 $42 $1B $00 $00 $07 $26 $14 $14 $17 $14 $0F $0F $14 $19 $00 $00 $00 $00 $00 $FB $FB $FB $FB $00 $00 $00 $00 $00 $00 $00 $65 $65 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $04 $00 $00 $00;
//Character Editor (UnitFE7Form) @27 Athos2024-05-13 11:31:41 AM
ORG $BDD604
BYTE $01 $05 $D5 $01 $27 $42 $1B $00 $00 $07 $26 $14 $14 $17 $14 $0F $0F $14 $19 $00 $00 $00 $00 $00 $FB $FB $FB $FB $32 $32 $32 $32 $32 $32 $32 $65 $65 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $04 $00 $00 $00;
//Character Editor (UnitFE7Form) @39 Leila2024-05-13 11:31:52 AM
ORG $BDD9AC
BYTE $0D $05 $DF $01 $39 $3D $57 $00 $00 $03 $27 $0E $09 $0C $0D $0C $0B $0D $08 $00 $FB $00 $00 $00 $00 $00 $00 $00 $50 $46 $41 $00 $1E $28 $37 $6A $00 $00 $00 $00 $00 $41 $00 $00 $00 $00 $00 $00 $07 $00 $00 $00;
// make Leila "promoted"
// swap nergal / dark druid bases
//Class Editor (ClassForm) @45 Dark Druid2024-03-22 11:45:15 AM
ORG $BE1800
BYTE $B2 $04 $49 $02 $45 $24 $3B $01 $CB $00 $1E $14 $08 $04 $05 $08 $0A $0A $06 $50 $1E $19 $19 $1E $1E $19 $03 $2D $37 $1E $19 $0A $23 $14 $00 $00 $00 $00 $00 $00 $00 $01 $00 $00 $00 $00 $00 $00 $FB $FB $FB $FB $10 $95 $C9 $08 $90 $3A $BE $08 $E1 $3E $BE $08 $F1 $42 $BE $08 $F9 $44 $BE $08 $3A $45 $BE $08 $7B $45 $BE $08 $00 $00 $00 $00;
//Character Editor (UnitFE7Form) @44 Nergal2024-03-22 11:45:25 AM
ORG $BDDBE8
BYTE $17 $05 $F0 $01 $44 $45 $61 $00 $00 $00 $00 $14 $37 $16 $0E $0A $14 $14 $14 $00 $00 $00 $00 $00 $FB $FB $FB $FB $55 $32 $0A $0A $0A $0F $1E $28 $00 $00 $00 $00 $00 $80 $00 $00 $00 $00 $00 $00 $04 $00 $00 $00;
// move some bases from hector lord to hector
//Class Editor (ClassForm) @03 Lord2024-03-29 9:21:58 PM
ORG $BE0258
BYTE $8F $04 $2C $02 $03 $09 $02 $00 $D7 $00 $01 $10 $05 $02 $03 $06 $00 $0D $05 $3C $14 $14 $14 $14 $14 $14 $03 $5A $2D $28 $2D $0F $0C $28 $00 $00 $00 $00 $00 $00 $00 $20 $00 $20 $00 $00 $1F $00 $00 $00 $00 $00 $70 $90 $C9 $08 $88 $38 $BE $08 $D9 $3C $BE $08 $E9 $40 $BE $08 $F9 $44 $BE $08 $3A $45 $BE $08 $7B $45 $BE $08 $00 $00 $00 $00;
//Character Editor (UnitFE7Form) @02 Hector2024-03-29 9:22:16 PM
ORG $BDCE80
BYTE $DD $04 $B0 $01 $02 $03 $0C $00 $00 $02 $02 $01 $03 $02 $02 $02 $02 $00 $03 $00 $00 $00 $47 $00 $00 $00 $00 $00 $5A $3C $2D $23 $32 $19 $1E $37 $36 $00 $00 $00 $00 $00 $00 $00 $30 $8B $C9 $08 $02 $00 $00 $00;
//Character Editor (UnitFE7Form) @01 Eliwood2024-03-30 10:43:00 AM
ORG $BDCE4C
BYTE $DC $04 $AF $01 $01 $01 $02 $00 $00 $07 $01 $01 $03 $02 $02 $02 $02 $00 $07 $00 $47 $00 $00 $00 $00 $00 $00 $00 $50 $2D $32 $28 $1E $23 $2D $2B $38 $00 $00 $00 $00 $00 $00 $00 $18 $8B $C9 $08 $00 $00 $00 $00;
//Character Editor (UnitFE7Form) @03 Lyn2024-03-30 10:43:13 AM
ORG $BDCEB4
BYTE $DE $04 $B1 $01 $03 $02 $16 $00 $00 $03 $03 $01 $03 $02 $02 $02 $02 $00 $05 $00 $1F $00 $00 $00 $00 $00 $00 $00 $46 $28 $3C $3C $14 $1E $37 $01 $1B $00 $00 $00 $00 $40 $00 $00 $00 $00 $00 $00 $07 $00 $00 $00;
//Class Editor (ClassForm) @01 Lord2024-03-30 10:44:11 AM
ORG $BE01B0
BYTE $8F $04 $2C $02 $01 $07 $00 $00 $D7 $00 $01 $0F $03 $03 $05 $03 $00 $07 $05 $3C $14 $14 $14 $14 $14 $14 $03 $5A $2D $28 $2D $0F $0F $28 $00 $00 $00 $00 $00 $00 $00 $20 $00 $10 $1F $00 $00 $00 $00 $00 $00 $00 $58 $90 $C9 $08 $88 $38 $BE $08 $D9 $3C $BE $08 $E9 $40 $BE $08 $F9 $44 $BE $08 $3A $45 $BE $08 $7B $45 $BE $08 $00 $00 $00 $00;
//Class Editor (ClassForm) @02 Lord2024-03-30 10:44:32 AM
ORG $BE0204
BYTE $90 $04 $2C $02 $02 $08 $01 $00 $D7 $00 $01 $0D $02 $05 $07 $00 $00 $05 $05 $3C $14 $14 $14 $14 $14 $14 $03 $5A $2D $28 $2D $0F $14 $28 $00 $00 $00 $00 $00 $00 $00 $20 $02 $40 $1F $00 $00 $00 $00 $00 $00 $00 $64 $90 $C9 $08 $88 $38 $BE $08 $D9 $3C $BE $08 $E9 $40 $BE $08 $F9 $44 $BE $08 $3A $45 $BE $08 $7B $45 $BE $08 $00 $00 $00 $00;
//Character Editor (UnitFE7Form) @86 Dragon2024-05-14 9:58:27 AM
ORG $BDE950
BYTE $38 $05 $14 $02 $86 $46 $00 $00 $01 $05 $00 $14 $00 $00 $00 $00 $00 $00 $18 $00 $00 $00 $00 $00 $00 $00 $00 $00 $64 $64 $64 $64 $64 $64 $64 $00 $00 $00 $00 $00 $00 $81 $00 $01 $00 $00 $00 $00 $04 $00 $00 $00;
// make dragon boss promoted and 100% growths
ORG $BE34A8 // tact bow to have effectiveness
WORD 0x8C97ED2
POP
/*
PUSH
// trying to test distribution of random classes
// eliwood ch1
ORG $CAE050
POIN MyUnits
ORG $CA199C
POIN MyUnits
ORG $CA19A0
POIN MyUnits
ORG $CA19A4
POIN MyUnits
ORG $CA19A8
POIN MyUnits
// eliwood ch2 (gotta change load2 into load as well)
ORG $CAEA6C
POIN MyUnits
ORG $CAED54
POIN MyUnits
ORG $CA1BAC
POIN MyUnits
ORG $CA1BB0
POIN MyUnits
ORG $CA1BB8
POIN MyUnits
POP
MyUnits:
BYTE $01 $01 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $02 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $03 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $04 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $05 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $06 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $07 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $0B $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $0C $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $0E $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $0F $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $10 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $11 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $12 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $13 $00 $00 $08 $0C $0B $0C $0A $09 $6B $00 $00 $00 $00 $00 $00;
BYTE $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00;
*/
ALIGN 4
WindSwordDesc: // New desc taken from FE8
String("Capable of indirect attacks."); BYTE 0 //Suffused with wind magic."); BYTE 0
// Original is two lines and doesn't fit: A magic sword capable of striking at a distance.
ALIGN 4
DragonAxeDesc:
String("Effective against wyverns."); BYTE 0
// Original is two lines and doesn't fit: An axe designed to strike down wyverns.
setText(0x300, DragonAxeDesc)
setText(0x301, WindSwordDesc)
ALIGN 4
LynModeEvent:
//BYTE 0xC 0 0 0 // Don't start from black
BYTE 0x87 0 0 0 // No skipping
//BYTE 0x8F 0 16 0 // fadu
//BYTE 0x93 0 0 0 // showmap
WORD 0x3E; POIN StartConfigMenu // asmc
//BYTE 0x8E 0 16 0 // fadi
BYTE 0x89 0 0 0 // allow skipping
BYTE 0x32 0 0 0 // LOAD
WORD 0x8CC5B70 // unit group
BYTE 0x3B 0 0 0 // ENUN
BYTE 0xA 0 0 0; WORD 0 // ENDA
EliwoodModeEvent:
//BYTE 0xC 0 0 0 // Don't start from black
BYTE 0x87 0 0 0 // No skipping
//BYTE 0x8F 0 16 0 // fadu
//BYTE 0x93 0 0 0 // showmap
WORD 0x3E; POIN StartConfigMenu // asmc
//BYTE 0x8E 0 16 0 // fadi
BYTE 0x89 0 0 0 // allow skipping
//BYTE 0x8E 0 16 0 // fadi
//BYTE 0xD5 0 2 0 // FADUCG
//BYTE 0x93 0 0 0 // showmap
//BYTE 0x02 0 20 0 // STAL 32
//BYTE 0x3E 0 0 0; BYTE 0xE5 0xCF 7 8 // Map display command (slow)
BYTE 0x3E 00 00 00 ; BYTE 0x5D 0xA9 0x07 0x08 // map display fast
BYTE 0x32 0 0 0 // LOAD
WORD 0x8CC7DDC // unit group
//BYTE 0x3B 0 0 0 // ENUN
BYTE 0xA 0 0 0; WORD 0 // ENDA
HectorModeEvent:
//BYTE 0xC 0 0 0 // Don't start from black
BYTE 0x87 0 0 0 // No skipping
//BYTE 0x8F 0 16 0 // fadu
//BYTE 0x93 0 0 0 // showmap
WORD 0x3E; POIN StartConfigMenu // asmc
//BYTE 0x8E 0 16 0 // fadi
BYTE 0x89 0 0 0 // allow skipping
BYTE 0xD6 0 0 0 // vanilla
BYTE 0x92 0 0 0
BYTE 0xD3 0 0x33 0
BYTE 0xA 0 0 0; WORD 0 // ENDA
HectorModeUnlockDoor:
BYTE 0x34 0 0 0; BYTE 0x3 0 0x1 0; WORD 0x8CC810C // Hard mode exclusive Load Units
BYTE 0x5F 00 05 00 // Tile change 5: Open door
BYTE 0xA 0 0 0; WORD 0 // ENDA
LynModeUnlockDoor:
BYTE 0x33 0 0 0; WORD 0x8CC6560; BYTE 0x3b 0 0 0 // Load Units
BYTE 0x5F 00 1 00 // Tile change 0: Open door
BYTE 0x5F 00 5 00 // Tile change 0xB: Open door
BYTE 0xA 0 0 0; WORD 0 // ENDA
UnlockDoor7x:
BYTE $36 00 00 00 $B8 $6D $CC $08; BYTE $3B 00 00 00 // load + enun
BYTE 0x5F 00 1 00 // Tile change 0: Open door
BYTE 0xA 0 0 0; WORD 0 // ENDA
UnlockDoor22x:
BYTE $0F $00 $00 $00 $53 $0C $00 $00 $60 $0C $00 $00 // vanilla
BYTE 0x5F 00 4 00 // Tile change 0: Open door
BYTE 0x5F 00 5 00 // Tile change 0: Open door
BYTE 0x5F 00 6 00 // Tile change 0: Open door
BYTE 0xA 0 0 0; WORD 0 // ENDA
// Pale flower ch 25 hhm softlock possible
// [8BE38C9..8BE3909]?
#endif // fe7
PUSH
#ifdef _FE7_
// Nils min level for 19xx by Satel
ORG $7D252
BYTE 0
#endif // FE7
#ifdef _FE6_
//Event Editor (Adv) (EventScriptForm) =:66B7F8 2024-04-04 2:28:10 PM
//ORG $66B7F8
//BYTE $27 $00 $00 $00 $01 $00 $00 $00 $23 $00 $00 $00 $28 $00 $00 $00 $88 $13 $00 $00 $06 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00;
ORG $682320
BYTE 8 3 7 3 // Thea in ch 1A to not spawn on mountains
// remove double hard mode bonus for first 5 chapters:
ORG $66B78C // normally calls 0x806BAF1
BYTE 06 00 00 00 00 00 00 00 // ENDA
ORG $66BBC0
BYTE 06 00 00 00 00 00 00 00 // ENDA
ORG $66BF68
BYTE 06 00 00 00 00 00 00 00 // ENDA
ORG $66C3F0
BYTE 06 00 00 00 00 00 00 00 // ENDA
ORG $66C8B0
BYTE 06 00 00 00 00 00 00 00 // ENDA
// Merlinus
ORG $679E64
BYTE $1 // STARTING ITEMS
BYTE $68
// qol
ORG $134a9
BYTE $e0 // skip straight to title
ORG $987F8 // skip opening
SHORT $46C0
// disable tutorial
ORG $8a5ce
BYTE $20 4 $e0 8
POP
#endif
#ifdef _FE7_
ORG $BE375E; SHORT 20000 // ocean seal costs 20k instead of 50k
ORG $CC905C; BYTE 1 // Merlinus starts with an iron sword
ORG $CC907C; BYTE 1 // Merlinus starts with an iron sword
ORG $CCB748; BYTE 1 // Merlinus starts with an iron sword
// QoL for testing
// by Gryz
ORG $BC58E
SHORT 0x46C0
ORG $BC580
SHORT $46C0
ORG $BAA25
BYTE 0xE0
POP
#endif // _FE7_
#ifdef _FE8_
#ifndef TextTable
#define TextTable 0x15D48C
#endif
PUSH
ORG $24D8D
AreUnitsAllied:
ORG $24DA5
IsSameAllegiance:
ORG $A4CFD
GetPidStats:
#ifdef VeslyBuildfile
//Unit Placer (EventUnitForm) 2024-09-24 9:28:32 AM
ORG $8B42A4
BYTE $07 $01 $00 $00 $FF $FF $00 $00;
//Unit Placer (EventUnitForm) @Ross(Journeyman) Lv:12024-09-24 9:28:32 AM
ORG $8B4434
BYTE $07 $3D $00 $0A $87 $00 $00 $01 $A4 $42 $8B $08 $2C $6C $00 $00 $00 $0A $00 $00;
ORG $28620
BYTE 30 // Support range
// PutUnitSpriteIconsOam fe6/7/8 8022378 8025B54 80275E8
ORG $278AC
jumpToHack(DisplayStealOrDropIcon_FE8)
#endif
ORG $8B3C35
BYTE 1 // Eirika weapon
// Disable tutorial by 7743
ORG 0x0E120
BYTE 0x00 0x00
//Skip very begining world map
ORG $A39768
EVBIT_MODIFY 0x1
SKIPWN
ENDA
// Skip health & safety, logo etc. by 7743
ORG 0x0C6714
BYTE 0xC0 0x46
ORG 0x0CBDF6
BYTE 0xC0 0x46
ORG 0xC6714
BYTE 0xC0 0x46
ORG 0x0CC20C
BYTE 0x00 0x00
ORG 0x0CBDE2
BYTE 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
// Skip difficulty selection by 7743
//ORG 0xAC3E0
//BYTE 0x00 0x22 0x00 0x23 0x2A 0x21 0x42 0x54 0x3D 0x21 0x43 0x54 0x70 0x47 // Easy
//BYTE 0x01 0x22 0x00 0x23 0x2A 0x21 0x42 0x54 0x3D 0x21 0x43 0x54 0x70 0x47 // Normal
//BYTE 0x02 0x22 0x00 0x23 0x2A 0x21 0x42 0x54 0x3D 0x21 0x43 0x54 0x70 0x47 // Hard
//Set Default Options
ORG $30d8a //animations type 2
SHORT $3306
ORG $30da6 //Game/text speed Fast, Autocursor off
SHORT $22d0
//Fix Stone's map animation crashing no$ due to a bad decompression
ORG $7E2B4
BYTE 0x8
//Make the Add trap data routine have a check to prevent writing past the limit
ORG $2E2B8
SHORT 0xB470 0x4C07 0x4D07 0x3408 0x42AC 0xD806 0x78A6 0x2E00 0xD1F9 0x7020 0x7061 0x70A2 0x70E3 0x1C20 0xBC70 0x4770 0xA60C 0x0203 0xA814 0x0203
// make BWL not ignore units with no affinity
ORG $A4D12
SHORT $46c0
//Hold A to speed up movement (credit Gryz)
ORG $794ee
SHORT 0
//Unlock Sound Room songs
ORG $aede0
BYTE $FF
//CG Fade glitch
ORG $EBCA
BYTE 8
ORG $EDE0
SHORT $1c0a
//Enemy Control Glitch Fix (Credits to Brendor, Eebit)
ORG 0x377A2
SHORT 0x46C0 0x46C0
//Mode Coefficient EXP fix (credit Vennobennu)
ORG 0x2C474
WORD 0
//Skip Intro and Class Roll (otherwise pre-battle anims will crash this)
ORG $c63ad
BYTE $e0
// Fix proc names not being cleared (Stan)
ORG $002C9E
SHORT $6129 $2026 $5429 $3002 $5429
// Fix CAM1/CAMERA2 going out of bounds (Stan)
ORG $015D52
BYTE 14
ORG $015D66
BYTE 9
// Don't draw portrait on item select menu if unit is generic (hypergammaspaces)
ORG $22BE8
SHORT $6808 $88C0 $2800
/*
// AI heatmap caching/optimization (7743) - reduces AI lag by ~66%
ORG $3E320
BYTE $F0 $B5 $5F $46 $56 $46 $4D $46 $44 $46 $F0 $B4 $33 $4C $A2 $46 $33 $48 $00 $68 $83 $46 $54 $46 $20 $68 $00 $28 $52 $D0 $C2 $68 $30 $4B $1A $42 $4E $D1 $58 $46 $C0 $7A $E1 $7A $E6 $F7 $1E $FD $00 $28 $47 $D1 $00 $20 $81 $46 $1E $21 $65 $18 $0A $21 $6E $18 $07 $1C $80 $46 $29 $88 $00 $29 $10 $D0 $88 $46 $20 $1C $D8 $F7 $01 $F9 $01 $28 $06 $D1 $40 $46 $D9 $F7 $30 $F9 $B8 $42 $01 $DB $07 $1C $C1 $46 $B5 $42 $01 $DA $02 $35 $EB $E7 $48 $46 $00 $28 $28 $D0 $58 $46 $21 $1C $4A $46 $FC $F7 $7A $FC $01 $28 $21 $D1 $20 $1C $49 $46 $FD $F7 $D8 $F8 $20 $1C $DA $F7 $01 $FF $3F $18 $7F $10 $15 $48 $04 $68 $15 $48 $05 $68 $15 $4B $18 $88 $80 $46 $5E $88 $00 $2E $0E $D0 $01 $3E $43 $46 $00 $2B $F9 $D0 $01 $3B $B2 $00 $A0 $58 $C0 $5C $00 $28 $F7 $D0 $A8 $58 $C1 $5C $C9 $19 $C1 $54 $F2 $E7 $48 $20 $82 $44 $0A $48 $82 $45 $A3 $DB $FF $BC $80 $46 $89 $46 $92 $46 $9B $46 $01 $BC $00 $47 $4C $BE $02 $02 $50 $4E $00 $03 $0D $10 $00 $00 $E4 $E4 $02 $02 $F0 $E4 $02 $02 $D4 $E4 $02 $02 $B4 $E3 $02 $02
*/
//Add a check for r0=0 in the decompression routine so that no$gba doesn't crash when trying to decompress something it shouldn't (Tequila)
ORG $12F52
SHORT $2800 $D014 $22FA $0612 $1852 $4B0A $2501 $429A $D800 $2500 $4A09 $7803 $24F0 $4023 $08DB $195B $009B $18D2 $6812 $46C0 $46C0
#include "Extensions/Hack Installation.txt"
//Anti-Huffman Patch, by Hextator and Nintenlord
{
ORG 0x2BA4 //Pointer Tester
//BYTE 0x00 0xB5 0xC2 0x0F 0x02 0xD0
//BL(uncompHelper) /*0x07 0xF0 0x63 0xFB*/
//SHORT 0xE001
//BL(compressedHelper) /*0x07 0xF0 0x58 0xFB*/
//SHORT 0xBD00
/*
ORG 0xA24A
BYTE 0x05 0xD0 0x04 0x49 0x28 0x1C 0x00 0xF0 0x16 0xF8 0x35 0x60 0x00 0xE0 0x01 0x48 0x70 0xBC 0x00 0xBD 0x00 0x00
WORD 0x0202A6AC
compressedHelper:
SHORT 0xB500 0x4A02 0x6812
BL(0xD18C8) //In-game unencoding routine, I assume
SHORT 0xBD00
WORD 0x03004150
uncompHelper:
jumpToHack(AntiHuffmanFreeSpace) //FEditor uses r2 instead of r3, but it shouldn't matter.
ORG $A244
SHORT $46c0 $46c0 $46c0 $46c0 // Vesly added
ORG $A254
SHORT $46C0
ORG 0x464470
AntiHuffmanFreeSpace: //Can be relocated as necessary.
BYTE 0x80 0x23 0x1B 0x06 0xC0 0x1A 0x02 0x78 0x0A 0x70 0x01 0x31 0x01 0x30 0x00 0x2A 0xF9 0xD1 0x70 0x47
*/
}
POP
#endif // _FE8_
ALIGN 32
WORD 0 0 0 0 0 0 0 0