1
1
// SPDX-License-Identifier: AGPL-3.0-or-later
2
2
#include "no2.h"
3
3
4
- // already in e_init.c
5
- extern EInit D_us_80180844 [];
6
- // st/no2/data/34DA4.rodata.s
7
- extern RECT D_us_801B2E20 ;
8
-
9
4
void func_us_801B4DA4 (Entity * self ) {
10
5
DRAWENV draw ;
11
- RECT rect ;
12
6
DR_ENV * dr_env ;
13
7
Primitive * prim ;
14
8
s32 i ;
15
9
s32 primIndex ;
16
10
u8 flag ;
17
11
18
- rect = D_us_801B2E20 ;
12
+ RECT rect = {.x = 0 , .y = 256 , .w = 80 , .h = 192 };
13
+
19
14
switch (self -> step ) {
20
15
case 0 :
21
16
InitializeEntity (D_us_80180844 );
@@ -74,7 +69,11 @@ void func_us_801B4DA4(Entity* self) {
74
69
prim = self -> ext .prim ;
75
70
for (i = 2 ; i >= 0 ; i -- ) {
76
71
prim -> type = PRIM_GT4 ;
72
+ #ifdef VERSION_PSP
73
+ prim -> tpage = 0x1110 ;
74
+ #else
77
75
prim -> tpage = 0x110 ;
76
+ #endif
78
77
prim -> u0 = prim -> u2 = 0 ;
79
78
prim -> u1 = prim -> u3 = prim -> u0 + 0x28 ;
80
79
prim -> v0 = prim -> v1 = 0 ;
@@ -96,7 +95,11 @@ void func_us_801B4DA4(Entity* self) {
96
95
prim = prim -> next ;
97
96
}
98
97
prim -> type = PRIM_GT4 ;
98
+ #ifdef VERSION_PSP
99
+ prim -> tpage = 0x101A ;
100
+ #else
99
101
prim -> tpage = 0x1A ;
102
+ #endif
100
103
prim -> clut = 0x15F ;
101
104
prim -> u0 = prim -> u2 = 0x10 ;
102
105
prim -> u1 = prim -> u3 = 0x20 ;
@@ -116,7 +119,11 @@ void func_us_801B4DA4(Entity* self) {
116
119
prim -> drawMode = DRAW_UNK_40 | DRAW_TPAGE | DRAW_COLORS | DRAW_TRANSP ;
117
120
prim = prim -> next ;
118
121
prim -> type = PRIM_GT4 ;
119
- prim -> tpage = (flag ) ? 0x104 : 0x100 ;
122
+ #ifdef VERSION_PSP
123
+ prim -> tpage = 0x104 ;
124
+ #else
125
+ prim -> tpage = flag ? 0x104 : 0x100 ;
126
+ #endif
120
127
prim -> u0 = prim -> u2 = 0x8B ;
121
128
prim -> u1 = prim -> u3 = 0xB3 ;
122
129
prim -> v0 = prim -> v1 = 0x37 ;
@@ -129,7 +136,11 @@ void func_us_801B4DA4(Entity* self) {
129
136
prim -> drawMode = DRAW_DEFAULT ;
130
137
prim = prim -> next ;
131
138
prim -> type = PRIM_GT4 ;
139
+ #ifdef VERSION_PSP
140
+ prim -> tpage = 0x1110 ;
141
+ #else
132
142
prim -> tpage = 0x110 ;
143
+ #endif
133
144
prim -> u0 = prim -> u2 = 4 ;
134
145
prim -> u1 = prim -> u3 = 0x4C ;
135
146
prim -> v0 = prim -> v1 = 0x44 ;
@@ -138,9 +149,15 @@ void func_us_801B4DA4(Entity* self) {
138
149
prim -> x1 = prim -> x3 = 0xC3 ;
139
150
prim -> y0 = prim -> y1 = 0x27 ;
140
151
prim -> y2 = prim -> y3 = 0x6F ;
152
+ #ifdef VERSION_PSP
153
+ prim -> r0 = 0x20 ;
154
+ prim -> g0 = 0x10 ;
155
+ prim -> b0 = 0x20 ;
156
+ #else
141
157
prim -> r0 = 0x10 ;
142
158
prim -> g0 = 0x8 ;
143
159
prim -> b0 = 0x10 ;
160
+ #endif
144
161
LOW (prim -> r1 ) = LOW (prim -> r0 );
145
162
LOW (prim -> r2 ) = LOW (prim -> r0 );
146
163
LOW (prim -> r3 ) = LOW (prim -> r0 );
@@ -150,17 +167,3 @@ void func_us_801B4DA4(Entity* self) {
150
167
return ;
151
168
}
152
169
}
153
-
154
- INCLUDE_ASM ("st/no2/nonmatchings/34DA4" , func_us_801B52B4 );
155
-
156
- INCLUDE_ASM ("st/no2/nonmatchings/34DA4" , func_us_801B5368 );
157
-
158
- INCLUDE_ASM ("st/no2/nonmatchings/34DA4" , func_us_801B5578 );
159
-
160
- INCLUDE_ASM ("st/no2/nonmatchings/34DA4" , func_us_801B56A4 );
161
-
162
- INCLUDE_ASM ("st/no2/nonmatchings/34DA4" , func_us_801B5750 );
163
-
164
- INCLUDE_ASM ("st/no2/nonmatchings/34DA4" , func_us_801B5948 );
165
-
166
- INCLUDE_RODATA ("st/no2/nonmatchings/34DA4" , D_us_801B2E20 );
0 commit comments