CCCPaste

Racing Squawks Code (For US Final)

void CavesSquawksCode(void) {
	short *paad2 = CurrentActorPointer_0->paad2;
	actorData *parent = CurrentActorPointer_0->parent;
	initCharSpawnerActor();
	if ((CurrentActorPointer_0->obj_props_bitfield & 0x10) == 0) {
		modifyCharSpawnerAttributes(0x23D, 0x23D, 0x23E);
		CurrentActorPointer_0->control_state = 2;
		ActorPaad->counter = 0x10;
		*paad2 = 0x78;
		spawnTimer(0xDC, 0x2A, 0x64);
		parent = CurrentActorPointer_0->parent;
		parent->control_state = 2;
		parent->control_state_progress = 0;
		parent->shadow_intensity = 255;
		TiedCharacterSpawner->unk_46 |= 0x24;
		setHUDItemAsInfinite(ITEMID_CRYSTALS, 0, 1);
	}
	if (parent) {
		if (parent->control_state == 5) {
			CurrentActorPointer_0->control_state = 0x23;
			CurrentActorPointer_0->control_state_progress = 0;
		}
	}
	if (CurrentActorPointer_0->control_state == 0x23) {
		CurrentActorPointer_0->control_state = 0x37;
		setHUDItemAsInfinite(ITEMID_CRYSTALS, 0, 0);
		deleteActorContainer(CurrentActorPointer_0->parent);
	}
	int state = ringRaceHandle(0x78, 0x10);
	if ((state == 1) || (state == 2))  {
		if (parent) {
			parent->control_state = 0;
		}
		CurrentActorPointer_0->control_state = 0x23;
		CurrentActorPointer_0->control_state_progress = 0;
	}
}