summaryrefslogtreecommitdiff
path: root/asm/name_string_util.s
blob: 3fcfd89d9fb94365351dfdff06903efcae350547 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
	.include "constants/gba_constants.inc"
	.include "constants/species_constants.inc"
	.include "asm/macros.inc"

	.syntax unified

	.text

	thumb_func_start PadNameString
PadNameString: @ 814A518
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r1, 24
	lsrs r5, r1, 24
	bl StripExtCtrlCodes
	adds r0, r4, 0
	bl StringLength
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r5, 0xFC
	bne _0814A556
	cmp r1, 0x5
	bhi _0814A55A
	movs r3, 0xFC
	movs r2, 0x7
_0814A53A:
	adds r0, r4, r1
	strb r3, [r0]
	strb r2, [r0, 0x1]
	adds r0, r1, 0x2
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r1, 0x5
	bls _0814A53A
	b _0814A55A
_0814A54C:
	adds r0, r4, r1
	strb r5, [r0]
	adds r0, r1, 0x1
	lsls r0, 24
	lsrs r1, r0, 24
_0814A556:
	cmp r1, 0x5
	bls _0814A54C
_0814A55A:
	adds r1, r4, r1
	movs r0, 0xFF
	strb r0, [r1]
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end PadNameString

	thumb_func_start SanitizeNameString
SanitizeNameString: @ 814A568
	push {r4,lr}
	adds r4, r0, 0
	bl StringLength
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x5
	bhi _0814A582
	adds r0, r4, 0
	movs r1, 0x1
	bl ConvertInternationalString
	b _0814A588
_0814A582:
	adds r0, r4, 0
	bl StripExtCtrlCodes
_0814A588:
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end SanitizeNameString

	.align 2, 0 @ Don't pad with nop.