From c9c42fb3319151221f317b3cbc255f6d117af5b9 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Fri, 18 Aug 2017 17:36:59 -0400 Subject: 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. --- gba/source/exptables.c | 828 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 828 insertions(+) create mode 100644 gba/source/exptables.c (limited to 'gba/source/exptables.c') 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 @@ +/* + * Copyright (C) 2017 Scott Norton + * Copyright (C) 2017 hatkirby + * + * This software may be modified and distributed under the terms + * of the MIT license. See the LICENSE file for details. + */ +#include "exptables.h" + +const u32 gExperienceTables[][101] = { + { // Medium Fast + 0, // 0 + 1, // 1 + 8, // 2 + 27, // 3 + 64, // 4 + 125, // 5 + 216, // 6 + 343, // 7 + 512, // 8 + 729, // 9 + 1000, // 10 + 1331, // 11 + 1728, // 12 + 2197, // 13 + 2744, // 14 + 3375, // 15 + 4096, // 16 + 4913, // 17 + 5832, // 18 + 6859, // 19 + 8000, // 20 + 9261, // 21 + 10648, // 22 + 12167, // 23 + 13824, // 24 + 15625, // 25 + 17576, // 26 + 19683, // 27 + 21952, // 28 + 24389, // 29 + 27000, // 30 + 29791, // 31 + 32768, // 32 + 35937, // 33 + 39304, // 34 + 42875, // 35 + 46656, // 36 + 50653, // 37 + 54872, // 38 + 59319, // 39 + 64000, // 40 + 68921, // 41 + 74088, // 42 + 79507, // 43 + 85184, // 44 + 91125, // 45 + 97336, // 46 + 103823, // 47 + 110592, // 48 + 117649, // 49 + 125000, // 50 + 132651, // 51 + 140608, // 52 + 148877, // 53 + 157464, // 54 + 166375, // 55 + 175616, // 56 + 185193, // 57 + 195112, // 58 + 205379, // 59 + 216000, // 60 + 226981, // 61 + 238328, // 62 + 250047, // 63 + 262144, // 64 + 274625, // 65 + 287496, // 66 + 300763, // 67 + 314432, // 68 + 328509, // 69 + 343000, // 70 + 357911, // 71 + 373248, // 72 + 389017, // 73 + 405224, // 74 + 421875, // 75 + 438976, // 76 + 456533, // 77 + 474552, // 78 + 493039, // 79 + 512000, // 80 + 531441, // 81 + 551368, // 82 + 571787, // 83 + 592704, // 84 + 614125, // 85 + 636056, // 86 + 658503, // 87 + 681472, // 88 + 704969, // 89 + 729000, // 90 + 753571, // 91 + 778688, // 92 + 804357, // 93 + 830584, // 94 + 857375, // 95 + 884736, // 96 + 912673, // 97 + 941192, // 98 + 970299, // 99 + 1000000 // 100 + }, { // Erratic + 0, // 0 + 1, // 1 + 15, // 2 + 52, // 3 + 122, // 4 + 237, // 5 + 406, // 6 + 637, // 7 + 942, // 8 + 1326, // 9 + 1800, // 10 + 2369, // 11 + 3041, // 12 + 3822, // 13 + 4719, // 14 + 5737, // 15 + 6881, // 16 + 8155, // 17 + 9564, // 18 + 11111, // 19 + 12800, // 20 + 14632, // 21 + 16610, // 22 + 18737, // 23 + 21012, // 24 + 23437, // 25 + 26012, // 26 + 28737, // 27 + 31610, // 28 + 34632, // 29 + 37800, // 30 + 41111, // 31 + 44564, // 32 + 48155, // 33 + 51881, // 34 + 55737, // 35 + 59719, // 36 + 63822, // 37 + 68041, // 38 + 72369, // 39 + 76800, // 40 + 81326, // 41 + 85942, // 42 + 90637, // 43 + 95406, // 44 + 100237, // 45 + 105122, // 46 + 110052, // 47 + 115015, // 48 + 120001, // 49 + 125000, // 50 + 131324, // 51 + 137795, // 52 + 144410, // 53 + 151165, // 54 + 158056, // 55 + 165079, // 56 + 172229, // 57 + 179503, // 58 + 186894, // 59 + 194400, // 60 + 202013, // 61 + 209728, // 62 + 217540, // 63 + 225443, // 64 + 233431, // 65 + 241496, // 66 + 249633, // 67 + 257834, // 68 + 267406, // 69 + 276458, // 70 + 286328, // 71 + 296358, // 72 + 305767, // 73 + 316074, // 74 + 326531, // 75 + 336255, // 76 + 346965, // 77 + 357812, // 78 + 367807, // 79 + 378880, // 80 + 390077, // 81 + 400293, // 82 + 411686, // 83 + 423190, // 84 + 433572, // 85 + 445239, // 86 + 457001, // 87 + 467489, // 88 + 479378, // 89 + 491346, // 90 + 501878, // 91 + 513934, // 92 + 526049, // 93 + 536557, // 94 + 548720, // 95 + 560922, // 96 + 571333, // 97 + 583539, // 98 + 591882, // 99 + 600000 // 100 + }, { // Fluctuating + 0, // 0 + 1, // 1 + 4, // 2 + 13, // 3 + 32, // 4 + 65, // 5 + 112, // 6 + 178, // 7 + 276, // 8 + 393, // 9 + 540, // 10 + 745, // 11 + 967, // 12 + 1230, // 13 + 1591, // 14 + 1957, // 15 + 2457, // 16 + 3046, // 17 + 3732, // 18 + 4526, // 19 + 5440, // 20 + 6482, // 21 + 7666, // 22 + 9003, // 23 + 10506, // 24 + 12187, // 25 + 14060, // 26 + 16140, // 27 + 18439, // 28 + 20974, // 29 + 23760, // 30 + 26811, // 31 + 30146, // 32 + 33780, // 33 + 37731, // 34 + 42017, // 35 + 46656, // 36 + 50653, // 37 + 55969, // 38 + 60505, // 39 + 66560, // 40 + 71677, // 41 + 78533, // 42 + 84277, // 43 + 91998, // 44 + 98415, // 45 + 107069, // 46 + 114205, // 47 + 123863, // 48 + 131766, // 49 + 142500, // 50 + 151222, // 51 + 163105, // 52 + 172697, // 53 + 185807, // 54 + 196322, // 55 + 210739, // 56 + 222231, // 57 + 238036, // 58 + 250562, // 59 + 267840, // 60 + 281456, // 61 + 300293, // 62 + 315059, // 63 + 335544, // 64 + 351520, // 65 + 373744, // 66 + 390991, // 67 + 415050, // 68 + 433631, // 69 + 459620, // 70 + 479600, // 71 + 507617, // 72 + 529063, // 73 + 559209, // 74 + 582187, // 75 + 614566, // 76 + 639146, // 77 + 673863, // 78 + 700115, // 79 + 737280, // 80 + 765275, // 81 + 804997, // 82 + 834809, // 83 + 877201, // 84 + 908905, // 85 + 954084, // 86 + 987754, // 87 + 1035837, // 88 + 1071552, // 89 + 1122660, // 90 + 1160499, // 91 + 1214753, // 92 + 1254796, // 93 + 1312322, // 94 + 1354652, // 95 + 1415577, // 96 + 1460276, // 97 + 1524731, // 98 + 1571884, // 99 + 1640000 // 100 + }, { // Medium Slow + 0, // 0 + 1, // 1 + 9, // 2 + 57, // 3 + 96, // 4 + 135, // 5 + 179, // 6 + 236, // 7 + 314, // 8 + 419, // 9 + 560, // 10 + 742, // 11 + 973, // 12 + 1261, // 13 + 1612, // 14 + 2035, // 15 + 2535, // 16 + 3120, // 17 + 3798, // 18 + 4575, // 19 + 5460, // 20 + 6458, // 21 + 7577, // 22 + 8825, // 23 + 10208, // 24 + 11735, // 25 + 13411, // 26 + 15244, // 27 + 17242, // 28 + 19411, // 29 + 21760, // 30 + 24294, // 31 + 27021, // 32 + 29949, // 33 + 33084, // 34 + 36435, // 35 + 40007, // 36 + 43808, // 37 + 47846, // 38 + 52127, // 39 + 56660, // 40 + 61450, // 41 + 66505, // 42 + 71833, // 43 + 77440, // 44 + 83335, // 45 + 89523, // 46 + 96012, // 47 + 102810, // 48 + 109923, // 49 + 117360, // 50 + 125126, // 51 + 133229, // 52 + 141677, // 53 + 150476, // 54 + 159635, // 55 + 169159, // 56 + 179056, // 57 + 189334, // 58 + 199999, // 59 + 211060, // 60 + 222522, // 61 + 234393, // 62 + 246681, // 63 + 259392, // 64 + 272535, // 65 + 286115, // 66 + 300140, // 67 + 314618, // 68 + 329555, // 69 + 344960, // 70 + 360838, // 71 + 377197, // 72 + 394045, // 73 + 411388, // 74 + 429235, // 75 + 447591, // 76 + 466464, // 77 + 485862, // 78 + 505791, // 79 + 526260, // 80 + 547274, // 81 + 568841, // 82 + 590969, // 83 + 613664, // 84 + 636935, // 85 + 660787, // 86 + 685228, // 87 + 710266, // 88 + 735907, // 89 + 762160, // 90 + 789030, // 91 + 816525, // 92 + 844653, // 93 + 873420, // 94 + 902835, // 95 + 932903, // 96 + 963632, // 97 + 995030, // 98 + 1027103, // 99 + 1059860 // 100 + }, { // Fast + 0, // 0 + 1, // 1 + 6, // 2 + 21, // 3 + 51, // 4 + 100, // 5 + 172, // 6 + 274, // 7 + 409, // 8 + 583, // 9 + 800, // 10 + 1064, // 11 + 1382, // 12 + 1757, // 13 + 2195, // 14 + 2700, // 15 + 3276, // 16 + 3930, // 17 + 4665, // 18 + 5487, // 19 + 6400, // 20 + 7408, // 21 + 8518, // 22 + 9733, // 23 + 11059, // 24 + 12500, // 25 + 14060, // 26 + 15746, // 27 + 17561, // 28 + 19511, // 29 + 21600, // 30 + 23832, // 31 + 26214, // 32 + 28749, // 33 + 31443, // 34 + 34300, // 35 + 37324, // 36 + 40522, // 37 + 43897, // 38 + 47455, // 39 + 51200, // 40 + 55136, // 41 + 59270, // 42 + 63605, // 43 + 68147, // 44 + 72900, // 45 + 77868, // 46 + 83058, // 47 + 88473, // 48 + 94119, // 49 + 100000, // 50 + 106120, // 51 + 112486, // 52 + 119101, // 53 + 125971, // 54 + 133100, // 55 + 140492, // 56 + 148154, // 57 + 156089, // 58 + 164303, // 59 + 172800, // 60 + 181584, // 61 + 190662, // 62 + 200037, // 63 + 209715, // 64 + 219700, // 65 + 229996, // 66 + 240610, // 67 + 251545, // 68 + 262807, // 69 + 274400, // 70 + 286328, // 71 + 298598, // 72 + 311213, // 73 + 324179, // 74 + 337500, // 75 + 351180, // 76 + 365226, // 77 + 379641, // 78 + 394431, // 79 + 409600, // 80 + 425152, // 81 + 441094, // 82 + 457429, // 83 + 474163, // 84 + 491300, // 85 + 508844, // 86 + 526802, // 87 + 545177, // 88 + 563975, // 89 + 583200, // 90 + 602856, // 91 + 622950, // 92 + 643485, // 93 + 664467, // 94 + 685900, // 95 + 707788, // 96 + 730138, // 97 + 752953, // 98 + 776239, // 99 + 800000 // 100 + }, { // Slow + 0, // 0 + 1, // 1 + 10, // 2 + 33, // 3 + 80, // 4 + 156, // 5 + 270, // 6 + 428, // 7 + 640, // 8 + 911, // 9 + 1250, // 10 + 1663, // 11 + 2160, // 12 + 2746, // 13 + 3430, // 14 + 4218, // 15 + 5120, // 16 + 6141, // 17 + 7290, // 18 + 8573, // 19 + 10000, // 20 + 11576, // 21 + 13310, // 22 + 15208, // 23 + 17280, // 24 + 19531, // 25 + 21970, // 26 + 24603, // 27 + 27440, // 28 + 30486, // 29 + 33750, // 30 + 37238, // 31 + 40960, // 32 + 44921, // 33 + 49130, // 34 + 53593, // 35 + 58320, // 36 + 63316, // 37 + 68590, // 38 + 74148, // 39 + 80000, // 40 + 86151, // 41 + 92610, // 42 + 99383, // 43 + 106480, // 44 + 113906, // 45 + 121670, // 46 + 129778, // 47 + 138240, // 48 + 147061, // 49 + 156250, // 50 + 165813, // 51 + 175760, // 52 + 186096, // 53 + 196830, // 54 + 207968, // 55 + 219520, // 56 + 231491, // 57 + 243890, // 58 + 256723, // 59 + 270000, // 60 + 283726, // 61 + 297910, // 62 + 312558, // 63 + 327680, // 64 + 343281, // 65 + 359370, // 66 + 375953, // 67 + 393040, // 68 + 410636, // 69 + 428750, // 70 + 447388, // 71 + 466560, // 72 + 486271, // 73 + 506530, // 74 + 527343, // 75 + 548720, // 76 + 570666, // 77 + 593190, // 78 + 616298, // 79 + 640000, // 80 + 664301, // 81 + 689210, // 82 + 714733, // 83 + 740880, // 84 + 767656, // 85 + 795070, // 86 + 823128, // 87 + 851840, // 88 + 881211, // 89 + 911250, // 90 + 941963, // 91 + 973360, // 92 + 1005446, // 93 + 1038230, // 94 + 1071718, // 95 + 1105920, // 96 + 1140841, // 97 + 1176490, // 98 + 1212873, // 99 + 1250000 // 100 + }, { // Medium Fast copy 2 (unused? to-do: investigate) + 0, // 0 + 1, // 1 + 8, // 2 + 27, // 3 + 64, // 4 + 125, // 5 + 216, // 6 + 343, // 7 + 512, // 8 + 729, // 9 + 1000, // 10 + 1331, // 11 + 1728, // 12 + 2197, // 13 + 2744, // 14 + 3375, // 15 + 4096, // 16 + 4913, // 17 + 5832, // 18 + 6859, // 19 + 8000, // 20 + 9261, // 21 + 10648, // 22 + 12167, // 23 + 13824, // 24 + 15625, // 25 + 17576, // 26 + 19683, // 27 + 21952, // 28 + 24389, // 29 + 27000, // 30 + 29791, // 31 + 32768, // 32 + 35937, // 33 + 39304, // 34 + 42875, // 35 + 46656, // 36 + 50653, // 37 + 54872, // 38 + 59319, // 39 + 64000, // 40 + 68921, // 41 + 74088, // 42 + 79507, // 43 + 85184, // 44 + 91125, // 45 + 97336, // 46 + 103823, // 47 + 110592, // 48 + 117649, // 49 + 125000, // 50 + 132651, // 51 + 140608, // 52 + 148877, // 53 + 157464, // 54 + 166375, // 55 + 175616, // 56 + 185193, // 57 + 195112, // 58 + 205379, // 59 + 216000, // 60 + 226981, // 61 + 238328, // 62 + 250047, // 63 + 262144, // 64 + 274625, // 65 + 287496, // 66 + 300763, // 67 + 314432, // 68 + 328509, // 69 + 343000, // 70 + 357911, // 71 + 373248, // 72 + 389017, // 73 + 405224, // 74 + 421875, // 75 + 438976, // 76 + 456533, // 77 + 474552, // 78 + 493039, // 79 + 512000, // 80 + 531441, // 81 + 551368, // 82 + 571787, // 83 + 592704, // 84 + 614125, // 85 + 636056, // 86 + 658503, // 87 + 681472, // 88 + 704969, // 89 + 729000, // 90 + 753571, // 91 + 778688, // 92 + 804357, // 93 + 830584, // 94 + 857375, // 95 + 884736, // 96 + 912673, // 97 + 941192, // 98 + 970299, // 99 + 1000000 // 100 + }, { // Medium Fast copy 3 (unused? to-do: investigate) + 0, // 0 + 1, // 1 + 8, // 2 + 27, // 3 + 64, // 4 + 125, // 5 + 216, // 6 + 343, // 7 + 512, // 8 + 729, // 9 + 1000, // 10 + 1331, // 11 + 1728, // 12 + 2197, // 13 + 2744, // 14 + 3375, // 15 + 4096, // 16 + 4913, // 17 + 5832, // 18 + 6859, // 19 + 8000, // 20 + 9261, // 21 + 10648, // 22 + 12167, // 23 + 13824, // 24 + 15625, // 25 + 17576, // 26 + 19683, // 27 + 21952, // 28 + 24389, // 29 + 27000, // 30 + 29791, // 31 + 32768, // 32 + 35937, // 33 + 39304, // 34 + 42875, // 35 + 46656, // 36 + 50653, // 37 + 54872, // 38 + 59319, // 39 + 64000, // 40 + 68921, // 41 + 74088, // 42 + 79507, // 43 + 85184, // 44 + 91125, // 45 + 97336, // 46 + 103823, // 47 + 110592, // 48 + 117649, // 49 + 125000, // 50 + 132651, // 51 + 140608, // 52 + 148877, // 53 + 157464, // 54 + 166375, // 55 + 175616, // 56 + 185193, // 57 + 195112, // 58 + 205379, // 59 + 216000, // 60 + 226981, // 61 + 238328, // 62 + 250047, // 63 + 262144, // 64 + 274625, // 65 + 287496, // 66 + 300763, // 67 + 314432, // 68 + 328509, // 69 + 343000, // 70 + 357911, // 71 + 373248, // 72 + 389017, // 73 + 405224, // 74 + 421875, // 75 + 438976, // 76 + 456533, // 77 + 474552, // 78 + 493039, // 79 + 512000, // 80 + 531441, // 81 + 551368, // 82 + 571787, // 83 + 592704, // 84 + 614125, // 85 + 636056, // 86 + 658503, // 87 + 681472, // 88 + 704969, // 89 + 729000, // 90 + 753571, // 91 + 778688, // 92 + 804357, // 93 + 830584, // 94 + 857375, // 95 + 884736, // 96 + 912673, // 97 + 941192, // 98 + 970299, // 99 + 1000000 // 100 + } +}; -- cgit 1.4.1