about summary refs log tree commit diff stats
path: root/gba/source/exptables.c
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2017-08-18 17:36:59 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2017-08-18 17:36:59 -0400
commitc9c42fb3319151221f317b3cbc255f6d117af5b9 (patch)
tree74b754f9343c0f9fb6154ea200408afc088a626d /gba/source/exptables.c
parent8ad189bc5a88f43e688fc980db30169f0adac0fb (diff)
downloadgen3uploader-c9c42fb3319151221f317b3cbc255f6d117af5b9.tar.gz
gen3uploader-c9c42fb3319151221f317b3cbc255f6d117af5b9.tar.bz2
gen3uploader-c9c42fb3319151221f317b3cbc255f6d117af5b9.zip
Removed dependency on ROM-internal arrays
I looked at the base stats array and determined that, especially if I
limited it to just the data I needed, that it wouldn't be too bad a
thing to just include it and the other two arrays I need in my multiboot
image rather than reference the ones already located in the game ROM.
This way, we get back compatibility with all previously-compatible ROMs,
and not just ones that I have dumped.

New issue: Deoxys's base stats are actually different per-game, though,
so a special case will have to be written for that.
Diffstat (limited to 'gba/source/exptables.c')
-rw-r--r--gba/source/exptables.c828
1 files changed, 828 insertions, 0 deletions
diff --git a/gba/source/exptables.c b/gba/source/exptables.c new file mode 100644 index 0000000..60bf731 --- /dev/null +++ b/gba/source/exptables.c
@@ -0,0 +1,828 @@
1/*
2 * Copyright (C) 2017 Scott Norton
3 * Copyright (C) 2017 hatkirby
4 *
5 * This software may be modified and distributed under the terms
6 * of the MIT license. See the LICENSE file for details.
7 */
8#include "exptables.h"
9
10const u32 gExperienceTables[][101] = {
11 { // Medium Fast
12 0, // 0
13 1, // 1
14 8, // 2
15 27, // 3
16 64, // 4
17 125, // 5
18 216, // 6
19 343, // 7
20 512, // 8
21 729, // 9
22 1000, // 10
23 1331, // 11
24 1728, // 12
25 2197, // 13
26 2744, // 14
27 3375, // 15
28 4096, // 16
29 4913, // 17
30 5832, // 18
31 6859, // 19
32 8000, // 20
33 9261, // 21
34 10648, // 22
35 12167, // 23
36 13824, // 24
37 15625, // 25
38 17576, // 26
39 19683, // 27
40 21952, // 28
41 24389, // 29
42 27000, // 30
43 29791, // 31
44 32768, // 32
45 35937, // 33
46 39304, // 34
47 42875, // 35
48 46656, // 36
49 50653, // 37
50 54872, // 38
51 59319, // 39
52 64000, // 40
53 68921, // 41
54 74088, // 42
55 79507, // 43
56 85184, // 44
57 91125, // 45
58 97336, // 46
59 103823, // 47
60 110592, // 48
61 117649, // 49
62 125000, // 50
63 132651, // 51
64 140608, // 52
65 148877, // 53
66 157464, // 54
67 166375, // 55
68 175616, // 56
69 185193, // 57
70 195112, // 58
71 205379, // 59
72 216000, // 60
73 226981, // 61
74 238328, // 62
75 250047, // 63
76 262144, // 64
77 274625, // 65
78 287496, // 66
79 300763, // 67
80 314432, // 68
81 328509, // 69
82 343000, // 70
83 357911, // 71
84 373248, // 72
85 389017, // 73
86 405224, // 74
87 421875, // 75
88 438976, // 76
89 456533, // 77
90 474552, // 78
91 493039, // 79
92 512000, // 80
93 531441, // 81
94 551368, // 82
95 571787, // 83
96 592704, // 84
97 614125, // 85
98 636056, // 86
99 658503, // 87
100 681472, // 88
101 704969, // 89
102 729000, // 90
103 753571, // 91
104 778688, // 92
105 804357, // 93
106 830584, // 94
107 857375, // 95
108 884736, // 96
109 912673, // 97
110 941192, // 98
111 970299, // 99
112 1000000 // 100
113 }, { // Erratic
114 0, // 0
115 1, // 1
116 15, // 2
117 52, // 3
118 122, // 4
119 237, // 5
120 406, // 6
121 637, // 7
122 942, // 8
123 1326, // 9
124 1800, // 10
125 2369, // 11
126 3041, // 12
127 3822, // 13
128 4719, // 14
129 5737, // 15
130 6881, // 16
131 8155, // 17
132 9564, // 18
133 11111, // 19
134 12800, // 20
135 14632, // 21
136 16610, // 22
137 18737, // 23
138 21012, // 24
139 23437, // 25
140 26012, // 26
141 28737, // 27
142 31610, // 28
143 34632, // 29
144 37800, // 30
145 41111, // 31
146 44564, // 32
147 48155, // 33
148 51881, // 34
149 55737, // 35
150 59719, // 36
151 63822, // 37
152 68041, // 38
153 72369, // 39
154 76800, // 40
155 81326, // 41
156 85942, // 42
157 90637, // 43
158 95406, // 44
159 100237, // 45
160 105122, // 46
161 110052, // 47
162 115015, // 48
163 120001, // 49
164 125000, // 50
165 131324, // 51
166 137795, // 52
167 144410, // 53
168 151165, // 54
169 158056, // 55
170 165079, // 56
171 172229, // 57
172 179503, // 58
173 186894, // 59
174 194400, // 60
175 202013, // 61
176 209728, // 62
177 217540, // 63
178 225443, // 64
179 233431, // 65
180 241496, // 66
181 249633, // 67
182 257834, // 68
183 267406, // 69
184 276458, // 70
185 286328, // 71
186 296358, // 72
187 305767, // 73
188 316074, // 74
189 326531, // 75
190 336255, // 76
191 346965, // 77
192 357812, // 78
193 367807, // 79
194 378880, // 80
195 390077, // 81
196 400293, // 82
197 411686, // 83
198 423190, // 84
199 433572, // 85
200 445239, // 86
201 457001, // 87
202 467489, // 88
203 479378, // 89
204 491346, // 90
205 501878, // 91
206 513934, // 92
207 526049, // 93
208 536557, // 94
209 548720, // 95
210 560922, // 96
211 571333, // 97
212 583539, // 98
213 591882, // 99
214 600000 // 100
215 }, { // Fluctuating
216 0, // 0
217 1, // 1
218 4, // 2
219 13, // 3
220 32, // 4
221 65, // 5
222 112, // 6
223 178, // 7
224 276, // 8
225 393, // 9
226 540, // 10
227 745, // 11
228 967, // 12
229 1230, // 13
230 1591, // 14
231 1957, // 15
232 2457, // 16
233 3046, // 17
234 3732, // 18
235 4526, // 19
236 5440, // 20
237 6482, // 21
238 7666, // 22
239 9003, // 23
240 10506, // 24
241 12187, // 25
242 14060, // 26
243 16140, // 27
244 18439, // 28
245 20974, // 29
246 23760, // 30
247 26811, // 31
248 30146, // 32
249 33780, // 33
250 37731, // 34
251 42017, // 35
252 46656, // 36
253 50653, // 37
254 55969, // 38
255 60505, // 39
256 66560, // 40
257 71677, // 41
258 78533, // 42
259 84277, // 43
260 91998, // 44
261 98415, // 45
262 107069, // 46
263 114205, // 47
264 123863, // 48
265 131766, // 49
266 142500, // 50
267 151222, // 51
268 163105, // 52
269 172697, // 53
270 185807, // 54
271 196322, // 55
272 210739, // 56
273 222231, // 57
274 238036, // 58
275 250562, // 59
276 267840, // 60
277 281456, // 61
278 300293, // 62
279 315059, // 63
280 335544, // 64
281 351520, // 65
282 373744, // 66
283 390991, // 67
284 415050, // 68
285 433631, // 69
286 459620, // 70
287 479600, // 71
288 507617, // 72
289 529063, // 73
290 559209, // 74
291 582187, // 75
292 614566, // 76
293 639146, // 77
294 673863, // 78
295 700115, // 79
296 737280, // 80
297 765275, // 81
298 804997, // 82
299 834809, // 83
300 877201, // 84
301 908905, // 85
302 954084, // 86
303 987754, // 87
304 1035837, // 88
305 1071552, // 89
306 1122660, // 90
307 1160499, // 91
308 1214753, // 92
309 1254796, // 93
310 1312322, // 94
311 1354652, // 95
312 1415577, // 96
313 1460276, // 97
314 1524731, // 98
315 1571884, // 99
316 1640000 // 100
317 }, { // Medium Slow
318 0, // 0
319 1, // 1
320 9, // 2
321 57, // 3
322 96, // 4
323 135, // 5
324 179, // 6
325 236, // 7
326 314, // 8
327 419, // 9
328 560, // 10
329 742, // 11
330 973, // 12
331 1261, // 13
332 1612, // 14
333 2035, // 15
334 2535, // 16
335 3120, // 17
336 3798, // 18
337 4575, // 19
338 5460, // 20
339 6458, // 21
340 7577, // 22
341 8825, // 23
342 10208, // 24
343 11735, // 25
344 13411, // 26
345 15244, // 27
346 17242, // 28
347 19411, // 29
348 21760, // 30
349 24294, // 31
350 27021, // 32
351 29949, // 33
352 33084, // 34
353 36435, // 35
354 40007, // 36
355 43808, // 37
356 47846, // 38
357 52127, // 39
358 56660, // 40
359 61450, // 41
360 66505, // 42
361 71833, // 43
362 77440, // 44
363 83335, // 45
364 89523, // 46
365 96012, // 47
366 102810, // 48
367 109923, // 49
368 117360, // 50
369 125126, // 51
370 133229, // 52
371 141677, // 53
372 150476, // 54
373 159635, // 55
374 169159, // 56
375 179056, // 57
376 189334, // 58
377 199999, // 59
378 211060, // 60
379 222522, // 61
380 234393, // 62
381 246681, // 63
382 259392, // 64
383 272535, // 65
384 286115, // 66
385 300140, // 67
386 314618, // 68
387 329555, // 69
388 344960, // 70
389 360838, // 71
390 377197, // 72
391 394045, // 73
392 411388, // 74
393 429235, // 75
394 447591, // 76
395 466464, // 77
396 485862, // 78
397 505791, // 79
398 526260, // 80
399 547274, // 81
400 568841, // 82
401 590969, // 83
402 613664, // 84
403 636935, // 85
404 660787, // 86
405 685228, // 87
406 710266, // 88
407 735907, // 89
408 762160, // 90
409 789030, // 91
410 816525, // 92
411 844653, // 93
412 873420, // 94
413 902835, // 95
414 932903, // 96
415 963632, // 97
416 995030, // 98
417 1027103, // 99
418 1059860 // 100
419 }, { // Fast
420 0, // 0
421 1, // 1
422 6, // 2
423 21, // 3
424 51, // 4
425 100, // 5
426 172, // 6
427 274, // 7
428 409, // 8
429 583, // 9
430 800, // 10
431 1064, // 11
432 1382, // 12
433 1757, // 13
434 2195, // 14
435 2700, // 15
436 3276, // 16
437 3930, // 17
438 4665, // 18
439 5487, // 19
440 6400, // 20
441 7408, // 21
442 8518, // 22
443 9733, // 23
444 11059, // 24
445 12500, // 25
446 14060, // 26
447 15746, // 27
448 17561, // 28
449 19511, // 29
450 21600, // 30
451 23832, // 31
452 26214, // 32
453 28749, // 33
454 31443, // 34
455 34300, // 35
456 37324, // 36
457 40522, // 37
458 43897, // 38
459 47455, // 39
460 51200, // 40
461 55136, // 41
462 59270, // 42
463 63605, // 43
464 68147, // 44
465 72900, // 45
466 77868, // 46
467 83058, // 47
468 88473, // 48
469 94119, // 49
470 100000, // 50
471 106120, // 51
472 112486, // 52
473 119101, // 53
474 125971, // 54
475 133100, // 55
476 140492, // 56
477 148154, // 57
478 156089, // 58
479 164303, // 59
480 172800, // 60
481 181584, // 61
482 190662, // 62
483 200037, // 63
484 209715, // 64
485 219700, // 65
486 229996, // 66
487 240610, // 67
488 251545, // 68
489 262807, // 69
490 274400, // 70
491 286328, // 71
492 298598, // 72
493 311213, // 73
494 324179, // 74
495 337500, // 75
496 351180, // 76
497 365226, // 77
498 379641, // 78
499 394431, // 79
500 409600, // 80
501 425152, // 81
502 441094, // 82
503 457429, // 83
504 474163, // 84
505 491300, // 85
506 508844, // 86
507 526802, // 87
508 545177, // 88
509 563975, // 89
510 583200, // 90
511 602856, // 91
512 622950, // 92
513 643485, // 93
514 664467, // 94
515 685900, // 95
516 707788, // 96
517 730138, // 97
518 752953, // 98
519 776239, // 99
520 800000 // 100
521 }, { // Slow
522 0, // 0
523 1, // 1
524 10, // 2
525 33, // 3
526 80, // 4
527 156, // 5
528 270, // 6
529 428, // 7
530 640, // 8
531 911, // 9
532 1250, // 10
533 1663, // 11
534 2160, // 12
535 2746, // 13
536 3430, // 14
537 4218, // 15
538 5120, // 16
539 6141, // 17
540 7290, // 18
541 8573, // 19
542 10000, // 20
543 11576, // 21
544 13310, // 22
545 15208, // 23
546 17280, // 24
547 19531, // 25
548 21970, // 26
549 24603, // 27
550 27440, // 28
551 30486, // 29
552 33750, // 30
553 37238, // 31
554 40960, // 32
555 44921, // 33
556 49130, // 34
557 53593, // 35
558 58320, // 36
559 63316, // 37
560 68590, // 38
561 74148, // 39
562 80000, // 40
563 86151, // 41
564 92610, // 42
565 99383, // 43
566 106480, // 44
567 113906, // 45
568 121670, // 46
569 129778, // 47
570 138240, // 48
571 147061, // 49
572 156250, // 50
573 165813, // 51
574 175760, // 52
575 186096, // 53
576 196830, // 54
577 207968, // 55
578 219520, // 56
579 231491, // 57
580 243890, // 58
581 256723, // 59
582 270000, // 60
583 283726, // 61
584 297910, // 62
585 312558, // 63
586 327680, // 64
587 343281, // 65
588 359370, // 66
589 375953, // 67
590 393040, // 68
591 410636, // 69
592 428750, // 70
593 447388, // 71
594 466560, // 72
595 486271, // 73
596 506530, // 74
597 527343, // 75
598 548720, // 76
599 570666, // 77
600 593190, // 78
601 616298, // 79
602 640000, // 80
603 664301, // 81
604 689210, // 82
605 714733, // 83
606 740880, // 84
607 767656, // 85
608 795070, // 86
609 823128, // 87
610 851840, // 88
611 881211, // 89
612 911250, // 90
613 941963, // 91
614 973360, // 92
615 1005446, // 93
616 1038230, // 94
617 1071718, // 95
618 1105920, // 96
619 1140841, // 97
620 1176490, // 98
621 1212873, // 99
622 1250000 // 100
623 }, { // Medium Fast copy 2 (unused? to-do: investigate)
624 0, // 0
625 1, // 1
626 8, // 2
627 27, // 3
628 64, // 4
629 125, // 5
630 216, // 6
631 343, // 7
632 512, // 8
633 729, // 9
634 1000, // 10
635 1331, // 11
636 1728, // 12
637 2197, // 13
638 2744, // 14
639 3375, // 15
640 4096, // 16
641 4913, // 17
642 5832, // 18
643 6859, // 19
644 8000, // 20
645 9261, // 21
646 10648, // 22
647 12167, // 23
648 13824, // 24
649 15625, // 25
650 17576, // 26
651 19683, // 27
652 21952, // 28
653 24389, // 29
654 27000, // 30
655 29791, // 31
656 32768, // 32
657 35937, // 33
658 39304, // 34
659 42875, // 35
660 46656, // 36
661 50653, // 37
662 54872, // 38
663 59319, // 39
664 64000, // 40
665 68921, // 41
666 74088, // 42
667 79507, // 43
668 85184, // 44
669 91125, // 45
670 97336, // 46
671 103823, // 47
672 110592, // 48
673 117649, // 49
674 125000, // 50
675 132651, // 51
676 140608, // 52
677 148877, // 53
678 157464, // 54
679 166375, // 55
680 175616, // 56
681 185193, // 57
682 195112, // 58
683 205379, // 59
684 216000, // 60
685 226981, // 61
686 238328, // 62
687 250047, // 63
688 262144, // 64
689 274625, // 65
690 287496, // 66
691 300763, // 67
692 314432, // 68
693 328509, // 69
694 343000, // 70
695 357911, // 71
696 373248, // 72
697 389017, // 73
698 405224, // 74
699 421875, // 75
700 438976, // 76
701 456533, // 77
702 474552, // 78
703 493039, // 79
704 512000, // 80
705 531441, // 81
706 551368, // 82
707 571787, // 83
708 592704, // 84
709 614125, // 85
710 636056, // 86
711 658503, // 87
712 681472, // 88
713 704969, // 89
714 729000, // 90
715 753571, // 91
716 778688, // 92
717 804357, // 93
718 830584, // 94
719 857375, // 95
720 884736, // 96
721 912673, // 97
722 941192, // 98
723 970299, // 99
724 1000000 // 100
725 }, { // Medium Fast copy 3 (unused? to-do: investigate)
726 0, // 0
727 1, // 1
728 8, // 2
729 27, // 3
730 64, // 4
731 125, // 5
732 216, // 6
733 343, // 7
734 512, // 8
735 729, // 9
736 1000, // 10
737 1331, // 11
738 1728, // 12
739 2197, // 13
740 2744, // 14
741 3375, // 15
742 4096, // 16
743 4913, // 17
744 5832, // 18
745 6859, // 19
746 8000, // 20
747 9261, // 21
748 10648, // 22
749 12167, // 23
750 13824, // 24
751 15625, // 25
752 17576, // 26
753 19683, // 27
754 21952, // 28
755 24389, // 29
756 27000, // 30
757 29791, // 31
758 32768, // 32
759 35937, // 33
760 39304, // 34
761 42875, // 35
762 46656, // 36
763 50653, // 37
764 54872, // 38
765 59319, // 39
766 64000, // 40
767 68921, // 41
768 74088, // 42
769 79507, // 43
770 85184, // 44
771 91125, // 45
772 97336, // 46
773 103823, // 47
774 110592, // 48
775 117649, // 49
776 125000, // 50
777 132651, // 51
778 140608, // 52
779 148877, // 53
780 157464, // 54
781 166375, // 55
782 175616, // 56
783 185193, // 57
784 195112, // 58
785 205379, // 59
786 216000, // 60
787 226981, // 61
788 238328, // 62
789 250047, // 63
790 262144, // 64
791 274625, // 65
792 287496, // 66
793 300763, // 67
794 314432, // 68
795 328509, // 69
796 343000, // 70
797 357911, // 71
798 373248, // 72
799 389017, // 73
800 405224, // 74
801 421875, // 75
802 438976, // 76
803 456533, // 77
804 474552, // 78
805 493039, // 79
806 512000, // 80
807 531441, // 81
808 551368, // 82
809 571787, // 83
810 592704, // 84
811 614125, // 85
812 636056, // 86
813 658503, // 87
814 681472, // 88
815 704969, // 89
816 729000, // 90
817 753571, // 91
818 778688, // 92
819 804357, // 93
820 830584, // 94
821 857375, // 95
822 884736, // 96
823 912673, // 97
824 941192, // 98
825 970299, // 99
826 1000000 // 100
827 }
828};