Reimpl star emitter (#180)

* Reimpl star emitter

* Remove OObject Lists

* wip mole reimpl

* nearly fix moles

* Cleanup

* Update reimpl seagull

* Rework finishline to auto spawn and not to run in credits

* Fix train crossing direction in extra mode

* Clarification

* micro optimization

* update mole

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
This commit is contained in:
MegaMech
2025-02-07 14:36:55 -07:00
committed by GitHub
parent 6f8cbc0279
commit fc1e1a9782
67 changed files with 931 additions and 964 deletions
+8 -9
View File
@@ -26,7 +26,9 @@ OTrashBin::OTrashBin(const FVector& pos, const FRotation& rotation, f32 scale, O
_scale = scale;
_bhv = bhv;
init_object(indexObjectList1[1], 0);
find_unused_obj_index(&_objectIndex);
init_object(_objectIndex, 0);
if (GetCourse() != GetBansheeBoardwalk()) {
_drawBin = true;
@@ -34,26 +36,23 @@ OTrashBin::OTrashBin(const FVector& pos, const FRotation& rotation, f32 scale, O
}
void OTrashBin::Tick() {
s32 objectIndex = indexObjectList1[1];
OTrashBin::func_8007E00C(objectIndex);
OTrashBin::func_8007E00C(_objectIndex);
switch(_bhv) {
case STATIC:
break;
case MUNCHING:
func_8007DDC0(objectIndex);
func_8007DDC0(_objectIndex);
break;
}
}
void OTrashBin::Draw(s32 cameraId) {
s32 objectIndex;
Object* object;
objectIndex = indexObjectList1[1];
func_8008A364(objectIndex, cameraId, 0x5555U, 0x00000320);
if (is_obj_flag_status_active(objectIndex, VISIBLE) != 0) {
object = &gObjectList[objectIndex];
func_8008A364(_objectIndex, cameraId, 0x5555U, 0x00000320);
if (is_obj_flag_status_active(_objectIndex, VISIBLE) != 0) {
object = &gObjectList[_objectIndex];
if (object->state >= 2) {
func_80043220(object->pos, object->orientation, object->sizeScaling, object->model);
}