Originally posted by BigBoo32Does anybody know what is needed to get a hideable hud like in super Mario 64 the green stars, where it displays which stars you have collected in each level?
this is the code i used for green stars 2.0
288E68: shows camera icon
//START (show lives)
802E3744: ADDIU SP, SP, 0xFFE8
802E3748: SW RA, 0x0014 (SP)
//CHECK
LUI V1, 0x8034
Lh S1, $AFA0 (V1)
ANDI S1, S1, $0010
Beq S1, r0, $END
NOP
//MAIN
ADDIU A1, R0, 0x00D1
ADDIU A2, V1, 0x8380
JAL 0x802d6554 ; PrintStr function
ADDIU A0, R0, 0x0016
ADDIU A1, R0, 0x00D1
ADDIU A2, V1, 0x8384
JAL 0x802d6554 ; PrintStr function
ADDIU A0, R0, 0x0026
ADDIU A1, R0, 0x00D1
LH A3, 0xB260 (V1)
ADDIU A2, V1, 0x8388
JAL 0x802d62d8 ; PrintInt function
ADDIU A0, R0, 0x0036
//END
802E3798: LW RA, 0x0014 (SP)
802E379C: ADDIU SP, SP, 0x0018
802E37A0: JR RA
802E37A4: NOP
//Disable Lakitu cam
41918: 00000000
41928: 10000019
bessere camera
//START (show coins, V1 from first function stays)
802E37A8: ADDIU SP, SP, 0xFFE8 ; NAGRA: DisplayCoins()
802E37AC: SW RA, 0x0014 (SP)
//CHECK
Lh S1, $AFA0 (V1)
ANDI S1, S1, $0010
Beq S1, r0, $END
NOP
//MAIn
ADDIU A2, V1, 0x838C
ADDIU A0, R0, 0x00A8
JAL 0x802d6554 ; PrintStr function
ADDIU A1, R0, 0x00D1
ADDIU A2, V1, 0x8390
ADDIU A0, R0, 0x00B8
JAL 0x802d6554 ; PrintStr function
ADDIU A1, R0, 0x00D1
LH A3, 0xB262 (V1)
ADDIU A2, V1, 0x8394
ADDIU A0, R0, 0x00C6
JAL 0x802d62d8 ; PrintInt function
ADDIU A1, R0, 0x00D1
//END
802E37FC: LW RA, 0x0014 (SP)
802E3800: ADDIU SP, SP, 0x0018
802E3804: JR RA
802E3808: NOP
//START (show stars)
802E380C: ADDIU SP, SP, 0xFFE0
802E3810: SW RA, 0x0014 (SP)
802E3814: SB R0, 0x001F (SP)
//CHECK
Lh S1, $AFA0 (V1)
ANDI S1, S1, $0010
Beq S1, r0, $END
NOP
//MAIN
LUI T7, 0x8033
LB T6, 0x16D4 (T7)
ADDIU AT, R0, 0x0001
BNE T6, AT, SKIP
NOP
LW T7, 0xD5D4 (T7)
ANDI T8, T7, 0x0008
BEQ T8, R0, SKIP
NOP
BEQ R0, R0, END
NOP
//SKIP 9e858
LH T9, 0xB264 (V1)
SLTI AT, T9, 0x0064
BEQ AT, R0, PRINT
NOP
ADDIU T0, R0, 0x0001
SB T0, 0x001F (SP)
//PRINT 9e870
ADDIU A2, V1, 0x8398
ADDIU A0, R0, 0x00F2
JAL 0x802d6554 ; PrintStr function
ADDIU A1, R0, 0x00D1
LB T1, 0x001F (SP)
ADDIU AT, R0, 0x0001
BNE T1, AT, 0x802E389C
NOP
ADDIU A2, V1, 0x839C
ADDIU A0, R0, 0x0102
JAL 0x802d6554 ; PrintStr function
ADDIU A1, R0, 0x00D1
LB A0, 0x001F (SP)
SLL T2, A0, 0x3
SUBU T2, T2, A0
SLL T2, T2, 0x1
OR A0, T2, R0
ADDIU A0, A0, 0x0102
LH A3, 0xB264 (V1)
ADDIU A2, V1, 0x83A0
JAL 0x802d62d8 ; PrintInt function
ADDIU A1, R0, 0x00D1
//END 9E8D4
802E38D4: LW RA, 0x0014 (SP)
802E38D8: ADDIU SP, SP, 0x0020
802E38DC: JR RA
802E38E0: NOP
//replacing 43E68 to 43f58:
//START
ADDIU SP, SP, $FFE8
SW RA, $0014 (SP)
LUI T9, $8033
LH T2, $DDF4 (T9)
//ACTIVATOR
LUI T7, $8034
LH S1, $AFA0 (T7)
LUI T0, $8033
LH T0, $B1A0 (T0)
ANDI S1, S1, $0010
BEQ R0, S1, PRINT TIMER
0
BEQ T0, S1, END
0
//SOUND
LUI A0, $701A
LUI A1, $8033
ADDIU A1, A1, $31F0
JAL $0031EB00
ORI A0, A0, $0081
//PRINT TIMER
JAL $802A6D64 <-let this line away, if you don't want the "displays stars in each level"
NOP
ADDIU A0, R0, $0102
LUI T7, $8034
LH A3, $B226 (T7)
BEQ R0, A3, END
NOP
ADDIU A2, T7, $83A0
JAL $002D62D8
ADDIU A1, R0, $0020
//PRINT "CAP TIME"
LUI A2, 0x8029
ADDIU A2, A2, 0x8F50
ADDIU A0, R0, 0x00C0
JAL 0x802D66C0
ADDIU A1, R0, 0x0020
//END 43EE8
LUI T0, $8033
SH S1, $B1A0 (T0)
LW RA, $0014 (SP)
jr ra
ADDIU SP, SP, $0018
_______________________________
file format (at bea20):
<loop x4>
File number for next 120 Bytes (2Byte)
<loop x30>
Level ID (1 Byte)
amount of stars, bitwise (80 is 7, 40 is 6,..) (1byte)
memory address subtracted by 80200000 (2 byte)
<loopend>
<loopend>
__________________________________
displays stars in each level
//PRINT AMOUNT OF STARS IN CURRENT LEVEL
ADDIU SP, SP, $FFE8
SW RA, $0014 (SP)
//GET LEVEL ID AND FILE ID
LUI T9, $8033
LH T2, $DDF4 (T9)
LH T3, $DDF8 (T9)
//GET MEMORY ADDRESS
LUI A3, $8030
ORI A2, A3, $3A20
ORI A1, A3, $3C08
//LOOP 61d84
LH T0, $0000 (A2)
BEQ T0, T2, $PRESUBLOOP
NOP
ADDIU A2, A2, $007A
BEQ R0, R0, LOOPEND
NOP
//PRESUBLOOP 61d9c
ADDIU A2, A2, $0002
//SUBLOOP 61da0
LB T0, $0000 (A2)
LH T1, $0002 (A2)
BEQ T0, T3, $PREPARATION
NOP
ADDIU A2, A2, $0004
BEQ R0, R0, $SUBLOOP
NOP
//LOOPEND 61dbc
BNE A2, A1, LOOP
NOP
//PREPARATION
LUI T6, $8020
OR T1, T1, T6
LB T1, $0000 (T1)
ADDIU V0, R0, $0001
LBU A3, $0001 (A2)
BEQ V0, A3, END
NOP
ADDIU V1, R0, $000A
LUI T8, $8040
SB V0, $0000 (T8)
SB V1, $0001 (T8)
SB T1, $0002 (T8)
//LOOP START 61Df4
LUI T8, $8040
LB V0, $0000 (T8)
LB V1, $0001 (T8)
LB T1, $0002 (T8)
ADDIU A1, R0, $0020
AND T4, T1, V0
ADDIU A0, V1, $0000
LUI A2, $8034
BEQ T4, R0, star
NOP
ADDIU A2, A2, $839c <<cross
BEQ R0, R0, loopend
NOP
ADDIU A2, A2, $8398 <<star 61E28
>>>>loopend 61E2c
JAL 0x802d6554
NOP
LUI T8, $8040
LB V0, $0000 (T8)
LB V1, $0001 (T8)
ADDIU V1, V1, $000A
SLL V0, V0, $1
LUI T8, $8040
SB V0, $0000 (T8)
SB V1, $0001 (T8)
BNE V0, A3, LOOP START
NOP
//END
LW RA, $0014 (SP)
jr ra
ADDIU SP, SP, $0018