MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / HIPLBlockEnter

Function HIPLBlockEnter

src/SB/Core/x/xhipio.cpp:181–219  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179}
180
181static U32 HIPLBlockEnter(st_HIPLOADDATA* lddata)
182{
183 st_HIPLOADBLOCK* top;
184 U32 cid = 0;
185 S32 size = 0;
186
187 if (lddata->bypass)
188 {
189 return 0;
190 }
191
192 if (lddata->top >= 0 && lddata->stk[lddata->top].blk_remain <= 0)
193 {
194 return 0;
195 }
196
197 if (HIPLReadLongs(lddata, (S32*)&cid, -1) == 0)
198 {
199 cid = 0;
200 }
201 else
202 {
203 HIPLReadLongs(lddata, &size, -1);
204
205 if (lddata->top >= 0)
206 {
207 lddata->stk[lddata->top].blk_remain -= size;
208 }
209
210 top = &lddata->stk[++lddata->top];
211
212 top->blk_id = cid;
213 top->blk_remain = size;
214 top->endpos = lddata->pos + top->blk_remain + (top->blk_remain & 1);
215 top->flags = 0;
216 }
217
218 return cid;
219}
220
221static void HIPLBlockExit(st_HIPLOADDATA* lddata)
222{

Callers

nothing calls this directly

Calls 1

HIPLReadLongsFunction · 0.70

Tested by

no test coverage detected