| 41 | } // namespace |
| 42 | |
| 43 | void xSceneInit(xScene* sc, U16 num_trigs, U16 num_stats, U16 num_dyns, U16 num_npcs) |
| 44 | { |
| 45 | sc->flags = 0; |
| 46 | sc->num_trigs_allocd = num_trigs; |
| 47 | sc->trigs = (xEnt**)xMemAllocSize(num_trigs * sizeof(xEnt*)); |
| 48 | sc->num_stats_allocd = num_stats; |
| 49 | sc->stats = (xEnt**)xMemAllocSize(num_stats * sizeof(xEnt*)); |
| 50 | sc->num_dyns_allocd = num_dyns; |
| 51 | sc->dyns = (xEnt**)xMemAllocSize(num_dyns * sizeof(xEnt*)); |
| 52 | sc->num_npcs_allocd = num_npcs; |
| 53 | sc->npcs = (xEnt**)xMemAllocSize(num_npcs * sizeof(xEnt*)); |
| 54 | sc->num_ents_allocd = (U32)num_trigs + (U32)num_stats + (U32)num_dyns + (U32)num_npcs; |
| 55 | sc->num_act_ents = 0; |
| 56 | sc->act_ents = (xEnt**)xMemAllocSize(sc->num_ents_allocd * sizeof(xEnt*)); |
| 57 | sc->num_nact_ents = 0; |
| 58 | sc->nact_ents = (xEnt**)xMemAllocSize(sc->num_ents_allocd * sizeof(xEnt*)); |
| 59 | sc->num_ents = 0; |
| 60 | sc->num_trigs = 0; |
| 61 | sc->num_stats = 0; |
| 62 | sc->num_dyns = 0; |
| 63 | sc->num_npcs = 0; |
| 64 | sc->resolvID = NULL; |
| 65 | |
| 66 | xAnimInit(); |
| 67 | xModelInit(); |
| 68 | xAnimPoolInit(&sc->mempool, 50, 1, 0x1, 4); |
| 69 | xModelPoolInit(49, 64); |
| 70 | xModelPoolInit(74, 8); |
| 71 | xModelPoolInit(164, 1); |
| 72 | xAnimTempTransitionInit(16); |
| 73 | xCollideInit(sc); |
| 74 | xCollideFastInit(sc); |
| 75 | } |
| 76 | |
| 77 | void xSceneExit(xScene* sc) |
| 78 | { |
no test coverage detected