Skip to content

Commit

Permalink
Fix various issues in TUs marked Equivalent (#2286)
Browse files Browse the repository at this point in the history
  • Loading branch information
LagoLunatic authored Jan 15, 2025
1 parent 36daa25 commit 2189777
Show file tree
Hide file tree
Showing 20 changed files with 88 additions and 71 deletions.
7 changes: 5 additions & 2 deletions config/GZ2E01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21720,8 +21720,11 @@ struct_80450C86 = .sbss:0x80450C86; // type:object size:0x1 scope:global align:1
struct_80450C87 = .sbss:0x80450C87; // type:object size:0x1 scope:global align:1
mDoDvdErr_initialized = .sbss:0x80450C88; // type:object size:0x1 scope:global align:1 data:byte
sConsole = .sbss:0x80450C90; // type:object size:0x4 scope:local align:4 data:4byte
struct_80450C98 = .sbss:0x80450C98; // type:object size:0x4 scope:global align:4
cDmr_SkipInfo = .sbss:0x80450C9C; // type:object size:0x1 scope:global align:1
cDmr_SkipInfo = .sbss:0x80450C98; // type:object size:0x1 scope:global align:1
data_80450C99 = .sbss:0x80450C99; // type:object size:0x1 scope:global align:1
data_80450C9A = .sbss:0x80450C9A; // type:object size:0x1 scope:global align:1
data_80450C9B = .sbss:0x80450C9B; // type:object size:0x1 scope:global align:1
data_80450C9C = .sbss:0x80450C9C; // type:object size:0x1 scope:global align:1
data_80450C9D = .sbss:0x80450C9D; // type:object size:0x1
data_80450C9E = .sbss:0x80450C9E; // type:object size:0x1
data_80450C9F = .sbss:0x80450C9F; // type:object size:0x1
Expand Down
56 changes: 28 additions & 28 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ def MatchingFor(*versions):
Object(NonMatching, "m_Do/m_Do_printf.cpp"),
Object(Matching, "m_Do/m_Do_audio.cpp"),
Object(Matching, "m_Do/m_Do_controller_pad.cpp"),
Object(Equivalent, "m_Do/m_Do_graphic.cpp"),
Object(Equivalent, "m_Do/m_Do_graphic.cpp"), # weak func order
Object(NonMatching, "m_Do/m_Do_machine.cpp"),
Object(Matching, "m_Do/m_Do_mtx.cpp"),
Object(NonMatching, "m_Do/m_Do_ext.cpp"),
Expand Down Expand Up @@ -498,7 +498,7 @@ def MatchingFor(*versions):
Object(Matching, "d/d_bg_w_base.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(NonMatching, "d/d_bg_w_kcol.cpp"),
Object(Matching, "d/d_bg_w_sv.cpp"),
Object(Equivalent, "d/d_cc_d.cpp"),
Object(Equivalent, "d/d_cc_d.cpp"), # weak func order
Object(Matching, "d/d_cc_mass_s.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(NonMatching, "d/d_cc_s.cpp"),
Object(Matching, "d/d_cc_uty.cpp"),
Expand Down Expand Up @@ -528,7 +528,7 @@ def MatchingFor(*versions):
Object(Matching, "d/d_file_sel_info.cpp"),
Object(Matching, "d/d_bright_check.cpp"),
Object(NonMatching, "d/d_scope.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(Equivalent, "d/d_select_cursor.cpp"),
Object(Matching, "d/d_select_cursor.cpp"),
Object(Matching, "d/d_select_icon.cpp"),
Object(Matching, "d/d_shop_camera.cpp"),
Object(Matching, "d/d_shop_item_ctrl.cpp"),
Expand All @@ -553,7 +553,7 @@ def MatchingFor(*versions):
Object(NonMatching, "d/d_menu_letter.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(Matching, "d/d_menu_option.cpp"),
Object(Matching, "d/d_menu_ring.cpp"),
Object(Equivalent, "d/d_menu_save.cpp"),
Object(Equivalent, "d/d_menu_save.cpp"), # missing 0x30 bytes of padding between vtables, likely some abstract base class vtable that gets stripped out
Object(Matching, "d/d_menu_skill.cpp"),
Object(Matching, "d/d_menu_window_HIO.cpp"),
Object(NonMatching, "d/d_menu_window.cpp"),
Expand Down Expand Up @@ -668,7 +668,7 @@ def MatchingFor(*versions):
JSystemLib(
"JFramework",
[
Object(Equivalent, "JSystem/JFramework/JFWSystem.cpp"),
Object(Equivalent, "JSystem/JFramework/JFWSystem.cpp"), # regalloc
Object(Matching, "JSystem/JFramework/JFWDisplay.cpp"),
],
),
Expand All @@ -693,7 +693,7 @@ def MatchingFor(*versions):
Object(Matching, "JSystem/JParticle/JPAKeyBlock.cpp"),
Object(Matching, "JSystem/JParticle/JPATexture.cpp"),
Object(Matching, "JSystem/JParticle/JPAResourceLoader.cpp"),
Object(Equivalent, "JSystem/JParticle/JPAEmitterManager.cpp"),
Object(Equivalent, "JSystem/JParticle/JPAEmitterManager.cpp", extra_cflags=['-pragma "nosyminline off"']), # weak func order
Object(Matching, "JSystem/JParticle/JPAEmitter.cpp"),
Object(NonMatching, "JSystem/JParticle/JPAParticle.cpp"),
Object(Matching, "JSystem/JParticle/JPAMath.cpp"),
Expand Down Expand Up @@ -927,7 +927,7 @@ def MatchingFor(*versions):
[
Object(NonMatching, "JSystem/JGadget/binary.cpp"),
Object(NonMatching, "JSystem/JGadget/linklist.cpp"),
Object(Equivalent, "JSystem/JGadget/std-vector.cpp"), # just weak order
Object(Equivalent, "JSystem/JGadget/std-vector.cpp", extra_cflags=['-pragma "nosyminline off"']), # just weak order
],
),
JSystemLib(
Expand All @@ -947,7 +947,7 @@ def MatchingFor(*versions):
Object(Matching, "JSystem/JUtility/JUTDirectPrint.cpp"),
Object(Matching, "JSystem/JUtility/JUTAssert.cpp"),
Object(Matching, "JSystem/JUtility/JUTVideo.cpp"),
Object(Equivalent, "JSystem/JUtility/JUTXfb.cpp"),
Object(Matching, "JSystem/JUtility/JUTXfb.cpp"),
Object(Matching, "JSystem/JUtility/JUTFader.cpp"),
Object(Matching, "JSystem/JUtility/JUTProcBar.cpp", extra_cflags=['-pragma "nosyminline off"']),
Object(Matching, "JSystem/JUtility/JUTConsole.cpp"),
Expand Down Expand Up @@ -1005,7 +1005,7 @@ def MatchingFor(*versions):
Object(Matching, "JSystem/J3DGraphAnimator/J3DModelData.cpp", extra_cflags=['-pragma "nosyminline off"']),
Object(NonMatching, "JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp"),
Object(Matching, "JSystem/J3DGraphAnimator/J3DModel.cpp"),
Object(Equivalent, "JSystem/J3DGraphAnimator/J3DAnimation.cpp"),
Object(Matching, "JSystem/J3DGraphAnimator/J3DAnimation.cpp", extra_cflags=['-pragma "nosyminline off"']),
Object(Matching, "JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp"),
Object(NonMatching, "JSystem/J3DGraphAnimator/J3DSkinDeform.cpp"),
Object(NonMatching, "JSystem/J3DGraphAnimator/J3DCluster.cpp"),
Expand Down Expand Up @@ -1417,8 +1417,8 @@ def MatchingFor(*versions):
ActorRel(Matching, "d_a_disappear"),
ActorRel(NonMatching, "d_a_mg_rod"),
ActorRel(NonMatching, "d_a_midna"),
ActorRel(Equivalent, "d_a_nbomb"),
ActorRel(Equivalent, "d_a_obj_life_container"), # vtable ordering
ActorRel(Equivalent, "d_a_nbomb"), # weak func order
ActorRel(Matching, "d_a_obj_life_container"),
ActorRel(NonMatching, "d_a_obj_yousei"),
ActorRel(NonMatching, "d_a_spinner"),
ActorRel(Matching, "d_a_suspend"),
Expand Down Expand Up @@ -1518,8 +1518,8 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_b_oh"),
ActorRel(Matching, "d_a_b_oh2"),
ActorRel(NonMatching, "d_a_b_tn"),
ActorRel(Equivalent, "d_a_b_yo"),
ActorRel(Equivalent, "d_a_b_yo_ice"),
ActorRel(Equivalent, "d_a_b_yo"), # weak func order
ActorRel(Equivalent, "d_a_b_yo_ice"), # weak func order
ActorRel(Matching, "d_a_b_zant"),
ActorRel(Matching, "d_a_b_zant_magic"),
ActorRel(Matching, "d_a_b_zant_mobile"),
Expand All @@ -1530,14 +1530,14 @@ def MatchingFor(*versions):
ActorRel(Matching, "d_a_coach_fire"),
ActorRel(NonMatching, "d_a_cow"),
ActorRel(NonMatching, "d_a_cstatue"),
ActorRel(Equivalent, "d_a_do"),
ActorRel(Equivalent, "d_a_do"), # Z2SoundObjSimple dtor
ActorRel(Matching, "d_a_door_boss"),
ActorRel(Matching, "d_a_door_bossL5"),
ActorRel(Equivalent, "d_a_door_mbossL1"),
ActorRel(Matching, "d_a_door_mbossL1"),
ActorRel(Matching, "d_a_door_push"),
ActorRel(NonMatching, "d_a_e_ai"),
ActorRel(Matching, "d_a_e_arrow"),
ActorRel(Equivalent, "d_a_e_ba"),
ActorRel(Equivalent, "d_a_e_ba"), # weak func order
ActorRel(NonMatching, "d_a_e_bee"),
ActorRel(NonMatching, "d_a_e_bg"),
ActorRel(NonMatching, "d_a_e_bi"),
Expand All @@ -1556,7 +1556,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_e_fb"),
ActorRel(NonMatching, "d_a_e_fk"),
ActorRel(NonMatching, "d_a_e_fs"),
ActorRel(Equivalent, "d_a_e_fz"),
ActorRel(Equivalent, "d_a_e_fz"), # weak func order
ActorRel(NonMatching, "d_a_e_gb"),
ActorRel(NonMatching, "d_a_e_ge"),
ActorRel(NonMatching, "d_a_e_gi"),
Expand Down Expand Up @@ -1617,7 +1617,7 @@ def MatchingFor(*versions):
ActorRel(Matching, "d_a_e_yd_leaf"),
ActorRel(NonMatching, "d_a_e_yg"),
ActorRel(NonMatching, "d_a_e_yh"),
ActorRel(Equivalent, "d_a_e_yk"),
ActorRel(Equivalent, "d_a_e_yk"), # weak func order
ActorRel(NonMatching, "d_a_e_ym"),
ActorRel(Matching, "d_a_e_ym_tag"),
ActorRel(NonMatching, "d_a_e_ymb"),
Expand Down Expand Up @@ -1728,7 +1728,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_npc_shaman"),
ActorRel(NonMatching, "d_a_npc_shoe"),
ActorRel(NonMatching, "d_a_npc_shop0"),
ActorRel(Equivalent, "d_a_npc_shop_maro"),
ActorRel(Equivalent, "d_a_npc_shop_maro"), # daNpcT_c base functions missing
ActorRel(NonMatching, "d_a_npc_sola"),
ActorRel(NonMatching, "d_a_npc_soldierA"),
ActorRel(NonMatching, "d_a_npc_soldierB"),
Expand Down Expand Up @@ -1783,7 +1783,7 @@ def MatchingFor(*versions):
ActorRel(Matching, "d_a_obj_bsGate"),
ActorRel(Matching, "d_a_obj_bubblePilar"),
ActorRel(Matching, "d_a_obj_catdoor"),
ActorRel(Equivalent, "d_a_obj_cb"),
ActorRel(Matching, "d_a_obj_cb"),
ActorRel(NonMatching, "d_a_obj_cblock"),
ActorRel(Matching, "d_a_obj_cdoor"),
ActorRel(Matching, "d_a_obj_chandelier"),
Expand All @@ -1798,7 +1798,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_obj_crvlh_up"),
ActorRel(Matching, "d_a_obj_crvsteel"),
ActorRel(Matching, "d_a_obj_crystal"),
ActorRel(Equivalent, "d_a_obj_cwall"),
ActorRel(Equivalent, "d_a_obj_cwall"), # weak func order
ActorRel(Matching, "d_a_obj_damCps"),
ActorRel(Matching, "d_a_obj_dan"),
ActorRel(Matching, "d_a_obj_digholl"),
Expand Down Expand Up @@ -1830,7 +1830,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_obj_gomikabe"),
ActorRel(NonMatching, "d_a_obj_gra2"),
ActorRel(Matching, "d_a_obj_graWall"),
ActorRel(Equivalent, "d_a_obj_gra_rock"),
ActorRel(Matching, "d_a_obj_gra_rock"),
ActorRel(Matching, "d_a_obj_grave_stone"),
ActorRel(Matching, "d_a_obj_groundwater"),
ActorRel(NonMatching, "d_a_obj_grz_rock"),
Expand Down Expand Up @@ -1985,7 +1985,7 @@ def MatchingFor(*versions):
ActorRel(Matching, "d_a_obj_sekizo"),
ActorRel(NonMatching, "d_a_obj_sekizoa"),
ActorRel(Matching, "d_a_obj_shield"),
ActorRel(Equivalent, "d_a_obj_sm_door"),
ActorRel(Equivalent, "d_a_obj_sm_door"), # vtable order
ActorRel(NonMatching, "d_a_obj_smallkey"),
ActorRel(NonMatching, "d_a_obj_smgdoor"),
ActorRel(Matching, "d_a_obj_smoke"),
Expand All @@ -1998,7 +1998,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_obj_ss_drink"),
ActorRel(Matching, "d_a_obj_ss_item"),
ActorRel(NonMatching, "d_a_obj_stairBlock"),
ActorRel(Equivalent, "d_a_obj_stone"),
ActorRel(Matching, "d_a_obj_stone"),
ActorRel(NonMatching, "d_a_obj_stopper"),
ActorRel(NonMatching, "d_a_obj_stopper2"),
ActorRel(Matching, "d_a_obj_suisya"),
Expand All @@ -2008,12 +2008,12 @@ def MatchingFor(*versions):
ActorRel(Matching, "d_a_obj_swBallC"),
ActorRel(NonMatching, "d_a_obj_swLight"),
ActorRel(NonMatching, "d_a_obj_swchain"),
ActorRel(Equivalent, "d_a_obj_swhang"),
ActorRel(Equivalent, "d_a_obj_swhang"), # vtable order
ActorRel(NonMatching, "d_a_obj_sword"),
ActorRel(NonMatching, "d_a_obj_swpush2"),
ActorRel(Matching, "d_a_obj_swspinner"),
ActorRel(Matching, "d_a_obj_swturn"),
ActorRel(Equivalent, "d_a_obj_syRock"),
ActorRel(Equivalent, "d_a_obj_syRock"), # weak func order
ActorRel(NonMatching, "d_a_obj_szbridge"),
ActorRel(NonMatching, "d_a_obj_taFence"),
ActorRel(Matching, "d_a_obj_table"),
Expand Down Expand Up @@ -2045,7 +2045,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_obj_warp_kbrg"),
ActorRel(NonMatching, "d_a_obj_warp_obrg"),
ActorRel(NonMatching, "d_a_obj_waterGate"),
ActorRel(Equivalent, "d_a_obj_waterPillar"),
ActorRel(Equivalent, "d_a_obj_waterPillar"), # vtable order
ActorRel(Matching, "d_a_obj_waterfall"),
ActorRel(NonMatching, "d_a_obj_wchain"),
ActorRel(Matching, "d_a_obj_wdStick"),
Expand All @@ -2064,7 +2064,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_obj_zdoor"),
ActorRel(NonMatching, "d_a_obj_zrTurara"),
ActorRel(Matching, "d_a_obj_zrTuraraRock"),
ActorRel(Equivalent, "d_a_obj_zraMark"),
ActorRel(Equivalent, "d_a_obj_zraMark"), # weak func order
ActorRel(Matching, "d_a_obj_zra_freeze"),
ActorRel(NonMatching, "d_a_obj_zra_rock"),
ActorRel(NonMatching, "d_a_passer_mng"),
Expand Down
1 change: 1 addition & 0 deletions include/JSystem/J2DGraph/J2DTevs.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ class J2DIndTexCoordScale {
}
J2DIndTexCoordScale& operator=(const J2DIndTexCoordScaleInfo& info) {
mInfo = info;
return *this;
}
/* 802EA0CC */ void load(u8);

Expand Down
10 changes: 5 additions & 5 deletions include/SSystem/SComponent/c_lib.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ inline T cLib_maxLimit(T val, T max) {
return (T)ret;
}

template <typename T>
T cLib_getRndValue(T min, T range) {
return (T)(min + cM_rndF((f32)range));
}

template <typename T>
T cLib_calcTimer(T* value) {
if (*(T*)value != 0) {
Expand All @@ -78,11 +83,6 @@ T cLib_calcTimer(T* value) {
return *value;
}

template <typename T>
T cLib_getRndValue(T min, T range) {
return (T)(min + cM_rndF((f32)range));
}

void MtxInit(void);
void MtxTrans(f32, f32, f32, u8);
void MtxScale(f32, f32, f32, u8);
Expand Down
2 changes: 1 addition & 1 deletion include/d/actor/d_a_obj_life_container.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ class daObjLife_c : public daItemBase_c {
/* 804CE19C */ int draw();
/* 804CE214 */ int _delete();

/* 804CE1F0 */ virtual void setListStart();
/* 804CCFD8 */ virtual int __CreateHeap();
/* 804CE1F0 */ virtual void setListStart();

bool chkStatus(u8 i_status) { return mStatus == i_status; }
void setStatus(u8 i_status) { mStatus = i_status; }
Expand Down
2 changes: 1 addition & 1 deletion include/d/actor/d_a_obj_volcball.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ class daObjVolcBall_c : public fopAc_ac_c, public dEvLib_callback_c {
/* 80D23904 */ int draw();
/* 80D23A0C */ int _delete();

/* 80D23B24 */ virtual ~daObjVolcBall_c() {}
/* 80D22DDC */ virtual BOOL eventStart();
/* 80D23B24 */ virtual ~daObjVolcBall_c() {}

u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
Expand Down
4 changes: 2 additions & 2 deletions include/d/d_menu_save.h
Original file line number Diff line number Diff line change
Expand Up @@ -328,11 +328,11 @@ class dMenu_save_c {
/* 0x0132 */ u8 mNoYesWakuEndAlpha[2];
/* 0x0134 */ u8 mNoYesWakuAnmTimer[2];
/* 0x0138 */ CPaneMgr* mpNoYesTxt[2];
/* 0x0140 */ J2DAnmColorKey* mpFileWakuAnm;
/* 0x0140 */ J2DAnmColor* mpFileWakuAnm;
/* 0x0144 */ int mFileWakuAnmFrame;
/* 0x0148 */ J2DAnmTextureSRTKey* mpFileWakuRotAnm;
/* 0x014C */ int mFileWakuRotAnmFrame;
/* 0x0150 */ J2DAnmColorKey* field_0x150;
/* 0x0150 */ J2DAnmColor* field_0x150;
/* 0x0154 */ int field_0x154;
/* 0x0158 */ J2DAnmTextureSRTKey* field_0x158;
/* 0x015C */ int field_0x15c;
Expand Down
2 changes: 1 addition & 1 deletion include/d/d_select_icon.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class dSelect_icon_c {
/* 80195A3C */ void animation();
/* 80195B40 */ void setAlpha(u8);
/* 80195B70 */ void setPos(J2DPane*, f32, f32);
virtual ~dSelect_icon_c() {}
virtual ~dSelect_icon_c(); // must be declared but not defined to match?

void drawSelf() {
field_0x4.draw();
Expand Down
2 changes: 1 addition & 1 deletion include/dolphin/gx/GXFrameBuf.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void GXSetDispCopyDst(u16 arg0, u16 arg1);
void GXSetTexCopyDst(u16 width, u16 height, GXTexFmt format, GXBool useMIPmap);
void GXSetDispCopyFrame2Field(GXCopyMode mode);
void GXSetCopyClamp(GXFBClamp clamp);
u16 GXGetNumXfbLines(const u16 efbHeight, f32 yScale);
u16 GXGetNumXfbLines(u16 efbHeight, f32 yScale);
f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height);
u32 GXSetDispCopyYScale(f32 y_scale);
void GXSetCopyClear(GXColor color, u32 clear_z);
Expand Down
3 changes: 1 addition & 2 deletions src/JSystem/JUtility/JUTXfb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,14 @@ void JUTXfb::common_init(int bufNum) {

/* 802E5260-802E5308 2DFBA0 00A8+00 1/1 0/0 0/0 .text
* __ct__6JUTXfbFPC16_GXRenderModeObjP7JKRHeapQ26JUTXfb10EXfbNumber */
// NONMATCHING - regswap, equivalent
JUTXfb::JUTXfb(GXRenderModeObj const* pObj, JKRHeap* pHeap, JUTXfb::EXfbNumber xfbNum) {
common_init(xfbNum);

if (pObj) {
initiate(pObj->fb_width, pObj->xfb_height, pHeap, xfbNum);
} else {
u16 fb_width = JUTVideo::getManager()->getRenderMode()->fb_width;
u16 efb_height = JUTVideo::getManager()->getRenderMode()->efb_height;
u16 efb_height = (u32)JUTVideo::getManager()->getRenderMode()->efb_height;
u16 xfb_height = JUTVideo::getManager()->getRenderMode()->xfb_height;
f32 scale_factor = GXGetYScaleFactor(efb_height, xfb_height);
u16 xfb_lines = GXGetNumXfbLines(efb_height, scale_factor);
Expand Down
8 changes: 5 additions & 3 deletions src/c/c_damagereaction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@

/* ############################################################################################## */
/* 80450C98-80450C9C -00001 0004+00 0/0 0/0 50/50 .sbss None */
extern u8 struct_80450C98[4];
u8 struct_80450C98[4];
u8 cDmr_SkipInfo;
u8 data_80450C99;
u8 data_80450C9A;
u8 data_80450C9B;

/* 80450C9C-80450CA0 -00001 0004+00 0/0 0/0 6/6 .sbss None */
u8 cDmr_SkipInfo;
u8 data_80450C9C;
u8 data_80450C9D;
u8 data_80450C9E;
u8 data_80450C9F;
Expand Down
2 changes: 1 addition & 1 deletion src/d/actor/d_a_b_yo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1014,7 +1014,7 @@ void daB_YO_c::executeOpening() {
}
break;

case 14:
case 15:
cam_pos.set(51.0f, 207.0f, -2082.0f);
cLib_chasePos(&mCamCenter, cam_pos, mCamCenterSpeed);
cam_pos.set(51.0f, 207.0f, -1562.0f);
Expand Down
Loading

0 comments on commit 2189777

Please sign in to comment.