You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
F3DLX2.Rej integration
The master displaylist has been split into two, one for things to render in F3DZEX, and one that renders in F3DLX2.Rej, with the aim to save performance when rendering smaller things.
This commit is contained in:
@@ -242,6 +242,8 @@
|
||||
#define BEGIN_REPEAT_UNUSED(count) \
|
||||
BC_BB(0x26, count)
|
||||
|
||||
#define OR_LONG(field, value) LOAD_ANIMATIONS(field, value)
|
||||
|
||||
// Loads the animations for the object. <field> is always set to oAnimations.
|
||||
#define LOAD_ANIMATIONS(field, anims) \
|
||||
BC_BB(0x27, field), \
|
||||
@@ -2657,7 +2659,7 @@ const BehaviorScript bhvBowserSubDoor[] = {
|
||||
|
||||
const BehaviorScript bhvBowsersSub[] = {
|
||||
BEGIN(OBJ_LIST_SURFACE),
|
||||
OR_INT(oFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
||||
OR_LONG(oFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
|
||||
SET_FLOAT(oDrawingDistance, 20000),
|
||||
SET_FLOAT(oCollisionDistance, 20000),
|
||||
LOAD_COLLISION_DATA(ddd_seg7_collision_submarine),
|
||||
@@ -2705,7 +2707,7 @@ const BehaviorScript bhvJrbSlidingBox[] = {
|
||||
|
||||
const BehaviorScript bhvShipPart3[] = {
|
||||
BEGIN(OBJ_LIST_DEFAULT),
|
||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
||||
OR_LONG(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE),
|
||||
SET_HOME(),
|
||||
BEGIN_LOOP(),
|
||||
CALL_NATIVE(bhv_ship_part_3_loop),
|
||||
@@ -2714,7 +2716,7 @@ const BehaviorScript bhvShipPart3[] = {
|
||||
|
||||
const BehaviorScript bhvInSunkenShip3[] = {
|
||||
BEGIN(OBJ_LIST_SURFACE),
|
||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
||||
OR_LONG(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE),
|
||||
LOAD_COLLISION_DATA(jrb_seg7_collision_in_sunken_ship_3),
|
||||
SET_HOME(),
|
||||
SET_FLOAT(oCollisionDistance, 4000),
|
||||
@@ -2726,7 +2728,7 @@ const BehaviorScript bhvInSunkenShip3[] = {
|
||||
|
||||
const BehaviorScript bhvSunkenShipPart[] = {
|
||||
BEGIN(OBJ_LIST_DEFAULT),
|
||||
OR_INT(oFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
||||
OR_LONG(oFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
|
||||
SCALE(/*Unused*/ 0, /*Field*/ 50),
|
||||
SET_HOME(),
|
||||
BEGIN_LOOP(),
|
||||
@@ -2743,7 +2745,7 @@ const BehaviorScript bhvSunkenShipSetRotation[] = {
|
||||
|
||||
const BehaviorScript bhvSunkenShipPart2[] = {
|
||||
BEGIN(OBJ_LIST_DEFAULT),
|
||||
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
||||
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
|
||||
SCALE(/*Unused*/ 0, /*Field*/ 100),
|
||||
SET_FLOAT(oDrawingDistance, 6000),
|
||||
SET_HOME(),
|
||||
@@ -2761,7 +2763,7 @@ const BehaviorScript bhvInSunkenShip2[] = {
|
||||
BEGIN(OBJ_LIST_SURFACE),
|
||||
LOAD_COLLISION_DATA(jrb_seg7_collision_in_sunken_ship_2),
|
||||
// Sunken ship - common:
|
||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
||||
OR_LONG(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE),
|
||||
SET_FLOAT(oCollisionDistance, 4000),
|
||||
CALL(bhvSunkenShipSetRotation),
|
||||
BEGIN_LOOP(),
|
||||
@@ -3152,7 +3154,7 @@ UNUSED static const BehaviorScript unused_1[] = {
|
||||
|
||||
const BehaviorScript bhvStaticObject[] = {
|
||||
BEGIN(OBJ_LIST_DEFAULT),
|
||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
||||
OR_LONG(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE),
|
||||
BREAK(),
|
||||
};
|
||||
|
||||
@@ -3611,7 +3613,7 @@ const BehaviorScript bhvRandomAnimatedTexture[] = {
|
||||
|
||||
const BehaviorScript bhvYellowBackgroundInMenu[] = {
|
||||
BEGIN(OBJ_LIST_LEVEL),
|
||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
||||
OR_LONG(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE),
|
||||
CALL_NATIVE(beh_yellow_background_menu_init),
|
||||
BEGIN_LOOP(),
|
||||
SET_INT(oIntangibleTimer, 0),
|
||||
@@ -3631,7 +3633,7 @@ const BehaviorScript bhvMenuButton[] = {
|
||||
|
||||
const BehaviorScript bhvMenuButtonManager[] = {
|
||||
BEGIN(OBJ_LIST_LEVEL),
|
||||
OR_INT(oFlags, (OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM | OBJ_FLAG_UPDATE_TRANSFORM_FOR_THROW_MATRIX | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
||||
OR_LONG(oFlags, (OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM | OBJ_FLAG_UPDATE_TRANSFORM_FOR_THROW_MATRIX | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
|
||||
CALL_NATIVE(bhv_menu_button_manager_init),
|
||||
BEGIN_LOOP(),
|
||||
SET_INT(oIntangibleTimer, 0),
|
||||
@@ -5461,7 +5463,7 @@ const BehaviorScript bhvTTCRotatingSolid[] = {
|
||||
const BehaviorScript bhvTTCPendulum[] = {
|
||||
BEGIN(OBJ_LIST_SURFACE),
|
||||
LOAD_COLLISION_DATA(ttc_seg7_collision_clock_pendulum),
|
||||
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
||||
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
|
||||
SET_FLOAT(oCollisionDistance, 1500),
|
||||
CALL_NATIVE(bhv_ttc_pendulum_init),
|
||||
SET_FLOAT(oTTCPendulumAccelDir, 1),
|
||||
@@ -5474,9 +5476,9 @@ const BehaviorScript bhvTTCPendulum[] = {
|
||||
const BehaviorScript bhvTTCTreadmill[] = {
|
||||
BEGIN(OBJ_LIST_SURFACE),
|
||||
#ifdef PLATFORM_DISPLACEMENT_2
|
||||
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_VELOCITY_PLATFORM)),
|
||||
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_VELOCITY_PLATFORM | OBJ_FLAG_UCODE_LARGE)),
|
||||
#else
|
||||
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
||||
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
|
||||
#endif
|
||||
SET_FLOAT(oCollisionDistance, 750),
|
||||
CALL_NATIVE(bhv_ttc_treadmill_init),
|
||||
|
||||
Reference in New Issue
Block a user