Small order fix

This commit is contained in:
Fazana
2021-09-15 15:05:44 +01:00
parent 35c5adafbe
commit a40cf7f7ef
3 changed files with 34 additions and 29 deletions

View File

@@ -2003,7 +2003,7 @@ const BehaviorScript bhvBowserFlameSpawn[] = {
const BehaviorScript bhvTiltingBowserLavaPlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(bowser_2_seg7_collision_tilting_platform),
SET_FLOAT(oDrawingDistance, 20000),
SET_FLOAT(oCollisionDistance, 20000),
@@ -2017,7 +2017,7 @@ const BehaviorScript bhvTiltingBowserLavaPlatform[] = {
const BehaviorScript bhvFallingBowserPlatform[] = {
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),
SET_FLOAT(oDrawingDistance, 20000),
SET_FLOAT(oCollisionDistance, 20000),
SET_HOME(),
@@ -2190,7 +2190,7 @@ const BehaviorScript bhvWaterLevelPillar[] = {
const BehaviorScript bhvDddWarp[] = {
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),
SET_FLOAT(oCollisionDistance, 30000),
BEGIN_LOOP(),
CALL_NATIVE(bhv_ddd_warp_loop),
@@ -4246,7 +4246,7 @@ const BehaviorScript bhvLllDrawbridge[] = {
const BehaviorScript bhvSmallBomp[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(wf_seg7_collision_small_bomp),
CALL_NATIVE(bhv_small_bomp_init),
BEGIN_LOOP(),
@@ -4257,7 +4257,7 @@ const BehaviorScript bhvSmallBomp[] = {
const BehaviorScript bhvLargeBomp[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(wf_seg7_collision_large_bomp),
CALL_NATIVE(bhv_large_bomp_init),
BEGIN_LOOP(),
@@ -4367,7 +4367,7 @@ const BehaviorScript bhvThiBowlingBallSpawner[] = {
const BehaviorScript bhvRrCruiserWing[] = {
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),
CALL_NATIVE(bhv_rr_cruiser_wing_init),
BEGIN_LOOP(),
CALL_NATIVE(bhv_rr_cruiser_wing_loop),
@@ -4398,7 +4398,7 @@ const BehaviorScript bhvSslMovingPyramidWall[] = {
const BehaviorScript bhvPyramidElevator[] = {
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(ssl_seg7_collision_pyramid_elevator),
SET_HOME(),
SET_FLOAT(oCollisionDistance, 20000),
@@ -4420,7 +4420,7 @@ const BehaviorScript bhvPyramidElevatorTrajectoryMarkerBall[] = {
const BehaviorScript bhvPyramidTop[] = {
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(ssl_seg7_collision_pyramid_top),
SET_HOME(),
SET_FLOAT(oCollisionDistance, 20000),
@@ -5392,7 +5392,7 @@ const BehaviorScript bhvTrackBall[] = {
const BehaviorScript bhvSeesawPlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
CALL_NATIVE(bhv_seesaw_platform_init),
BEGIN_LOOP(),
CALL_NATIVE(bhv_seesaw_platform_update),
@@ -5431,7 +5431,7 @@ const BehaviorScript bhvWaterBombSpawner[] = {
const BehaviorScript bhvWaterBomb[] = {
BEGIN(OBJ_LIST_GENACTOR),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 120, /*Gravity*/ -400, /*Bounciness*/ 0, /*Drag strength*/ 1000, /*Friction*/ 1000, /*Buoyancy*/ 200, /*Unused*/ 0, 0),
BEGIN_LOOP(),
CALL_NATIVE(bhv_water_bomb_update),
@@ -5626,7 +5626,7 @@ const BehaviorScript bhvAnimatesOnFloorSwitchPress[] = {
const BehaviorScript bhvActivatedBackAndForthPlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
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)),
SET_HOME(),
CALL_NATIVE(bhv_activated_back_and_forth_platform_init),
BEGIN_LOOP(),

View File

@@ -137,6 +137,8 @@ u16 gAreaUpdateCounter = 0;
LookAt lookAt;
#endif
u8 ucodeTestSwitch = 1;
/**
* Process a master list node. This has been modified, so now it runs twice, for each microcode.
It iterates through the first 5 layers of if the first index using F3DLX2.Rej, then it switches
@@ -158,10 +160,13 @@ static void geo_process_master_list_sub(struct GraphNodeMasterList *node) {
gDPPipeSync(gDisplayListHead++);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER);
}
//if (gPlayer1Controller->buttonPressed & L_TRIG)
// ucodeTestSwitch ^= 1;
//print_text_fmt_int(32,32,"%d",ucodeTestSwitch);
#ifdef F3DZEX_GBI_2
loopBegin:
//Load rejection on pass 2. ZEX is loaded afterwards.
if (renderPhase == 2)
if (renderPhase == 0 || renderPhase == 2)
{
gSPLoadUcodeL(gDisplayListHead++, gspF3DLX2_Rej_fifo);
init_rcp(0);
@@ -235,7 +240,7 @@ static void geo_append_display_list(void *displayList, s32 layer)
#ifdef F3DZEX_GBI_2
if (gCurGraphNodeObject != NULL)
{
if (gCurGraphNodeObject->uCode == UCODE_REJ)
if (gCurGraphNodeObject->uCode == UCODE_REJ && ucodeTestSwitch)
index = 1;
}
#endif

View File

@@ -510,11 +510,11 @@ static Gfx gd_dl_sparkle[] = {
gsSPClearGeometryMode(G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_NOOP2),
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD,
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD,
G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD,
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD,
G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPVertex(gd_vertex_sparkle, 4, 0),
@@ -663,7 +663,7 @@ static Gfx gd_dl_mario_face_shine[] = {
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsDPSetCombineMode(G_CC_HILITERGBA, G_CC_HILITERGBA),
gsDPLoadTextureBlock(gd_texture_mario_face_shine, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0,
gsDPLoadTextureBlock(gd_texture_mario_face_shine, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0,
G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPPipeSync(),
gsSPEndDisplayList(),
@@ -1192,7 +1192,7 @@ void print_gdm_stats(void) {
/* 24AC80 -> 24AD14; orig name: func_8019C4B0 */
struct ObjView *make_view_withgrp(char *name, struct ObjGroup *grp) {
struct ObjView *view = make_view(name, (VIEW_DRAW | VIEW_ALLOC_ZBUF | VIEW_MOVEMENT), 1, 0, 0, 320, 240, grp);
struct ObjView *view = make_view(name, (VIEW_DRAW | VIEW_ALLOC_ZBUF | VIEW_MOVEMENT), 1, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, grp);
UNUSED struct ObjGroup *viewgrp = make_group(2, grp, view);
view->lights = gGdLightGroup;
@@ -1270,7 +1270,7 @@ void gd_vblank(void) {
}
/**
* Copies the player1 controller data from p1cont to sGdContPads[0].
* Copies the player1 controller data from p1cont to sGdContPads[0].
*/
void gd_copy_p1_contpad(OSContPad *p1cont) {
u32 i; // 24
@@ -1942,7 +1942,7 @@ Vtx *gd_dl_make_vertex(f32 x, f32 y, f32 z, f32 alpha) {
/* 24E6C0 -> 24E724 */
void func_8019FEF0(void) {
sTriangleBufCount++;
if (sVertexBufCount >= 12) {
if (sVertexBufCount >= 30) {
gd_dl_flush_vertices();
func_801A0038();
}
@@ -2366,7 +2366,7 @@ void parse_p1_controller(void) {
OSContPad *currInputs;
OSContPad *prevInputs;
// Copy current inputs to previous
// Copy current inputs to previous
u8 *src = (u8 *) gdctrl;
u8 *dest = (u8 *) gdctrl->prevFrame;
for (i = 0; i < sizeof(struct GdControl); i++) {
@@ -2891,7 +2891,7 @@ void Unknown801A4F58(void) {
cbufOn = sScreenView->colourBufs[gGdFrameBufNum];
zbuf = sScreenView->zbuf;
for (i = 0; i < (320 * 240); i++) { // L801A4FCC
for (i = 0; i < (SCREEN_WIDTH * SCREEN_HEIGHT); i++) { // L801A4FCC
colour = cbufOff[i];
if (colour) {
r = (s16)(colour >> 11 & 0x1F);
@@ -3000,7 +3000,7 @@ void gd_init(void) {
sScreenView =
make_view("screenview2", (VIEW_2_COL_BUF | VIEW_UNK_1000 | VIEW_COLOUR_BUF | VIEW_Z_BUF), 0, 0,
0, 320, 240, NULL);
0, SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
sScreenView->colour.r = 0.0f;
sScreenView->colour.g = 0.0f;
sScreenView->colour.b = 0.0f;
@@ -3033,7 +3033,7 @@ void gd_init(void) {
* functions from IRIS GL.
* @param buf pointer to an array of 16-bit values
* @param len maximum number of values to store
*/
*/
void init_pick_buf(s16 *buf, s32 len) {
buf[0] = 0;
buf[1] = 0;
@@ -3105,8 +3105,8 @@ void Unknown801A5C80(struct ObjGroup *parentGroup) {
d_end_group("debugg");
debugGroup = (struct ObjGroup *) d_use_obj("debugg");
make_view("debugview", (VIEW_2_COL_BUF | VIEW_ALLOC_ZBUF | VIEW_1_CYCLE | VIEW_DRAW), 2, 0, 0, 320,
240, debugGroup);
make_view("debugview", (VIEW_2_COL_BUF | VIEW_ALLOC_ZBUF | VIEW_1_CYCLE | VIEW_DRAW), 2, 0, 0, SCREEN_WIDTH,
SCREEN_HEIGHT, debugGroup);
if (parentGroup != NULL) {
addto_group(parentGroup, &debugGroup->header);
@@ -3149,7 +3149,7 @@ void Unknown801A5D90(struct ObjGroup *arg0) {
d_add_valproc(cvrt_val_to_kb);
sp23C = TRUE;
sp244 += 14;
if (sp244 > 200) {
if (sp244 > SCREEN_HEIGHT) {
break;
}
}
@@ -3167,7 +3167,7 @@ void Unknown801A5D90(struct ObjGroup *arg0) {
memview = make_view("memview",
(VIEW_2_COL_BUF | VIEW_ALLOC_ZBUF | VIEW_UNK_2000 | VIEW_UNK_4000
| VIEW_1_CYCLE | VIEW_DRAW),
2, 0, 10, 320, 200, labelgrp);
2, 0, 10, SCREEN_WIDTH, SCREEN_HEIGHT-40, labelgrp);
memview->colour.r = 0.0f;
memview->colour.g = 0.0f;
memview->colour.b = 0.0f;
@@ -3407,7 +3407,7 @@ void make_timer_gadgets(void) {
timerg = (struct ObjGroup *) d_use_obj("timerg");
timersview = make_view(
"timersview", (VIEW_2_COL_BUF | VIEW_ALLOC_ZBUF | VIEW_1_CYCLE | VIEW_MOVEMENT | VIEW_DRAW), 2,
0, 10, 320, 270, timerg);
0, 10, SCREEN_WIDTH, SCREEN_HEIGHT+30, timerg);
timersview->colour.r = 0.0f;
timersview->colour.g = 0.0f;
timersview->colour.b = 0.0f;
@@ -3472,7 +3472,7 @@ struct GdObj *load_dynlist(struct DynList *dynlist) {
fatal_printf("load_dynlist() unkown bank");
}
#define PAGE_SIZE 65536 // size of a 64K TLB page
#define PAGE_SIZE 65536 // size of a 64K TLB page
segSize = dynlistSegEnd - dynlistSegStart;
allocSegSpace = gd_malloc_temp(segSize + PAGE_SIZE);