Skip to content

Commit cb7fd83

Browse files
committed
Adjusted the camera functions to use the camera ids defined in dispdrv.h
1 parent e2c962d commit cb7fd83

File tree

6 files changed

+21
-14
lines changed

6 files changed

+21
-14
lines changed

ttyd-tools/rel/include/mod.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include <gc/OSModule.h>
4+
#include <ttyd/dispdrv.h>
45
#include <ttyd/battle_unit.h>
56

67
#include <cstdint>
@@ -26,7 +27,7 @@ class Mod
2627
int32_t fixMarioKeyOn();
2728
bool performRelPatches(gc::OSModule::OSModuleInfo *, void *);
2829
void *disableBattles(uint32_t, void *);
29-
void drawArtAttackHitboxes(uint32_t);
30+
void drawArtAttackHitboxes(ttyd::dispdrv::CameraId);
3031
int32_t displayActionCommandsTimingHook(void *, ttyd::battle_unit::AttackParams *);
3132

3233
private:
@@ -45,7 +46,7 @@ class Mod
4546
int32_t (*mPFN_marioKeyOn_trampoline)() = nullptr;
4647
bool (*mPFN_OSLink_trampoline)(gc::OSModule::OSModuleInfo *, void *) = nullptr;
4748
void *(*mPFN_fbatHitCheck_trampoline)(uint32_t, void *) = nullptr;
48-
void (*mPFN_scissor_disp_control_trampoline)(uint32_t) = nullptr;
49+
void (*mPFN_scissor_disp_control_trampoline)(ttyd::dispdrv::CameraId) = nullptr;
4950

5051
int32_t (*mPFN_BattleActionCommandCheckDefence_trampoline)(
5152
void *, ttyd::battle_unit::AttackParams *) = nullptr;

ttyd-tools/rel/include/ttyd/camdrv.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#pragma once
22

3+
#include <ttyd/dispdrv.h>
4+
35
#include <cstdint>
46

57
namespace ttyd::camdrv {
@@ -14,15 +16,15 @@ extern "C" {
1416
// camCtrlOff
1517
// camCtrlOn
1618
// camDispOff
17-
void camDispOn(uint32_t camId);
19+
void camDispOn(ttyd::dispdrv::CameraId cameraId);
1820
// camSetMode
1921
// camEffMain
2022
// cam3dImgMain
2123
// cam3dMain
2224
// camSetCurNo
2325
// camGetCurNo
2426
// camGetCurPtr
25-
void *camGetPtr(uint32_t camId);
27+
void *camGetPtr(ttyd::dispdrv::CameraId cameraId);
2628
// camUnLoadRoad
2729
// camLoadRoad
2830
// camDraw

ttyd-tools/rel/include/ttyd/sac_scissor.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#pragma once
22

3+
#include <ttyd/dispdrv.h>
4+
35
#include <cstdint>
46

57
namespace ttyd::sac_scissor {
@@ -12,7 +14,7 @@ extern "C" {
1214
// scissor_init
1315
// scissor_disp_region
1416
// scissor_offscreen
15-
void scissor_disp_control(uint32_t camId);
17+
void scissor_disp_control(ttyd::dispdrv::CameraId cameraId);
1618
// scissor_capture
1719
// scissor_ofscreen_ok
1820
// scissor_damage_sub2

ttyd-tools/rel/source/codes.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <ttyd/seqdrv.h>
1616
#include <ttyd/seq_mapchange.h>
1717
#include <ttyd/camdrv.h>
18+
#include <ttyd/dispdrv.h>
1819
#include <ttyd/pmario_sound.h>
1920
#include <ttyd/mario_cam.h>
2021
#include <ttyd/mario_pouch.h>
@@ -541,7 +542,7 @@ void reloadRoomMain()
541542
setSeqMapChange(tempNewMap, tempNewBero);
542543

543544
// Reset the camera - mainly for the black bars at the top and bottom of the screen
544-
uint32_t CameraPointer = reinterpret_cast<uint32_t>(ttyd::camdrv::camGetPtr(8));
545+
uint32_t CameraPointer = reinterpret_cast<uint32_t>(ttyd::camdrv::camGetPtr(ttyd::dispdrv::CameraId::k2d));
545546
*reinterpret_cast<uint16_t *>(CameraPointer) &= ~((1 << 8) | (1 << 9)); // Turn off the 8 and 9 bits
546547

547548
uint32_t SystemLevel = ttyd::mariost::marioStGetSystemLevel();
@@ -553,8 +554,8 @@ void reloadRoomMain()
553554
// Only run the following if the system level is not 0
554555
if (SystemLevel == 15)
555556
{
556-
// Currently in pause menu, so re-enable the camera
557-
ttyd::camdrv::camDispOn(4);
557+
// Currently in pause menu, so re-enable the 3D camera
558+
ttyd::camdrv::camDispOn(ttyd::dispdrv::CameraId::k3d);
558559
}
559560

560561
// Enable sound effects, set the default camera id for Mario, and give back control to the player
@@ -596,7 +597,7 @@ void reloadRoom()
596597
ReloadRoom.SystemLevelShouldBeLowered = true;
597598

598599
// Reset the camera - mainly for the black bars at the top and bottom of the screen
599-
uint32_t CameraPointer = reinterpret_cast<uint32_t>(ttyd::camdrv::camGetPtr(8));
600+
uint32_t CameraPointer = reinterpret_cast<uint32_t>(ttyd::camdrv::camGetPtr(ttyd::dispdrv::CameraId::k2d));
600601
*reinterpret_cast<uint16_t *>(CameraPointer) &= ~((1 << 8) | (1 << 9)); // Turn off the 8 and 9 bits
601602
}
602603

ttyd-tools/rel/source/draw.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4429,10 +4429,10 @@ void drawFileSelectScreenInfo()
44294429
drawText(String, PosX, PosY, Alpha, TextColor, Scale);
44304430
}
44314431

4432-
void Mod::drawArtAttackHitboxes(uint32_t camId)
4432+
void Mod::drawArtAttackHitboxes(ttyd::dispdrv::CameraId cameraId)
44334433
{
4434-
// Call the original function immediately
4435-
mPFN_scissor_disp_control_trampoline(camId);
4434+
// Call the original function immediately, as several functions need to run for the lines to be drawn properly
4435+
mPFN_scissor_disp_control_trampoline(cameraId);
44364436

44374437
if (!Displays[ART_ATTACK_HITBOXES])
44384438
{

ttyd-tools/rel/source/mod.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <ttyd/evt_bero.h>
1515
#include <ttyd/mario.h>
1616
#include <ttyd/npcdrv.h>
17+
#include <ttyd/dispdrv.h>
1718
#include <ttyd/battle_ac.h>
1819
#include <ttyd/battle_unit.h>
1920
#include <ttyd/fontmgr.h>
@@ -115,9 +116,9 @@ void Mod::init()
115116
});
116117

117118
mPFN_scissor_disp_control_trampoline = patch::hookFunction(
118-
ttyd::sac_scissor::scissor_disp_control, [](uint32_t camId)
119+
ttyd::sac_scissor::scissor_disp_control, [](ttyd::dispdrv::CameraId cameraId)
119120
{
120-
return gMod->drawArtAttackHitboxes(camId);
121+
return gMod->drawArtAttackHitboxes(cameraId);
121122
});
122123

123124
mPFN_BattleActionCommandCheckDefence_trampoline = patch::hookFunction(

0 commit comments

Comments
 (0)