almost match gameLightMgr.cpp

This commit is contained in:
HeartPiece 2023-02-26 19:22:19 +11:00
parent cc308a2016
commit b43e3d2480
37 changed files with 397 additions and 1104 deletions

View File

@ -127,7 +127,7 @@
### <section id="plugProjectKonoU">plugProjectKonoU</section>
| File | Size (bytes) | File | Size (bytes) |
| ---- | ---- | ---- | ---- |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khCaveResult.cpp">khCaveResult.cpp</a> | 62934 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khFinalResult.cpp">khFinalResult.cpp</a> | 66450 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khCaveResult.cpp">khCaveResult.cpp</a> | 62934 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khFinalResult.cpp">khFinalResult.cpp</a> | 66469 |
### <section id="plugProjectMorimuraU">plugProjectMorimuraU</section>
| File | Size (bytes) | File | Size (bytes) |
@ -168,10 +168,10 @@
### <section id="plugProjectOgawaU">plugProjectOgawaU</section>
| File | Size (bytes) | File | Size (bytes) |
| ---- | ---- | ---- | ---- |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogFuriko.cpp">ogFuriko.cpp</a> | 10948 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogObjCourseName.cpp">ogObjCourseName.cpp</a> | 11177 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogCopyPane.cpp">ogCopyPane.cpp</a> | 11986 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogCounterSlot.cpp">ogCounterSlot.cpp</a> | 15259 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogObjSMenuItem.cpp">ogObjSMenuItem.cpp</a> | 26132 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogMenuMgr.cpp">ogMenuMgr.cpp</a> | 26466 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogCounterRV.cpp">ogCounterRV.cpp</a> | 37696 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogFuriko.cpp">ogFuriko.cpp</a> | 10967 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogObjCourseName.cpp">ogObjCourseName.cpp</a> | 11177 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogCopyPane.cpp">ogCopyPane.cpp</a> | 11986 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogCounterSlot.cpp">ogCounterSlot.cpp</a> | 15278 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogObjSMenuItem.cpp">ogObjSMenuItem.cpp</a> | 26151 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogMenuMgr.cpp">ogMenuMgr.cpp</a> | 26466 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectOgawaU/ogCounterRV.cpp">ogCounterRV.cpp</a> | 37715 |
### <section id="plugProjectYamashitaU">plugProjectYamashitaU</section>
| File | Size (bytes) | File | Size (bytes) |

View File

@ -14,15 +14,31 @@ struct GameLightMgr;
struct TimeMgr;
struct PlayCamera;
enum LightEventFlags {
LIGHTEVENT_Unk1 = 0x1,
LIGHTEVENT_Unk2 = 0x2,
LIGHTEVENT_Unk3 = 0x4,
LIGHTEVENT_Unk4 = 0x8,
};
enum LightEventTypes {
LIGHTTYPE_Main = 0x1,
LIGHTTYPE_Sub = 0x2,
LIGHTTYPE_Specular = 0x4,
LIGHTTYPE_Ambient = 0x8,
LIGHTTYPE_Fog = 0x10,
LIGHTTYPE_Shadow = 0x20,
};
struct GameLightEventArg {
inline GameLightEventArg()
: _00(0)
, _01(0)
: mEventFlag(0)
, mLightTypeFlag(0)
{
_00 |= 0x3;
_01 = 0;
_01 |= 0x1;
_00 |= (0x1);
setEvent(LIGHTEVENT_Unk1 | LIGHTEVENT_Unk2);
mLightTypeFlag = 0;
setLightType(LIGHTTYPE_Main);
setEvent(LIGHTEVENT_Unk1);
_10 = 0.5f;
_04 = 1.5f;
_08 = 1.5f;
@ -32,31 +48,58 @@ struct GameLightEventArg {
_1C = 1024.0f;
_20 = nullptr;
_24 = 500.0f;
setLightType(LIGHTTYPE_Main);
_10 = 3.0f;
_14 = 3.0f;
setEvent(LIGHTEVENT_Unk2);
_04 = 1.25f;
_08 = 1.25f;
_0C = 1.25f;
}
u8 _00; // _00
u8 _01; // _01
f32 _04; // _04
f32 _08; // _08
f32 _0C; // _0C
f32 _10; // _10, start time?
f32 _14; // _14, end time?
f32 _18; // _18, start Z?
f32 _1C; // _1C, end Z?
Vector3f* _20; // _20, unknown
f32 _24; // _24, distance?
inline void setEvent(u32 flag) { mEventFlag |= flag; }
inline void resetEvent(u32 flag) { mEventFlag &= ~flag; }
inline bool isEvent(u32 flag) const { return mEventFlag & flag; }
inline void setLightType(u32 flag) { mLightTypeFlag |= flag; }
inline void resetLightType(u32 flag) { mLightTypeFlag &= ~flag; }
inline bool isLightType(u32 flag) const { return mLightTypeFlag & flag; }
// inline void init()
// {
// setLightType(LIGHTTYPE_Main);
// _10 = 3.0f;
// _14 = 3.0f;
// setEvent(LIGHTEVENT_Unk2);
// _04 = 1.25f;
// _08 = 1.25f;
// _0C = 1.25f;
// }
u8 mEventFlag; // _00
u8 mLightTypeFlag; // _01
f32 _04; // _04
f32 _08; // _08
f32 _0C; // _0C
f32 _10; // _10, start time?
f32 _14; // _14, end time?
f32 _18; // _18, start Z?
f32 _1C; // _1C, end Z?
Vector3f* _20; // _20, unknown
f32 _24; // _24, distance?
};
struct GameLightEventNode : public CNode {
GameLightEventNode()
: CNode("no_name") // lol.
, _18(0)
, _19(0)
, mEventFlag(0)
, mLightTypeFlag(0)
{
_18 = 0;
_18 |= (0x1 | 0x2);
_19 = 0;
_19 |= (0x1);
mEventFlag = 0;
setEvent(LIGHTEVENT_Unk1 | LIGHTEVENT_Unk2);
mLightTypeFlag = 0;
setLightType(LIGHTTYPE_Main);
_1C = 1.5f;
_20 = 1.5f;
_24 = 1.5f;
@ -74,23 +117,33 @@ struct GameLightEventNode : public CNode {
void updateCommon(GameLightMgr*, bool);
void calcColor(Color4*);
void start(GameLightEventArg&);
inline void setEvent(u32 flag) { mEventFlag |= flag; }
inline void resetEvent(u32 flag) { mEventFlag &= ~flag; }
inline bool isEvent(u32 flag) const { return mEventFlag & flag; }
inline void setLightType(u32 flag) { mLightTypeFlag |= flag; }
inline void resetLightType(u32 flag) { mLightTypeFlag &= ~flag; }
inline bool isLightType(u32 flag) const { return mLightTypeFlag & flag; }
// _00 = VTBL
// _00-_18 = CNode
u8 _18; // _18
u8 _19; // _19
f32 _1C; // _1C, color 1 scale?
f32 _20; // _20, color 2 scale?
f32 _24; // _24, color 3 scale?
f32 _28; // _28
f32 _2C; // _2C
f32 _30; // _30, nearZ?
f32 _34; // _34, farZ?
Vector3f* _38; // _38
f32 _3C; // _3C
f32 _40; // _40, timer?
f32 _44; // _44, angle?
f32 _48; // _48
int _4C; // _4C
u8 mEventFlag; // _18
u8 mLightTypeFlag; // _19
f32 _1C; // _1C, color 1 scale?
f32 _20; // _20, color 2 scale?
f32 _24; // _24, color 3 scale?
f32 _28; // _28
f32 _2C; // _2C
f32 _30; // _30, nearZ?
f32 _34; // _34, farZ?
Vector3f* _38; // _38
f32 _3C; // _3C
f32 _40; // _40, timer?
f32 _44; // _44, angle?
f32 _48; // _48
int _4C; // _4C
};
struct GameLightSpotSetting : public CNode {
@ -183,6 +236,15 @@ struct GameLightMgrSetting : public CNode {
};
struct GameLightMgr : public LightMgr {
enum GameLightFlags {
GAMELIGHT_Unk1 = 0x1,
GAMELIGHT_Unk2 = 0x2,
GAMELIGHT_Unk3 = 0x4,
GAMELIGHT_Unk4 = 0x8,
GAMELIGHT_Unk5 = 0x10,
GAMELIGHT_Unk6 = 0x20,
};
GameLightMgr(char* name);
// virtual ~GameLightMgr() { } // _08 (weak)
@ -200,6 +262,10 @@ struct GameLightMgr : public LightMgr {
inline void getViewportPos(Vector3f& pos, int i) { pos = _238C[i]; }
inline void setFlag(u32 flag) { mFlags.typeView |= flag; }
inline void resetFlag(u32 flag) { mFlags.typeView &= ~flag; }
inline bool isFlag(u32 flag) const { return mFlags.typeView & flag; }
// _00 = VTBL
// _00-_50 = LightMgr
LightObj* mMainLight; // _50

View File

@ -7,6 +7,7 @@
#include "Morimura/Window.h"
#include "Morimura/mrUtil.h"
#include "Morimura/ScrollList.h"
#include "trig.h"
namespace Game {
struct Vs2D_TitleInfo;

View File

@ -7,7 +7,6 @@
#include "og/Screen/AngleMgr.h"
#include "P2DScreen.h"
#include "SoundID.h"
#include "trig.h"
struct LifeGauge;

View File

@ -5,6 +5,7 @@
#include "og/Screen/anime.h"
#include "og/Screen/callbackNodes.h"
#include "og/Screen/MenuMgr.h"
#include "trig.h"
namespace P2DScreen {
struct Mgr_tuning;

View File

@ -7,6 +7,7 @@
#include "og/Screen/ScaleMgr.h"
#include "og/Screen/DopingScreen.h"
#include "og/Screen/callbackNodes.h"
#include "trig.h"
#include "BitFlag.h"
namespace og {

View File

@ -7,6 +7,7 @@
#include "og/Screen/ScaleMgr.h"
#include "og/Screen/DopingScreen.h"
#include "og/Screen/callbackNodes.h"
#include "trig.h"
namespace P2DScreen {
struct Mgr_tuning;

View File

@ -3614,8 +3614,8 @@ Vector3f ActPathMove::crGetPoint(int idx)
return _24;
}
// breadbug crash happens in this loop.
Game::PathNode* currPathNode = _48;
for (int i = 0; i < idx; i++) {
currPathNode = currPathNode->mNext;
}

View File

@ -8,6 +8,7 @@
#include "LoadResource.h"
#include "JSystem/J2D/J2DAnmLoader.h"
#include "Dolphin/rand.h"
#include "trig.h"
static void _Print(char* format, ...) { OSReport(format, __FILE__); }

View File

@ -6,6 +6,7 @@
#include "types.h"
#include "Morimura/Bases.h"
#include "Morimura/Window.h"
#include "trig.h"
namespace Morimura {

View File

@ -2,6 +2,7 @@
#include "og/Screen/callbackNodes.h"
#include "og/ogLib2D.h"
#include "og/Screen/ogScreen.h"
#include "trig.h"
inline u64 J2DPane::getTagName() const { return mTag; }

View File

@ -2,6 +2,7 @@
#include "og/Screen/StickAnimMgr.h"
#include "og/Screen/anime.h"
#include "og/Screen/ogScreen.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -1,5 +1,6 @@
#include "og/Screen/callbackNodes.h"
#include "og/Screen/ogScreen.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -2,6 +2,7 @@
#include "og/Screen/ScaleMgr.h"
#include "og/Screen/ogScreen.h"
#include "JSystem/JKernel/JKRArchive.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -2,6 +2,7 @@
#include "JSystem/JKernel/JKRArchive.h"
#include "JSystem/JUtility/JUTException.h"
#include "og/Screen/callbackNodes.h"
#include "trig.h"
const char* og::Screen::SujiTex32[11] = { "0_32.bti", "1_32.bti", "2_32.bti", "3_32.bti", "4_32.bti", "5_32.bti",
"6_32.bti", "7_32.bti", "8_32.bti", "9_32.bti", "h_32.bti" };

View File

@ -1,6 +1,7 @@
#include "JSystem/JUtility/JUTTexture.h"
#include "og/Screen/callbackNodes.h"
#include "og/Screen/ogScreen.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -3,6 +3,7 @@
#include "og/Sound.h"
#include "Dolphin/math.h"
#include "Dolphin/rand.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -4,6 +4,7 @@
#include "og/Screen/ogScreen.h"
#include "Dolphin/rand.h"
#include "Dolphin/math.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -4,6 +4,7 @@
#include "og/Sound.h"
#include "og/newScreen/ogUtil.h"
#include "efx2d/T2DSprayset.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -2,6 +2,7 @@
#include "og/Screen/ogScreen.h"
#include "JSystem/J2D/J2DPane.h"
#include "Graphics.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -2,6 +2,7 @@
#include "System.h"
#include "Vector3.h"
#include "og/Screen/ogScreen.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -6,6 +6,7 @@
#include "JSystem/JUtility/JUTTexture.h"
#include "System.h"
#include "og/Sound.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -1,5 +1,6 @@
#include "og/Screen/MapCounter.h"
#include "og/Screen/callbackNodes.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -2,6 +2,7 @@
#include "og/Screen/callbackNodes.h"
#include "System.h"
#include "og/Sound.h"
#include "trig.h"
#include "nans.h"
namespace og {

View File

@ -6,6 +6,7 @@
#include "og/Sound.h"
#include "System.h"
#include "Controller.h"
#include "trig.h"
namespace og {
namespace newScreen {

View File

@ -7,6 +7,7 @@
#include "System.h"
#include "TParticle2dMgr.h"
#include "Dolphin/rand.h"
#include "trig.h"
namespace og {
namespace newScreen {

View File

@ -3,6 +3,7 @@
#include "og/Screen/anime.h"
#include "og/Screen/callbackNodes.h"
#include "og/Sound.h"
#include "trig.h"
static void _Print(char* format, ...) { OSReport(format, __FILE__); }

View File

@ -6,6 +6,7 @@
#include "og/Sound.h"
#include "System.h"
#include "Controller.h"
#include "trig.h"
/*
* --INFO--

View File

@ -6,6 +6,7 @@
#include "og/Sound.h"
#include "System.h"
#include "Controller.h"
#include "trig.h"
/*
* --INFO--

View File

@ -5,6 +5,7 @@
#include "og/Sound.h"
#include "System.h"
#include "Controller.h"
#include "trig.h"
namespace og {
namespace newScreen {

View File

@ -6,6 +6,7 @@
#include "Controller.h"
#include "og/Sound.h"
#include "System.h"
#include "trig.h"
namespace og {
namespace newScreen {

View File

@ -6,6 +6,7 @@
#include "og/Screen/callbackNodes.h"
#include "og/Sound.h"
#include "og/newScreen/WorldMapInfoWindow.h"
#include "trig.h"
#include "System.h"
/*

View File

@ -4,6 +4,7 @@
#include "og/Screen/ogScreen.h"
#include "og/Screen/callbackNodes.h"
#include "og/Sound.h"
#include "trig.h"
namespace og {
namespace newScreen {

View File

@ -1,6 +1,7 @@
#include "og/Screen/PikminCounter.h"
#include "og/Screen/ogScreen.h"
#include "og/Screen/callbackNodes.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -3,6 +3,7 @@
#include "og/Screen/ogScreen.h"
#include "og/Sound.h"
#include "Dolphin/math.h"
#include "trig.h"
namespace og {
namespace Screen {

View File

@ -4,6 +4,7 @@
#include "og/Screen/TotalPokoScreen.h"
#include "og/Sound.h"
#include "System.h"
#include "trig.h"
namespace og {
namespace Screen {

File diff suppressed because it is too large Load Diff