This was all I could get. I traced Ollars, found the check for the Miser merit and couldn't figure out where the hell it stored the bit table for which merits you have. I was too lazy to properly analyze the assembly. HOWEVER, I watched a for loop carefully that occurs after what I disassembled and decided it was doing a check for which merits you've earned for a level. I tested my theory by removing a branch instruction and it turned out to be correct.
Here is what I discovered:
Code:
.org 0x020F3184
add r1, r5, #0x4000 @
ldr r1, [r1, #0xB94] @r1 = Style Bonus
ldr r2, [r4, #0x008] @r2 = Total Ollars
add r1, r1, r6 @r1 = Style Bonus + Par Bonus
add r0, r1, r0 @r0 = Time Bonus + Style Bonus + Par Bonus
add r1, r2, r0 @r1 = Total Ollars + Time Bonus + Style Bonus + Par Bonus
ldr r0, =#0x021300A0
str r1, [r4, #0x008] @Ollars += Time Bonus + Style Bonus + Par Bonus
ldr r0, [r0] @
ldr r1, =#0x000493E0
@ r1 = 300,000; this is the number of Ollars needed for the Miser merit
add r0, r0, #0x4000 @
ldr r0, [r0, #0x280] @
cmp r0, r1 @
bls 0x020F3204
ldr r1, =#0x00004633
@ r1 = 17971; huh? (Some sort of index to a table related to the miser merit)
mov r0, r5 @
bl 0x020F40DC
.org 0x020F40DC
ldr r0, =#0x21300A0
ldr r0, [r0] @
add r0, r0, r1, lsl #0x1
sub r0, r0, #0x4600 @
ldrh r0, [r0, #-0x90] @
bx lr @
.org 0x020F3240
bne 0x020F3264
All Merits (complete a level):
020F3240 00000000
Doesn't give first merit?
^ As the comments for the code say, you must beat a level to use the code, and it will give you ALL merits EXCEPT the first (and any beta merits not on the menu, of course).
Edit:
"HAXXOR": "Write 5 or more developers". <- fucking lol
Page 4, first row, 3rd column: "PI": "Earn 314 Ollars in a single level." <- Confirmed.
What is this? "SERIES OF TUBES": "Go here: scribblenauts.com/nauts"