Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MMBN RNG carryover glitch
- On two successive RNG calls, the second rng.next(x) preserves lower ffs(x) bits from previous result or is a known value.
- ffs(x) = find first set; index of lowest bit set to 1
- Affected:
- - MMBN4 (battle selection, GMD contents)
- - MMBN5 (GMD contents, more?)
- Not known to be affected:
- - MMBN6 (successive RNG calls usually flush leftover bits first)
- 00-01 -> 00-0F: skews
- 00 -> 0, 2, 3, 3, 4, 6, 7, 7, 8, A, B, B, C, E, F, F
- 01 -> 0, 1, 1, 2, 4, 5, 5, 6, 8, 9, 9, A, C, D, D, E
- 00-7F -> 00-FF: partitions in 4
- 00-1F -> A5, C0-E4, E6-FF
- 20-3F -> 65, 80-A4, A6-BF
- 40-5F -> 25, 40-64, 66-7F
- 60-7F -> E5, 00-24, 26-3F
- 00-7F -> 00-7F: partitions into 2
- 00-1F -> 25, 40-64, 66-7F
- 20-3F -> 65, 00-24, 26-3F
- 40-5F -> 25, 40-64, 66-7F
- 60-7F -> 65, 00-24, 26-3F
- 00-3F -> 00-FF: partitions into 2
- 00-1F -> 25, A5, 40-64, 66-7F, C0-E4, E6-FF
- 20-3F -> 65, E5, 00-24, 26-3F, 80-A4, A6-BF
- Conversion table for 00-7F -> 00-FF:
- << 1 | 0,1 + 1 ^ E5
- ---------------------------------
- 00 -> 00 -> 00 -> 01 -> E4
- -> 01 -> 02 -> E7
- 01 -> 02 -> 02 -> 03 -> E6
- -> 03 -> 04 -> E1
- 02 -> 04 -> 04 -> 05 -> E0
- -> 05 -> 06 -> E3
- 03 -> 06 -> 06 -> 07 -> E2
- -> 07 -> 08 -> ED
- 04 -> 08 -> 08 -> 09 -> EC
- -> 09 -> 0A -> EF
- 05 -> 0A -> 0A -> 0B -> EE
- -> 0B -> 0C -> E9
- 06 -> 0C -> 0C -> 0D -> E8
- -> 0D -> 0E -> EB
- 07 -> 0E -> 0E -> 0F -> EA
- -> 0F -> 10 -> F5
- 08 -> 10 -> 10 -> 11 -> F4
- -> 11 -> 12 -> F7
- 09 -> 12 -> 12 -> 13 -> F6
- -> 13 -> 14 -> F1
- 0A -> 14 -> 14 -> 15 -> F0
- -> 15 -> 16 -> F3
- 0B -> 16 -> 16 -> 17 -> F2
- -> 17 -> 18 -> FD
- 0C -> 18 -> 18 -> 19 -> FC
- -> 19 -> 1A -> FF
- 0D -> 1A -> 1A -> 1B -> FE
- -> 1B -> 1C -> F9
- 0E -> 1C -> 1C -> 1D -> F8
- -> 1D -> 1E -> FB
- 0F -> 1E -> 1E -> 1F -> FA
- -> 1F -> 20 -> C5
- 10 -> 20 -> 20 -> 21 -> C4
- -> 21 -> 22 -> C7
- 11 -> 22 -> 22 -> 23 -> C6
- -> 23 -> 24 -> C1
- 12 -> 24 -> 24 -> 25 -> C0
- -> 25 -> 26 -> C3
- 13 -> 26 -> 26 -> 27 -> C2
- -> 27 -> 28 -> CD
- 14 -> 28 -> 28 -> 29 -> CC
- -> 29 -> 2A -> CF
- 15 -> 2A -> 2A -> 2B -> CE
- -> 2B -> 2C -> C9
- 16 -> 2C -> 2C -> 2D -> C8
- -> 2D -> 2E -> CB
- 17 -> 2E -> 2E -> 2F -> CA
- -> 2F -> 30 -> D5
- 18 -> 30 -> 30 -> 31 -> D4
- -> 31 -> 32 -> D7
- 19 -> 32 -> 32 -> 33 -> D6
- -> 33 -> 34 -> D1
- 1A -> 34 -> 34 -> 35 -> D0
- -> 35 -> 36 -> D3
- 1B -> 36 -> 36 -> 37 -> D2
- -> 37 -> 38 -> DD
- 1C -> 38 -> 38 -> 39 -> DC
- -> 39 -> 3A -> DF
- 1D -> 3A -> 3A -> 3B -> DE
- -> 3B -> 3C -> D9
- 1E -> 3C -> 3C -> 3D -> D8
- -> 3D -> 3E -> DB
- 1F -> 3E -> 3E -> 3F -> DA
- -> 3F -> 40 -> A5
- ---------------------------------
- 20 -> 40 -> 40 -> 41 -> A4
- -> 41 -> 42 -> A7
- 21 -> 42 -> 42 -> 43 -> A6
- -> 43 -> 44 -> A1
- 22 -> 44 -> 44 -> 45 -> A0
- -> 45 -> 46 -> A3
- 23 -> 46 -> 46 -> 47 -> A2
- -> 47 -> 48 -> AD
- 24 -> 48 -> 48 -> 49 -> AC
- -> 49 -> 4A -> AF
- 25 -> 4A -> 4A -> 4B -> AE
- -> 4B -> 4C -> A9
- 26 -> 4C -> 4C -> 4D -> A8
- -> 4D -> 4E -> AB
- 27 -> 4E -> 4E -> 4F -> AA
- -> 4F -> 50 -> B5
- 28 -> 50 -> 50 -> 51 -> B4
- -> 51 -> 52 -> B7
- 29 -> 52 -> 52 -> 53 -> B6
- -> 53 -> 54 -> B1
- 2A -> 54 -> 54 -> 55 -> B0
- -> 55 -> 56 -> B3
- 2B -> 56 -> 56 -> 57 -> B2
- -> 57 -> 58 -> BD
- 2C -> 58 -> 58 -> 59 -> BC
- -> 59 -> 5A -> BF
- 2D -> 5A -> 5A -> 5B -> BE
- -> 5B -> 5C -> B9
- 2E -> 5C -> 5C -> 5D -> B8
- -> 5D -> 5E -> BB
- 2F -> 5E -> 5E -> 5F -> BA
- -> 5F -> 60 -> 85
- 30 -> 60 -> 60 -> 61 -> 84
- -> 61 -> 62 -> 87
- 31 -> 62 -> 62 -> 63 -> 86
- -> 63 -> 64 -> 81
- 32 -> 64 -> 64 -> 65 -> 80
- -> 65 -> 66 -> 83
- 33 -> 66 -> 66 -> 67 -> 82
- -> 67 -> 68 -> 8D
- 34 -> 68 -> 68 -> 69 -> 8C
- -> 69 -> 6A -> 8F
- 35 -> 6A -> 6A -> 6B -> 8E
- -> 6B -> 6C -> 89
- 36 -> 6C -> 6C -> 6D -> 88
- -> 6D -> 6E -> 8B
- 37 -> 6E -> 6E -> 6F -> 8A
- -> 6F -> 70 -> 95
- 38 -> 70 -> 70 -> 71 -> 94
- -> 71 -> 72 -> 97
- 39 -> 72 -> 72 -> 73 -> 96
- -> 73 -> 74 -> 91
- 3A -> 74 -> 74 -> 75 -> 90
- -> 75 -> 76 -> 93
- 3B -> 76 -> 76 -> 77 -> 92
- -> 77 -> 78 -> 9D
- 3C -> 78 -> 78 -> 79 -> 9C
- -> 79 -> 7A -> 9F
- 3D -> 7A -> 7A -> 7B -> 9E
- -> 7B -> 7C -> 99
- 3E -> 7C -> 7C -> 7D -> 98
- -> 7D -> 7E -> 9B
- 3F -> 7E -> 7E -> 7F -> 9A
- -> 7F -> 80 -> 65
- ---------------------------------
- 40 -> 80 -> 80 -> 81 -> 64
- -> 81 -> 82 -> 67
- 41 -> 82 -> 82 -> 83 -> 66
- -> 83 -> 84 -> 61
- 42 -> 84 -> 84 -> 85 -> 60
- -> 85 -> 86 -> 63
- 43 -> 86 -> 86 -> 87 -> 62
- -> 87 -> 88 -> 6D
- 44 -> 88 -> 88 -> 89 -> 6C
- -> 89 -> 8A -> 6F
- 45 -> 8A -> 8A -> 8B -> 6E
- -> 8B -> 8C -> 69
- 46 -> 8C -> 8C -> 8D -> 68
- -> 8D -> 8E -> 6B
- 47 -> 8E -> 8E -> 8F -> 6A
- -> 8F -> 90 -> 75
- 48 -> 90 -> 90 -> 91 -> 74
- -> 91 -> 92 -> 77
- 49 -> 92 -> 92 -> 93 -> 76
- -> 93 -> 94 -> 71
- 4A -> 94 -> 94 -> 95 -> 70
- -> 95 -> 96 -> 73
- 4B -> 96 -> 96 -> 97 -> 72
- -> 97 -> 98 -> 7D
- 4C -> 98 -> 98 -> 99 -> 7C
- -> 99 -> 9A -> 7F
- 4D -> 9A -> 9A -> 9B -> 7E
- -> 9B -> 9C -> 79
- 4E -> 9C -> 9C -> 9D -> 78
- -> 9D -> 9E -> 7B
- 4F -> 9E -> 9E -> 9F -> 7A
- -> 9F -> A0 -> 45
- 50 -> A0 -> A0 -> A1 -> 44
- -> A1 -> A2 -> 47
- 51 -> A2 -> A2 -> A3 -> 46
- -> A3 -> A4 -> 41
- 52 -> A4 -> A4 -> A5 -> 40
- -> A5 -> A6 -> 43
- 53 -> A6 -> A6 -> A7 -> 42
- -> A7 -> A8 -> 4D
- 54 -> A8 -> A8 -> A9 -> 4C
- -> A9 -> AA -> 4F
- 55 -> AA -> AA -> AB -> 4E
- -> AB -> AC -> 49
- 56 -> AC -> AC -> AD -> 48
- -> AD -> AE -> 4B
- 57 -> AE -> AE -> AF -> 4A
- -> AF -> B0 -> 55
- 58 -> B0 -> B0 -> B1 -> 54
- -> B1 -> B2 -> 57
- 59 -> B2 -> B2 -> B3 -> 56
- -> B3 -> B4 -> 51
- 5A -> B4 -> B4 -> B5 -> 50
- -> B5 -> B6 -> 53
- 5B -> B6 -> B6 -> B7 -> 52
- -> B7 -> B8 -> 5D
- 5C -> B8 -> B8 -> B9 -> 5C
- -> B9 -> BA -> 5F
- 5D -> BA -> BA -> BB -> 5E
- -> BB -> BC -> 59
- 5E -> BC -> BC -> BD -> 58
- -> BD -> BE -> 5B
- 5F -> BE -> BE -> BF -> 5A
- -> BF -> C0 -> 25
- ---------------------------------
- 60 -> C0 -> C0 -> C1 -> 24
- -> C1 -> C2 -> 27
- 61 -> C2 -> C2 -> C3 -> 26
- -> C3 -> C4 -> 21
- 62 -> C4 -> C4 -> C5 -> 20
- -> C5 -> C6 -> 23
- 63 -> C6 -> C6 -> C7 -> 22
- -> C7 -> C8 -> 2D
- 64 -> C8 -> C8 -> C9 -> 2C
- -> C9 -> CA -> 2F
- 65 -> CA -> CA -> CB -> 2E
- -> CB -> CC -> 29
- 66 -> CC -> CC -> CD -> 28
- -> CD -> CE -> 2B
- 67 -> CE -> CE -> CF -> 2A
- -> CF -> D0 -> 35
- 68 -> D0 -> D0 -> D1 -> 34
- -> D1 -> D2 -> 37
- 69 -> D2 -> D2 -> D3 -> 36
- -> D3 -> D4 -> 31
- 6A -> D4 -> D4 -> D5 -> 30
- -> D5 -> D6 -> 33
- 6B -> D6 -> D6 -> D7 -> 32
- -> D7 -> D8 -> 3D
- 6C -> D8 -> D8 -> D9 -> 3C
- -> D9 -> DA -> 3F
- 6D -> DA -> DA -> DB -> 3E
- -> DB -> DC -> 39
- 6E -> DC -> DC -> DD -> 38
- -> DD -> DE -> 3B
- 6F -> DE -> DE -> DF -> 3A
- -> DF -> E0 -> 05
- 70 -> E0 -> E0 -> E1 -> 04
- -> E1 -> E2 -> 07
- 71 -> E2 -> E2 -> E3 -> 06
- -> E3 -> E4 -> 01
- 72 -> E4 -> E4 -> E5 -> 00
- -> E5 -> E6 -> 03
- 73 -> E6 -> E6 -> E7 -> 02
- -> E7 -> E8 -> 0D
- 74 -> E8 -> E8 -> E9 -> 0C
- -> E9 -> EA -> 0F
- 75 -> EA -> EA -> EB -> 0E
- -> EB -> EC -> 09
- 76 -> EC -> EC -> ED -> 08
- -> ED -> EE -> 0B
- 77 -> EE -> EE -> EF -> 0A
- -> EF -> F0 -> 15
- 78 -> F0 -> F0 -> F1 -> 14
- -> F1 -> F2 -> 17
- 79 -> F2 -> F2 -> F3 -> 16
- -> F3 -> F4 -> 11
- 7A -> F4 -> F4 -> F5 -> 10
- -> F5 -> F6 -> 13
- 7B -> F6 -> F6 -> F7 -> 12
- -> F7 -> F8 -> 1D
- 7C -> F8 -> F8 -> F9 -> 1C
- -> F9 -> FA -> 1F
- 7D -> FA -> FA -> FB -> 1E
- -> FB -> FC -> 19
- 7E -> FC -> FC -> FD -> 18
- -> FD -> FE -> 1B
- 7F -> FE -> FE -> FF -> 1A
- -> FF -> 00 -> E5
- ---------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement