MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / zLightningInit

Function zLightningInit

src/SB/Game/zLightning.cpp:84–204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82}
83
84void zLightningInit()
85{
86 for (S32 i = 0; i < NUM_LIGHTNING; i++)
87 {
88 sLightning[i] = NULL;
89 }
90
91 zSceneFindObject(xStrHash("PAREMIT_EG_SPARK"));
92 RwTexture* tex = (RwTexture*)xSTFindAsset(xStrHash("LIGHTNING"), NULL);
93 if (tex != NULL)
94 {
95 sLightningRaster = tex->raster;
96 }
97
98 for (S32 i = 0; i < 9; i++)
99 {
100 sLFuncX[i].next = &sLFuncX[i + 1];
101 sLFuncY[i].next = &sLFuncY[i + 2];
102 sLFuncZ[i].next = &sLFuncZ[i + 3];
103 }
104
105 sLFuncX[9].next = NULL;
106 sLFuncY[9].next = NULL;
107 sLFuncZ[9].next = NULL;
108
109 for (S32 i = 0; i < 10; i++) {
110 xVec3Init(&sLFuncVal[i], 2.0f * (xurand() - 0.5f), 2.0f * (xurand() - 0.5f), 2.0f * (xurand() - 0.5f));
111 xVec3Init(&sLFuncSlope[i][0], sLFuncSlopeRange * (2.0f * (xurand() - 0.5f)), sLFuncSlopeRange * (2.0f * (xurand() - 0.5f)), sLFuncSlopeRange * (2.0f * (xurand() - 0.5f)));
112 xVec3Init(&sLFuncSlope[i][1], sLFuncSlopeRange * (2.0f * (xurand() - 0.5f)), sLFuncSlopeRange * (2.0f * (xurand() - 0.5f)), sLFuncSlopeRange * (2.0f * (xurand() - 0.5f)));
113
114 sLFuncEnd[i] = 0.25f * (xurand() - 0.5f) + (i + 1);
115 }
116
117 sLFuncEnd[9] = 10.0f;
118
119 for (S32 i = 0; i < 10; i++)
120 {
121 S32 j;
122 F32 prevEnd;
123 if (i == 0)
124 {
125 prevEnd = 0.0f;
126 j = 9;
127 }
128 else
129 {
130 j = i - 1;
131 prevEnd = sLFuncEnd[j];
132 }
133
134 xFuncPiece_EndPoints(&sLFuncX[i], prevEnd, sLFuncEnd[i], sLFuncVal[i].x, sLFuncVal[j].x);
135 xFuncPiece_EndPoints(&sLFuncY[i], prevEnd, sLFuncEnd[i], sLFuncVal[i].y, sLFuncVal[j].y);
136 xFuncPiece_EndPoints(&sLFuncZ[i], prevEnd, sLFuncEnd[i], sLFuncVal[i].z, sLFuncVal[j].z);
137 }
138
139 sLFuncJerkTime = 0.0f;
140
141 gLightningTweakAddInfo.type = 0x3;

Callers 1

zSceneInitFunction · 0.70

Calls 10

zSceneFindObjectFunction · 0.85
xVec3InitFunction · 0.85
xurandFunction · 0.85
xDebugAddSelectTweakFunction · 0.85
lightningTweakChangeTypeFunction · 0.85
xDebugAddFlagTweakFunction · 0.85
xDebugAddTweakFunction · 0.70
xStrHashFunction · 0.50
xSTFindAssetFunction · 0.50
xFuncPiece_EndPointsFunction · 0.50

Tested by

no test coverage detected