rand_seed document
This commit is contained in:
@@ -251,7 +251,7 @@ typedef struct struct_11_s{
|
|||||||
f32 unk4;
|
f32 unk4;
|
||||||
s32 unk8;
|
s32 unk8;
|
||||||
s32 unkC;
|
s32 unkC;
|
||||||
s16 unk10; //trackId
|
s16 track_id; //trackId
|
||||||
s16 unk12;
|
s16 unk12;
|
||||||
u8 unk14;
|
u8 unk14;
|
||||||
u8 unk15;
|
u8 unk15;
|
||||||
|
@@ -24,17 +24,24 @@ CoMusic *D_80276E30 = NULL; //active track ptr
|
|||||||
int D_80276E34 = 0;
|
int D_80276E34 = 0;
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
CoMusic *func_802598B0(enum comusic_e track_id) {
|
/**
|
||||||
|
* @brief returns a pointer to the CoMusic struct with the corresponding track_id
|
||||||
|
* if it exists OR the first free CoMusic struct.
|
||||||
|
*
|
||||||
|
* @param track_id
|
||||||
|
* @return CoMusic*
|
||||||
|
*/
|
||||||
|
CoMusic *__find_track(enum comusic_e track_id) {
|
||||||
CoMusic *iMusPtr;
|
CoMusic *iMusPtr;
|
||||||
CoMusic *freeSlotPtr;
|
CoMusic *freeSlotPtr;
|
||||||
|
|
||||||
freeSlotPtr = NULL;
|
freeSlotPtr = NULL;
|
||||||
for(iMusPtr = D_80276E30 + 1; iMusPtr < D_80276E30 + 5; iMusPtr++) {
|
for(iMusPtr = D_80276E30 + 1; iMusPtr < D_80276E30 + 5; iMusPtr++) {
|
||||||
if (track_id == iMusPtr->unk10) {
|
if (track_id == iMusPtr->track_id) {
|
||||||
return iMusPtr;
|
return iMusPtr;
|
||||||
}
|
}
|
||||||
if (freeSlotPtr == 0) {
|
if (freeSlotPtr == 0) {
|
||||||
if ((s32) iMusPtr->unk10 < 0) {
|
if ((s32) iMusPtr->track_id < 0) {
|
||||||
freeSlotPtr = iMusPtr;
|
freeSlotPtr = iMusPtr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -61,8 +68,8 @@ void func_80259994(CoMusic *this, s32 arg1){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802599B4(CoMusic *this){
|
void func_802599B4(CoMusic *this){
|
||||||
func_80259994(this, func_80250034(this->unk10));
|
func_80259994(this, func_80250034(this->track_id));
|
||||||
this->unk10 = -1;
|
this->track_id = -1;
|
||||||
this->unk14 = 0;
|
this->unk14 = 0;
|
||||||
this->unk15 = 0;
|
this->unk15 = 0;
|
||||||
func_8024FC1C(this - D_80276E30, -1);
|
func_8024FC1C(this - D_80276E30, -1);
|
||||||
@@ -77,7 +84,7 @@ void comusicPlayer_init(void){
|
|||||||
|
|
||||||
D_80276E30 = (CoMusic *) malloc(6*sizeof(CoMusic));
|
D_80276E30 = (CoMusic *) malloc(6*sizeof(CoMusic));
|
||||||
for(iPtr = D_80276E30; iPtr < D_80276E30 + 6; iPtr++){
|
for(iPtr = D_80276E30; iPtr < D_80276E30 + 6; iPtr++){
|
||||||
iPtr->unk10 = -1;
|
iPtr->track_id = -1;
|
||||||
iPtr->unk8 = 0;
|
iPtr->unk8 = 0;
|
||||||
iPtr->unk12 = 0;
|
iPtr->unk12 = 0;
|
||||||
iPtr->unkC = 0;
|
iPtr->unkC = 0;
|
||||||
@@ -105,12 +112,11 @@ void comusicPlayer_free(void){
|
|||||||
D_80276E30 = NULL;
|
D_80276E30 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
//comusic_count
|
s32 comusic_active_track_count(void){
|
||||||
s32 func_80259B8C(void){
|
|
||||||
CoMusic * iPtr;
|
CoMusic * iPtr;
|
||||||
s32 cnt = 0;
|
s32 cnt = 0;
|
||||||
for(iPtr = D_80276E30; iPtr < D_80276E30 + 6; iPtr++){
|
for(iPtr = D_80276E30; iPtr < D_80276E30 + 6; iPtr++){
|
||||||
if(iPtr->unk10 >= 0)
|
if(iPtr->track_id >= 0)
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
return cnt;
|
return cnt;
|
||||||
@@ -124,11 +130,11 @@ void comusicPlayer_update(void) {
|
|||||||
|
|
||||||
dt = time_getDelta();
|
dt = time_getDelta();
|
||||||
for(var_s0 = D_80276E30; var_s0 < &D_80276E30[6]; var_s0++){
|
for(var_s0 = D_80276E30; var_s0 < &D_80276E30[6]; var_s0++){
|
||||||
if (var_s0->unk10 >= 0) {
|
if (var_s0->track_id >= 0) {
|
||||||
temp_lo = var_s0 - D_80276E30;
|
temp_lo = var_s0 - D_80276E30;
|
||||||
var_s0->unk4 = ml_min_f(var_s0->unk4 + dt, 600.0f);
|
var_s0->unk4 = ml_min_f(var_s0->unk4 + dt, 600.0f);
|
||||||
if ((var_s0->unk4 > 1.0f) && func_80250074(temp_lo)) {
|
if ((var_s0->unk4 > 1.0f) && func_80250074(temp_lo)) {
|
||||||
func_8025A7DC(var_s0->unk10);
|
func_8025A7DC(var_s0->track_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -138,7 +144,7 @@ void comusicPlayer_update(void) {
|
|||||||
|
|
||||||
D_80276E34 = FALSE;
|
D_80276E34 = FALSE;
|
||||||
for(var_s0 = D_80276E30; var_s0 < &D_80276E30[6]; var_s0++){
|
for(var_s0 = D_80276E30; var_s0 < &D_80276E30[6]; var_s0++){
|
||||||
if (var_s0->unk10 >= 0) {
|
if (var_s0->track_id >= 0) {
|
||||||
if (var_s0->unk12 != 0) {
|
if (var_s0->unk12 != 0) {
|
||||||
temp_lo = var_s0 - D_80276E30;
|
temp_lo = var_s0 - D_80276E30;
|
||||||
if (var_s0->unk0 > 0.0f) {
|
if (var_s0->unk0 > 0.0f) {
|
||||||
@@ -212,8 +218,8 @@ void func_80259F7C(CoMusic *self, s32 *arg1, s32 *arg2, s32 *arg3) {
|
|||||||
|
|
||||||
if (var_s2 < 0) {
|
if (var_s2 < 0) {
|
||||||
temp_v0 = (struct12s *)freelist_at(self->unk18, 1);
|
temp_v0 = (struct12s *)freelist_at(self->unk18, 1);
|
||||||
if (temp_v0->unk0 < func_80250034(self->unk10)) {
|
if (temp_v0->unk0 < func_80250034(self->track_id)) {
|
||||||
var_s2 = func_80250034(self->unk10);
|
var_s2 = func_80250034(self->track_id);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
var_s2 = temp_v0->unk0;
|
var_s2 = temp_v0->unk0;
|
||||||
@@ -245,11 +251,11 @@ void func_80259F7C(CoMusic *self, s32 *arg1, s32 *arg2, s32 *arg3) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8025A104(enum comusic_e arg0, s32 arg1){
|
void func_8025A104(enum comusic_e arg0, s32 arg1){
|
||||||
if (arg0 != D_80276E30[0].unk10){
|
if (arg0 != D_80276E30[0].track_id){
|
||||||
func_8024FC1C(0, arg0);
|
func_8024FC1C(0, arg0);
|
||||||
}
|
}
|
||||||
func_8024FD28(0, (s16)arg1);
|
func_8024FD28(0, (s16)arg1);
|
||||||
D_80276E30[0].unk10 = (s16) arg0;
|
D_80276E30[0].track_id = (s16) arg0;
|
||||||
D_80276E30[0].unk8 = arg1;
|
D_80276E30[0].unk8 = arg1;
|
||||||
D_80276E30[0].unk0 = 0.0f;
|
D_80276E30[0].unk0 = 0.0f;
|
||||||
D_80276E30[0].unk12 = 0;
|
D_80276E30[0].unk12 = 0;
|
||||||
@@ -260,9 +266,9 @@ void func_8025A104(enum comusic_e arg0, s32 arg1){
|
|||||||
|
|
||||||
void func_8025A1A8(enum comusic_e arg0){
|
void func_8025A1A8(enum comusic_e arg0){
|
||||||
|
|
||||||
if (arg0 != D_80276E30[0].unk10){
|
if (arg0 != D_80276E30[0].track_id){
|
||||||
func_8024FC1C(0, arg0);
|
func_8024FC1C(0, arg0);
|
||||||
D_80276E30[0].unk10 = (s16) arg0;
|
D_80276E30[0].track_id = (s16) arg0;
|
||||||
D_80276E30[0].unk8 = func_80250034(arg0);
|
D_80276E30[0].unk8 = func_80250034(arg0);
|
||||||
D_80276E30[0].unk0 = 0.0f;
|
D_80276E30[0].unk0 = 0.0f;
|
||||||
D_80276E30[0].unk12 = 0;
|
D_80276E30[0].unk12 = 0;
|
||||||
@@ -276,9 +282,9 @@ void func_8025A23C(s32 arg0){
|
|||||||
CoMusic *music = &D_80276E30[5];
|
CoMusic *music = &D_80276E30[5];
|
||||||
s32 temp_v0;
|
s32 temp_v0;
|
||||||
|
|
||||||
if (arg0 != music->unk10){
|
if (arg0 != music->track_id){
|
||||||
func_8024FC1C(5, arg0);
|
func_8024FC1C(5, arg0);
|
||||||
music->unk10 = (s16) arg0;
|
music->track_id = (s16) arg0;
|
||||||
temp_v0 = func_80250034(arg0);
|
temp_v0 = func_80250034(arg0);
|
||||||
music->unk8 = temp_v0;
|
music->unk8 = temp_v0;
|
||||||
music->unk12 = 0;
|
music->unk12 = 0;
|
||||||
@@ -302,7 +308,7 @@ void func_8025A2FC(s32 arg0, s32 arg1){
|
|||||||
|
|
||||||
func_8025A55C(arg0, arg1, 1);
|
func_8025A55C(arg0, arg1, 1);
|
||||||
for (i = 1; i < 5; i++){
|
for (i = 1; i < 5; i++){
|
||||||
s16 val = (i + D_80276E30)->unk10; // Doesn't match with D_80276E30[i]
|
s16 val = (i + D_80276E30)->track_id; // Doesn't match with D_80276E30[i]
|
||||||
if (val >= 0){
|
if (val >= 0){
|
||||||
func_8025ABB8(val, arg0, arg1, 1);
|
func_8025ABB8(val, arg0, arg1, 1);
|
||||||
}
|
}
|
||||||
@@ -317,8 +323,8 @@ void func_8025A388(s32 arg0, s32 arg1) {
|
|||||||
}
|
}
|
||||||
for (i = 1; i < 5; i++){
|
for (i = 1; i < 5; i++){
|
||||||
CoMusic *current = (i + D_80276E30); // Doesn't match with D_80276E30[i]
|
CoMusic *current = (i + D_80276E30); // Doesn't match with D_80276E30[i]
|
||||||
if (current->unk10 >= 0 && current->unk14 == 0){
|
if (current->track_id >= 0 && current->unk14 == 0){
|
||||||
func_8025ABB8(current->unk10, arg0, arg1, 1);
|
func_8025ABB8(current->track_id, arg0, arg1, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -328,7 +334,7 @@ void func_8025A430(s32 arg0, s32 arg1, s32 arg2){
|
|||||||
|
|
||||||
func_8025A55C(arg0, arg1, arg2);
|
func_8025A55C(arg0, arg1, arg2);
|
||||||
for (i = 1; i < 5; i++){
|
for (i = 1; i < 5; i++){
|
||||||
s16 val = (i + D_80276E30)->unk10; // Doesn't match with D_80276E30[i]
|
s16 val = (i + D_80276E30)->track_id; // Doesn't match with D_80276E30[i]
|
||||||
if (val >= 0){
|
if (val >= 0){
|
||||||
func_8025ABB8(val, arg0, arg1, arg2);
|
func_8025ABB8(val, arg0, arg1, arg2);
|
||||||
}
|
}
|
||||||
@@ -336,7 +342,7 @@ void func_8025A430(s32 arg0, s32 arg1, s32 arg2){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8025A4C4(s32 arg0, s32 arg1, s32 *arg2){
|
void func_8025A4C4(s32 arg0, s32 arg1, s32 *arg2){
|
||||||
if(D_80276E30[0].unk10 >= 0){
|
if(D_80276E30[0].track_id >= 0){
|
||||||
func_80259F7C(&D_80276E30[0], &arg0, &arg1, arg2);
|
func_80259F7C(&D_80276E30[0], &arg0, &arg1, arg2);
|
||||||
if(arg0 != D_80276E30[0].unk8){
|
if(arg0 != D_80276E30[0].unk8){
|
||||||
if(D_80276E30[0].unk8 < arg0){
|
if(D_80276E30[0].unk8 < arg0){
|
||||||
@@ -368,21 +374,22 @@ void func_8025A5AC(enum comusic_e comusic_id, s32 arg1, s32 arg2){
|
|||||||
arg1 = func_80250034(comusic_id);
|
arg1 = func_80250034(comusic_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp_a2 = func_802598B0(comusic_id);
|
tmp_a2 = __find_track(comusic_id);
|
||||||
if(tmp_a2 == NULL)
|
if(tmp_a2 == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sp20 = (tmp_a2 - D_80276E30);
|
sp20 = (tmp_a2 - D_80276E30);
|
||||||
if(tmp_a2->unk10 < 0 || arg2){
|
if(tmp_a2->track_id < 0 || arg2){
|
||||||
switch(comusic_id){
|
switch(comusic_id){
|
||||||
case COMUSIC_15_EXTRA_LIFE_COLLECTED:
|
case COMUSIC_15_EXTRA_LIFE_COLLECTED:
|
||||||
if(map_get() != MAP_10_BGS_MR_VILE){
|
if(map_get() == MAP_10_BGS_MR_VILE){
|
||||||
|
break;
|
||||||
|
}
|
||||||
case COMUSIC_3B_MINIGAME_VICTORY:
|
case COMUSIC_3B_MINIGAME_VICTORY:
|
||||||
case COMUSIC_3C_MINIGAME_LOSS:
|
case COMUSIC_3C_MINIGAME_LOSS:
|
||||||
func_8025AE50(4000, 2.0f);
|
func_8025AE50(4000, 2.0f);
|
||||||
}//L8025A668
|
|
||||||
}
|
}
|
||||||
tmp_a2->unk10 = comusic_id;
|
tmp_a2->track_id = comusic_id;
|
||||||
tmp_a2->unk12 = 0;
|
tmp_a2->unk12 = 0;
|
||||||
tmp_a2->unk15 = 0;
|
tmp_a2->unk15 = 0;
|
||||||
tmp_a2->unk4 = 0.0f;
|
tmp_a2->unk4 = 0.0f;
|
||||||
@@ -407,13 +414,13 @@ void func_8025A70C(enum comusic_e track_id){
|
|||||||
CoMusic *trackPtr;
|
CoMusic *trackPtr;
|
||||||
s32 indx;
|
s32 indx;
|
||||||
|
|
||||||
trackPtr = func_802598B0(track_id);
|
trackPtr = __find_track(track_id);
|
||||||
if(trackPtr == NULL)
|
if(trackPtr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
indx = trackPtr - D_80276E30;
|
indx = trackPtr - D_80276E30;
|
||||||
if(trackPtr->unk10 < 0){
|
if(trackPtr->track_id < 0){
|
||||||
trackPtr->unk10 = track_id;
|
trackPtr->track_id = track_id;
|
||||||
trackPtr->unk12 = 0;
|
trackPtr->unk12 = 0;
|
||||||
trackPtr->unk4 = 0.0f;
|
trackPtr->unk4 = 0.0f;
|
||||||
func_8024FC1C( indx, track_id);
|
func_8024FC1C( indx, track_id);
|
||||||
@@ -430,8 +437,8 @@ void func_8025A788(enum comusic_e comusic_id, f32 delay1, f32 delay2){
|
|||||||
void func_8025A7DC(enum comusic_e track_id){
|
void func_8025A7DC(enum comusic_e track_id){
|
||||||
CoMusic *trackPtr;
|
CoMusic *trackPtr;
|
||||||
|
|
||||||
trackPtr = func_802598B0(track_id);
|
trackPtr = __find_track(track_id);
|
||||||
if (trackPtr != NULL && trackPtr->unk10 >= 0){
|
if (trackPtr != NULL && trackPtr->track_id >= 0){
|
||||||
func_802599B4(trackPtr);
|
func_802599B4(trackPtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -447,7 +454,7 @@ s32 func_8025A818(void){
|
|||||||
s32 func_8025A864(enum comusic_e track_id){
|
s32 func_8025A864(enum comusic_e track_id){
|
||||||
CoMusic *trackPtr;
|
CoMusic *trackPtr;
|
||||||
|
|
||||||
trackPtr = func_802598B0(track_id);
|
trackPtr = __find_track(track_id);
|
||||||
if (trackPtr != NULL && trackPtr->unkC == 0 && trackPtr->unk8 <= 0){
|
if (trackPtr != NULL && trackPtr->unkC == 0 && trackPtr->unk8 <= 0){
|
||||||
func_802599B4(trackPtr);
|
func_802599B4(trackPtr);
|
||||||
return 1;
|
return 1;
|
||||||
@@ -458,14 +465,14 @@ s32 func_8025A864(enum comusic_e track_id){
|
|||||||
void func_8025A8B8(enum comusic_e track_id, s32 arg1){
|
void func_8025A8B8(enum comusic_e track_id, s32 arg1){
|
||||||
CoMusic *trackPtr;
|
CoMusic *trackPtr;
|
||||||
|
|
||||||
trackPtr = func_802598B0(track_id);
|
trackPtr = __find_track(track_id);
|
||||||
if (trackPtr != NULL){
|
if (trackPtr != NULL){
|
||||||
trackPtr->unk14 = arg1;
|
trackPtr->unk14 = arg1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8025A8E4(s32 arg0) {
|
void func_8025A8E4(s32 arg0) {
|
||||||
if (D_80276E30[0].unk10 >= 0) {
|
if (D_80276E30[0].track_id >= 0) {
|
||||||
D_80276E30[0].unk14 = arg0;
|
D_80276E30[0].unk14 = arg0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -474,7 +481,7 @@ void func_8025A904(void){
|
|||||||
CoMusic *trackPtr = &D_80276E30[0];
|
CoMusic *trackPtr = &D_80276E30[0];
|
||||||
|
|
||||||
while (trackPtr < &D_80276E30[6]){
|
while (trackPtr < &D_80276E30[6]){
|
||||||
if (trackPtr->unk10 >= 0){
|
if (trackPtr->track_id >= 0){
|
||||||
func_802599B4(trackPtr);
|
func_802599B4(trackPtr);
|
||||||
}
|
}
|
||||||
trackPtr++;
|
trackPtr++;
|
||||||
@@ -486,7 +493,7 @@ void func_8025A96C(void){
|
|||||||
CoMusic *iPtr;
|
CoMusic *iPtr;
|
||||||
|
|
||||||
for(iPtr = &D_80276E30[1]; iPtr < &D_80276E30[6]; iPtr++){
|
for(iPtr = &D_80276E30[1]; iPtr < &D_80276E30[6]; iPtr++){
|
||||||
if(iPtr->unk10 >= 0){
|
if(iPtr->track_id >= 0){
|
||||||
func_802599B4(iPtr);
|
func_802599B4(iPtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -497,7 +504,7 @@ void func_8025A9D4(void){
|
|||||||
CoMusic *iPtr;
|
CoMusic *iPtr;
|
||||||
|
|
||||||
for(iPtr = &D_80276E30[0]; iPtr < &D_80276E30[6]; iPtr++){
|
for(iPtr = &D_80276E30[0]; iPtr < &D_80276E30[6]; iPtr++){
|
||||||
if(iPtr->unk10 >= 0 && !iPtr->unk14){
|
if(iPtr->track_id >= 0 && !iPtr->unk14){
|
||||||
func_802599B4(iPtr);
|
func_802599B4(iPtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -508,7 +515,7 @@ void func_8025AA48(void){
|
|||||||
CoMusic *iPtr;
|
CoMusic *iPtr;
|
||||||
|
|
||||||
for(iPtr = &D_80276E30[1]; iPtr < &D_80276E30[6]; iPtr++){
|
for(iPtr = &D_80276E30[1]; iPtr < &D_80276E30[6]; iPtr++){
|
||||||
if(iPtr->unk10 >= 0 && !iPtr->unk14){
|
if(iPtr->track_id >= 0 && !iPtr->unk14){
|
||||||
func_802599B4(iPtr);
|
func_802599B4(iPtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -518,7 +525,7 @@ void func_8025AA48(void){
|
|||||||
void func_8025AABC(enum comusic_e track_id){
|
void func_8025AABC(enum comusic_e track_id){
|
||||||
CoMusic *trackPtr;
|
CoMusic *trackPtr;
|
||||||
|
|
||||||
if(trackPtr = func_802598B0(track_id)){
|
if(trackPtr = __find_track(track_id)){
|
||||||
trackPtr->unk15 = 1;
|
trackPtr->unk15 = 1;
|
||||||
if(!trackPtr->unk8)
|
if(!trackPtr->unk8)
|
||||||
func_802599B4(trackPtr);
|
func_802599B4(trackPtr);
|
||||||
@@ -541,32 +548,34 @@ void comusic_8025AB78(enum comusic_e comusic_id, s32 arg1, s32 arg2, s32 arg3){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8025ABB8(enum comusic_e comusic_id, s32 arg1, s32 arg2, s32 arg3){
|
void func_8025ABB8(enum comusic_e comusic_id, s32 arg1, s32 arg2, s32 arg3){
|
||||||
func_8025AC7C(comusic_id, arg1, arg2, 0.0f, (s32)&(func_802598B0(comusic_id)->unk1C[arg3]), "comusic.c", 0x3aa);
|
func_8025AC7C(comusic_id, arg1, arg2, 0.0f, (s32)&(__find_track(comusic_id)->unk1C[arg3]), "comusic.c", 0x3aa);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8025AC20(enum comusic_e comusic_id, s32 arg1, s32 arg2, f32 arg3, char* arg4, s32 char5){
|
void func_8025AC20(enum comusic_e comusic_id, s32 arg1, s32 arg2, f32 arg3, char* arg4, s32 char5){
|
||||||
func_8025AC7C(comusic_id, arg1, arg2, 0.0f, (s32) func_802598B0(comusic_id)->unk1C, "comusic.c", 0x3b1);
|
func_8025AC7C(comusic_id, arg1, arg2, 0.0f, (s32) __find_track(comusic_id)->unk1C, "comusic.c", 0x3b1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8025AC7C(enum comusic_e comusic_id, s32 arg1, s32 arg2, f32 arg3, s32 arg4, char* arg5, s32 arg6){
|
void func_8025AC7C(enum comusic_e comusic_id, s32 arg1, s32 arg2, f32 arg3, s32 arg4, char* arg5, s32 arg6){
|
||||||
CoMusic *trackPtr;
|
CoMusic *trackPtr;
|
||||||
u32 sp24;
|
u32 slot_index;
|
||||||
|
|
||||||
trackPtr = func_802598B0(comusic_id);
|
//get track location
|
||||||
|
trackPtr = __find_track(comusic_id);
|
||||||
if(trackPtr == NULL)
|
if(trackPtr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(trackPtr->unk10 < 0){ //Track not ready
|
//check if track is loaded in slot
|
||||||
|
if(trackPtr->track_id < 0){ //Track not loaded
|
||||||
if(arg1 == 0)
|
if(arg1 == 0)
|
||||||
return;
|
return;
|
||||||
sp24 = (trackPtr - D_80276E30);
|
slot_index = (trackPtr - D_80276E30);
|
||||||
func_8024FC1C(sp24, comusic_id);
|
func_8024FC1C(slot_index, comusic_id);
|
||||||
trackPtr->unk10 = comusic_id;
|
trackPtr->track_id = comusic_id;
|
||||||
trackPtr->unk8 = 0;
|
trackPtr->unk8 = 0;
|
||||||
trackPtr->unk15 = 0;
|
trackPtr->unk15 = 0;
|
||||||
trackPtr->unk4 = 0.0f;
|
trackPtr->unk4 = 0.0f;
|
||||||
func_80259994(trackPtr, 0);
|
func_80259994(trackPtr, 0);
|
||||||
func_8024FD28(sp24, 0);
|
func_8024FD28(slot_index, 0);
|
||||||
}
|
}
|
||||||
func_80259F7C(trackPtr,&arg1, &arg2, arg4);
|
func_80259F7C(trackPtr,&arg1, &arg2, arg4);
|
||||||
trackPtr->unk0 = arg3;
|
trackPtr->unk0 = arg3;
|
||||||
@@ -578,17 +587,17 @@ void func_8025AC7C(enum comusic_e comusic_id, s32 arg1, s32 arg2, f32 arg3, s32
|
|||||||
|
|
||||||
//comusic_trackQueued
|
//comusic_trackQueued
|
||||||
int func_8025AD7C(enum comusic_e arg0){
|
int func_8025AD7C(enum comusic_e arg0){
|
||||||
CoMusic * trackPtr = func_802598B0(arg0);
|
CoMusic * trackPtr = __find_track(arg0);
|
||||||
return (trackPtr == NULL || trackPtr->unk10 == -1)? 0 : 1;
|
return (trackPtr == NULL || trackPtr->track_id == -1)? 0 : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//comusic_isPrimaryTrack
|
//comusic_isPrimaryTrack
|
||||||
int func_8025ADBC(enum comusic_e arg0){
|
int func_8025ADBC(enum comusic_e arg0){
|
||||||
return D_80276E30[0].unk10 == arg0;
|
return D_80276E30[0].track_id == arg0;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8025ADD4(enum comusic_e id){
|
s32 func_8025ADD4(enum comusic_e id){
|
||||||
CoMusic * ptr = func_802598B0(id);
|
CoMusic * ptr = __find_track(id);
|
||||||
return ptr - D_80276E30;
|
return ptr - D_80276E30;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -603,7 +612,7 @@ void func_8025AE50(s32 arg0, f32 arg1){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8025AEA0(enum comusic_e track_id, s32 arg1){
|
void func_8025AEA0(enum comusic_e track_id, s32 arg1){
|
||||||
CoMusic *ptr = func_802598B0(track_id);
|
CoMusic *ptr = __find_track(track_id);
|
||||||
|
|
||||||
if(!ptr) return;
|
if(!ptr) return;
|
||||||
func_8024FDDC(ptr - D_80276E30, arg1);
|
func_8024FDDC(ptr - D_80276E30, arg1);
|
||||||
|
@@ -19,11 +19,11 @@ f32 viewportPosition[3];
|
|||||||
f32 viewportRotation[3];
|
f32 viewportRotation[3];
|
||||||
f32 D_80280ECC;
|
f32 D_80280ECC;
|
||||||
f32 D_80280ED0[4][4];
|
f32 D_80280ED0[4][4];
|
||||||
Vp D_80280F10[8];
|
Vp s_viewport_stack[8];
|
||||||
int D_80280F90;
|
int D_80280F90;
|
||||||
f32 D_80280F98[4][4];
|
f32 D_80280F98[4][4];
|
||||||
Mtx D_80280FD8;
|
Mtx D_80280FD8;
|
||||||
s32 D_80281018; //viewport indx
|
s32 s_viewport_stack_index; //viewport indx
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ void func_8024C964(Gfx **, Mtx **, f32, f32);
|
|||||||
void func_8024CD7C(int);
|
void func_8024CD7C(int);
|
||||||
void viewport_set_position_f3(f32, f32, f32);
|
void viewport_set_position_f3(f32, f32, f32);
|
||||||
void viewport_set_rotation_f3(f32, f32, f32);
|
void viewport_set_rotation_f3(f32, f32, f32);
|
||||||
void func_8024CE60(f32, f32);
|
void viewport_set_near_far(f32, f32);
|
||||||
void func_8024CE74(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
void func_8024CE74(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||||
void viewport_set_field_of_view(f32);
|
void viewport_set_field_of_view(f32);
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ void viewport_get_rotation_f3(f32 *pitch, f32 *yaw, f32 *roll){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8024C7B8(Gfx **gfx, Mtx **mtx){
|
void func_8024C7B8(Gfx **gfx, Mtx **mtx){
|
||||||
gSPViewport((*gfx)++, &D_80280F10[D_80281018]);
|
gSPViewport((*gfx)++, &s_viewport_stack[s_viewport_stack_index]);
|
||||||
|
|
||||||
guOrtho(*mtx, -(2*(f32)framebuffer_width), (2*(f32)framebuffer_width), -(2*(f32)framebuffer_height), (2*(f32)framebuffer_height), 1.0f, 20.0f, 1.0f);
|
guOrtho(*mtx, -(2*(f32)framebuffer_width), (2*(f32)framebuffer_width), -(2*(f32)framebuffer_height), (2*(f32)framebuffer_height), 1.0f, 20.0f, 1.0f);
|
||||||
gSPMatrix((*gfx)++, OS_K0_TO_PHYSICAL((*mtx)++), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
gSPMatrix((*gfx)++, OS_K0_TO_PHYSICAL((*mtx)++), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||||
@@ -98,7 +98,7 @@ void func_8024C7B8(Gfx **gfx, Mtx **mtx){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8024C904(Gfx **gfx, Mtx **mtx){
|
void func_8024C904(Gfx **gfx, Mtx **mtx){
|
||||||
gSPViewport((*gfx)++, &D_80280F10[D_80281018]);
|
gSPViewport((*gfx)++, &s_viewport_stack[s_viewport_stack_index]);
|
||||||
func_8024C964(gfx, mtx, s_viewport_near, s_viewport_far);
|
func_8024C964(gfx, mtx, s_viewport_near, s_viewport_far);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,7 +134,7 @@ void func_8024CBD4(Gfx **gfx, Mtx **mtx){
|
|||||||
func_8024C964(gfx, mtx, s_viewport_near, s_viewport_far);
|
func_8024C964(gfx, mtx, s_viewport_near, s_viewport_far);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8024CC00(void){}
|
void viewport_debug(void){}
|
||||||
|
|
||||||
void func_8024CC08(f32 arg0){
|
void func_8024CC08(f32 arg0){
|
||||||
if(90.0f < arg0) arg0 = 90.0f;
|
if(90.0f < arg0) arg0 = 90.0f;
|
||||||
@@ -150,12 +150,12 @@ void func_8024CC5C(void){
|
|||||||
func_8024CE74((s32) ((f32)framebuffer_width/2), (s32) ((f32)framebuffer_height/2), (s32) ((f32)framebuffer_width/2), (s32) ((f32)framebuffer_height/2));
|
func_8024CE74((s32) ((f32)framebuffer_width/2), (s32) ((f32)framebuffer_height/2), (s32) ((f32)framebuffer_width/2), (s32) ((f32)framebuffer_height/2));
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8024CCC4(void){
|
void viewport_reset(void){
|
||||||
func_8024CD7C(1);
|
func_8024CD7C(1);
|
||||||
viewport_set_position_f3(0.0f, 0.0f, 0.0f);
|
viewport_set_position_f3(0.0f, 0.0f, 0.0f);
|
||||||
viewport_set_rotation_f3(0.0f, 0.0f, 0.0f);
|
viewport_set_rotation_f3(0.0f, 0.0f, 0.0f);
|
||||||
func_8024CC08(40.0f);
|
func_8024CC08(40.0f);
|
||||||
func_8024CE60(1.0f, 10000.0f);
|
viewport_set_near_far(1.0f, 10000.0f);
|
||||||
func_8024CC5C();
|
func_8024CC5C();
|
||||||
viewport_set_field_of_view(VIEWPORT_FOVY_DEFAULT);
|
viewport_set_field_of_view(VIEWPORT_FOVY_DEFAULT);
|
||||||
mlMtxIdent();
|
mlMtxIdent();
|
||||||
@@ -194,35 +194,35 @@ void viewport_set_rotation_f3(f32 pitch, f32 yaw, f32 roll){
|
|||||||
viewportRotation[2] = roll;
|
viewportRotation[2] = roll;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8024CE60(f32 near, f32 far){
|
void viewport_set_near_far(f32 near, f32 far){
|
||||||
s_viewport_near = near;
|
s_viewport_near = near;
|
||||||
s_viewport_far = far;
|
s_viewport_far = far;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8024CE74(s32 arg0, s32 arg1, s32 arg2, s32 arg3){
|
void func_8024CE74(s32 arg0, s32 arg1, s32 arg2, s32 arg3){
|
||||||
D_80281018 = (D_80281018 + 1) % 8;
|
s_viewport_stack_index = (s_viewport_stack_index + 1) % 8;
|
||||||
D_80280F10[D_80281018].vp.vscale[0] = arg0 << 2;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[0] = arg0 << 2;
|
||||||
D_80280F10[D_80281018].vp.vscale[1] = arg1 << 2;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[1] = arg1 << 2;
|
||||||
D_80280F10[D_80281018].vp.vscale[2] = 0x1ff;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[2] = 0x1ff;
|
||||||
D_80280F10[D_80281018].vp.vscale[3] = 0;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[3] = 0;
|
||||||
D_80280F10[D_80281018].vp.vtrans[0] = arg2 << 2;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[0] = arg2 << 2;
|
||||||
D_80280F10[D_80281018].vp.vtrans[1] = arg3 << 2;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[1] = arg3 << 2;
|
||||||
D_80280F10[D_80281018].vp.vtrans[2] = 0x1ff;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[2] = 0x1ff;
|
||||||
D_80280F10[D_80281018].vp.vtrans[3] = 0;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[3] = 0;
|
||||||
osWritebackDCache(&D_80280F10[D_80281018], sizeof(Vp)*8);
|
osWritebackDCache(&s_viewport_stack[s_viewport_stack_index], sizeof(Vp)*8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8024CF10(f32 arg0, f32 arg1, f32 arg2, f32 arg3){
|
void func_8024CF10(f32 arg0, f32 arg1, f32 arg2, f32 arg3){
|
||||||
D_80281018 = (D_80281018 + 1) % 8;
|
s_viewport_stack_index = (s_viewport_stack_index + 1) % 8;
|
||||||
D_80280F10[D_80281018].vp.vscale[0] = arg0*4;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[0] = arg0*4;
|
||||||
D_80280F10[D_80281018].vp.vscale[1] = arg1*4;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[1] = arg1*4;
|
||||||
D_80280F10[D_80281018].vp.vscale[2] = 0x1ff;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[2] = 0x1ff;
|
||||||
D_80280F10[D_80281018].vp.vscale[3] = 0;
|
s_viewport_stack[s_viewport_stack_index].vp.vscale[3] = 0;
|
||||||
D_80280F10[D_80281018].vp.vtrans[0] = arg2*4;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[0] = arg2*4;
|
||||||
D_80280F10[D_80281018].vp.vtrans[1] = arg3*4;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[1] = arg3*4;
|
||||||
D_80280F10[D_80281018].vp.vtrans[2] = 0x1ff;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[2] = 0x1ff;
|
||||||
D_80280F10[D_80281018].vp.vtrans[3] = 0;
|
s_viewport_stack[s_viewport_stack_index].vp.vtrans[3] = 0;
|
||||||
osWritebackDCache(&D_80280F10[D_80281018], sizeof(Vp)*8);
|
osWritebackDCache(&s_viewport_stack[s_viewport_stack_index], sizeof(Vp)*8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void viewport_update(void){
|
void viewport_update(void){
|
||||||
|
@@ -892,7 +892,7 @@ void baMarker_update(void){
|
|||||||
|
|
||||||
if ((D_8037BF88 != 0)){
|
if ((D_8037BF88 != 0)){
|
||||||
temp_s0 = func_8024FEEC(func_8025ADD4(COMUSIC_30_5TH_JINJO_COLLECTED) & 0xFF);
|
temp_s0 = func_8024FEEC(func_8025ADD4(COMUSIC_30_5TH_JINJO_COLLECTED) & 0xFF);
|
||||||
if((func_80259B8C() < 4 && temp_s0 >= 0xBB9) || !func_8025AD7C(COMUSIC_30_5TH_JINJO_COLLECTED)){
|
if((comusic_active_track_count() < 4 && temp_s0 >= 0xBB9) || !func_8025AD7C(COMUSIC_30_5TH_JINJO_COLLECTED)){
|
||||||
func_8028F918(0);
|
func_8028F918(0);
|
||||||
D_8037BF88 = 0;
|
D_8037BF88 = 0;
|
||||||
}
|
}
|
||||||
|
@@ -50,7 +50,7 @@ typedef struct{
|
|||||||
|
|
||||||
extern void item_set(enum item_e, s32);
|
extern void item_set(enum item_e, s32);
|
||||||
extern void actor_postdrawMethod(ActorMarker *);
|
extern void actor_postdrawMethod(ActorMarker *);
|
||||||
extern void func_8024CE60(f32, f32);
|
extern void viewport_set_near_far(f32, f32);
|
||||||
|
|
||||||
Actor *chBottlesBonus_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
Actor *chBottlesBonus_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||||
void chBottlesBonus_update(Actor *this);
|
void chBottlesBonus_update(Actor *this);
|
||||||
@@ -123,7 +123,7 @@ void chBottlesBonus_func_802DD080(Gfx **gfx, Mtx **mtx) {
|
|||||||
f32 vp_rotation[3];
|
f32 vp_rotation[3];
|
||||||
|
|
||||||
func_8024E258();
|
func_8024E258();
|
||||||
func_8024CE60(50.0f, 2000.0f);
|
viewport_set_near_far(50.0f, 2000.0f);
|
||||||
if (getGameMode() == GAME_MODE_A_SNS_PICTURE) {
|
if (getGameMode() == GAME_MODE_A_SNS_PICTURE) {
|
||||||
vp_rotation[0] = 0.0f;
|
vp_rotation[0] = 0.0f;
|
||||||
vp_rotation[1] = 0.0f;
|
vp_rotation[1] = 0.0f;
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
extern void func_8024C510(f32);
|
extern void func_8024C510(f32);
|
||||||
extern void viewport_set_position_f3(f32, f32, f32);
|
extern void viewport_set_position_f3(f32, f32, f32);
|
||||||
extern void viewport_set_rotation_f3(f32, f32, f32);
|
extern void viewport_set_rotation_f3(f32, f32, f32);
|
||||||
extern void func_8024CE60(f32, f32);
|
extern void viewport_set_near_far(f32, f32);
|
||||||
extern void func_802F5374(void);
|
extern void func_802F5374(void);
|
||||||
extern void func_802FA0F8(void);
|
extern void func_802FA0F8(void);
|
||||||
extern void timedFuncQueue_update(void);
|
extern void timedFuncQueue_update(void);
|
||||||
@@ -285,7 +285,7 @@ s32 func_802E3F80(void){
|
|||||||
//game_draw
|
//game_draw
|
||||||
void func_802E3F8C(s32 arg0){
|
void func_802E3F8C(s32 arg0){
|
||||||
Gfx *sp34;
|
Gfx *sp34;
|
||||||
Gfx *sp30;
|
Gfx *gfx_start;
|
||||||
Gfx *sp2C;
|
Gfx *sp2C;
|
||||||
Mtx *sp28;
|
Mtx *sp28;
|
||||||
Vtx *sp24;
|
Vtx *sp24;
|
||||||
@@ -297,12 +297,12 @@ void func_802E3F8C(s32 arg0){
|
|||||||
if(D_8037E8E0.unkC == 1){
|
if(D_8037E8E0.unkC == 1){
|
||||||
func_80254404(&sp34, &sp28, &sp24);
|
func_80254404(&sp34, &sp28, &sp24);
|
||||||
}
|
}
|
||||||
sp30 = sp34;
|
gfx_start = sp34;
|
||||||
func_802E39D0(&sp34, &sp28, &sp24, func_8024BDA0(), arg0);
|
func_802E39D0(&sp34, &sp28, &sp24, func_8024BDA0(), arg0);
|
||||||
if(D_8037E8E0.unkC == 0){
|
if(D_8037E8E0.unkC == 0){
|
||||||
sp2C = sp34;
|
sp2C = sp34;
|
||||||
func_8024C1DC();
|
func_8024C1DC();
|
||||||
func_80253EC4(sp30, sp2C);
|
func_80253EC4(gfx_start, sp2C);
|
||||||
if(arg0){
|
if(arg0){
|
||||||
func_80254348();
|
func_80254348();
|
||||||
}
|
}
|
||||||
@@ -396,9 +396,9 @@ void func_802E4214(enum map_e map_id){
|
|||||||
modelRender_init();
|
modelRender_init();
|
||||||
func_80253428(1);
|
func_80253428(1);
|
||||||
animCache_init();
|
animCache_init();
|
||||||
func_8024CCC4();
|
viewport_reset();
|
||||||
func_8024CE60(1.0f, 10000.0f);
|
viewport_set_near_far(1.0f, 10000.0f);
|
||||||
func_8034A6B4();
|
rand_reset();
|
||||||
func_80254348();
|
func_80254348();
|
||||||
func_80253FE8();
|
func_80253FE8();
|
||||||
func_8033DC70();
|
func_8033DC70();
|
||||||
@@ -434,8 +434,8 @@ bool func_802E4424(void) {
|
|||||||
s32 sp1C;
|
s32 sp1C;
|
||||||
u8 temp_v0;
|
u8 temp_v0;
|
||||||
|
|
||||||
func_8024CC00();
|
viewport_debug();
|
||||||
func_8034A85C();
|
rand_shuffle();
|
||||||
if (!gctransition_8030BDC0()) {
|
if (!gctransition_8030BDC0()) {
|
||||||
temp_v0 = D_8037E8E0.transition;
|
temp_v0 = D_8037E8E0.transition;
|
||||||
D_8037E8E0.transition = TRANSITION_0_NONE;
|
D_8037E8E0.transition = TRANSITION_0_NONE;
|
||||||
|
@@ -19,7 +19,7 @@ u32 D_803835E0;
|
|||||||
/* public */
|
/* public */
|
||||||
void func_80335110(s32);
|
void func_80335110(s32);
|
||||||
void func_80335128(s32);
|
void func_80335128(s32);
|
||||||
void func_8024CE60(f32, f32);
|
void viewport_set_near_far(f32, f32);
|
||||||
void func_80335140(enum map_e);
|
void func_80335140(enum map_e);
|
||||||
void func_8033520C(s32);
|
void func_8033520C(s32);
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) {
|
|||||||
if (D_803835E0 == 0) {
|
if (D_803835E0 == 0) {
|
||||||
func_80254084(gdl, 0, 0, framebuffer_width, framebuffer_height, 0, 0, 0);
|
func_80254084(gdl, 0, 0, framebuffer_width, framebuffer_height, 0, 0, 0);
|
||||||
func_802BBD2C(&sp44, &sp40);
|
func_802BBD2C(&sp44, &sp40);
|
||||||
func_8024CE60(sp44, sp40);
|
viewport_set_near_far(sp44, sp40);
|
||||||
func_8024C904(gdl, mptr);
|
func_8024C904(gdl, mptr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,7 @@ void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) {
|
|||||||
spawnQueue_unlock();
|
spawnQueue_unlock();
|
||||||
sky_draw(gdl, mptr, vptr);
|
sky_draw(gdl, mptr, vptr);
|
||||||
func_802BBD2C(&sp44, &sp40);
|
func_802BBD2C(&sp44, &sp40);
|
||||||
func_8024CE60(sp44, sp40);
|
viewport_set_near_far(sp44, sp40);
|
||||||
func_8024C904(gdl, mptr);
|
func_8024C904(gdl, mptr);
|
||||||
if (mapModel_has_xlu_bin() != 0) {
|
if (mapModel_has_xlu_bin() != 0) {
|
||||||
mapModel_opa_draw(gdl, mptr, vptr);
|
mapModel_opa_draw(gdl, mptr, vptr);
|
||||||
|
@@ -79,7 +79,7 @@ void func_80349FB0(DemoInput *input_ptr, u32 size, int arg2){
|
|||||||
func_8030AFA0(map_get());
|
func_8030AFA0(map_get());
|
||||||
func_803204E4(0xc4, 1);
|
func_803204E4(0xc4, 1);
|
||||||
func_8024F224();
|
func_8024F224();
|
||||||
func_8034A6B4();
|
rand_reset();
|
||||||
func_8023DB68();
|
func_8023DB68();
|
||||||
}//*/
|
}//*/
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
extern void func_8024CE60(f32, f32);
|
extern void viewport_set_near_far(f32, f32);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
s16 model_id;
|
s16 model_id;
|
||||||
@@ -74,7 +74,7 @@ void sky_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
|||||||
f32 rotation[3];
|
f32 rotation[3];
|
||||||
BKModelBin *iAsset;
|
BKModelBin *iAsset;
|
||||||
|
|
||||||
func_8024CE60(5.0f, 15000.0f);
|
viewport_set_near_far(5.0f, 15000.0f);
|
||||||
if(gcSky.model_bins[0]){
|
if(gcSky.model_bins[0]){
|
||||||
func_80254084(gfx, 0, 0, (s32)(f32) framebuffer_width, (s32)(f32)framebuffer_height,0, 0, 0); //fill screen with black
|
func_80254084(gfx, 0, 0, (s32)(f32) framebuffer_width, (s32)(f32)framebuffer_height,0, 0, 0); //fill screen with black
|
||||||
func_8024C904(gfx, mtx);
|
func_8024C904(gfx, mtx);
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
void animctrl_setAnimTimer(AnimCtrl*, f32);
|
void animctrl_setAnimTimer(AnimCtrl*, f32);
|
||||||
void func_8025AC20(s32, s32, s32, f32, char*, s32);
|
void func_8025AC20(s32, s32, s32, f32, char*, s32);
|
||||||
f32 func_80257618(void);
|
f32 func_80257618(void);
|
||||||
void func_8024CE60(f32, f32);
|
void viewport_set_near_far(f32, f32);
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
TRANSITION_ID_1_BLACK_IN = 1,
|
TRANSITION_ID_1_BLACK_IN = 1,
|
||||||
@@ -265,7 +265,7 @@ void gctransition_draw(Gfx **gdl, Mtx **mptr, Vtx **vptr){
|
|||||||
vp_rotation[0] = 0.0f;
|
vp_rotation[0] = 0.0f;
|
||||||
vp_rotation[1] = 0.0f;
|
vp_rotation[1] = 0.0f;
|
||||||
vp_rotation[2] = 0.0f;
|
vp_rotation[2] = 0.0f;
|
||||||
func_8024CE60(D_8036C440, D_8036C444);
|
viewport_set_near_far(D_8036C440, D_8036C444);
|
||||||
viewport_set_position_vec3f(vp_position); //viewport_get_position_vec3f
|
viewport_set_position_vec3f(vp_position); //viewport_get_position_vec3f
|
||||||
viewport_set_rotation_vec3f(vp_rotation); //viewport_get_rotation_vec3f
|
viewport_set_rotation_vec3f(vp_rotation); //viewport_get_rotation_vec3f
|
||||||
viewport_update(); //camera_updateNormal
|
viewport_update(); //camera_updateNormal
|
||||||
|
@@ -616,7 +616,7 @@ void func_8031594C(gczoombox_t * this, u8 *str, s32 arg2, s32 arg3){
|
|||||||
f22 = (this->portrait_id == TALK_PIC_5F_TOOTY_4) ? 0.4 : 0.8;
|
f22 = (this->portrait_id == TALK_PIC_5F_TOOTY_4) ? 0.4 : 0.8;
|
||||||
|
|
||||||
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){
|
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){
|
||||||
func_8034A900();
|
sfx_rand_sync_to_rand();
|
||||||
}
|
}
|
||||||
for(s2 = arg2; s2 <= arg3; s2++){
|
for(s2 = arg2; s2 <= arg3; s2++){
|
||||||
if(s1){
|
if(s1){
|
||||||
@@ -669,7 +669,7 @@ void func_8031594C(gczoombox_t * this, u8 *str, s32 arg2, s32 arg3){
|
|||||||
this->unk189 = s1;
|
this->unk189 = s1;
|
||||||
this->unk187 = 0;
|
this->unk187 = 0;
|
||||||
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){
|
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){
|
||||||
func_8034A964();
|
rand_sync_to_sfx_rand();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -991,7 +991,7 @@ void gczoombox_draw(gczoombox_t *this, Gfx **gdl, Mtx ** mptr, void *vptr){
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE)
|
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE)
|
||||||
func_8034A900();
|
sfx_rand_sync_to_rand();
|
||||||
//L80316BCC
|
//L80316BCC
|
||||||
if(this->unk1A4_28 && this->state && this->model){
|
if(this->unk1A4_28 && this->state && this->model){
|
||||||
func_803162B4(this);
|
func_803162B4(this);
|
||||||
@@ -1027,7 +1027,7 @@ void gczoombox_draw(gczoombox_t *this, Gfx **gdl, Mtx ** mptr, void *vptr){
|
|||||||
}
|
}
|
||||||
}//L80316DD8
|
}//L80316DD8
|
||||||
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){
|
if(getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){
|
||||||
func_8034A964();
|
rand_sync_to_sfx_rand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -17,6 +17,9 @@ s32 D_80386108;
|
|||||||
s32 D_8038610C;
|
s32 D_8038610C;
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
|
/**
|
||||||
|
* returns a random float in the range of [0.0, 1.0)
|
||||||
|
*/
|
||||||
f32 randf(void){
|
f32 randf(void){
|
||||||
f32 out;
|
f32 out;
|
||||||
if(D_803860E4 & 3){
|
if(D_803860E4 & 3){
|
||||||
@@ -38,7 +41,10 @@ f32 randf(void){
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
//only used in some sfx instances;
|
/**
|
||||||
|
* returns a random float in the range of [0.0, 1.0).
|
||||||
|
* Is only used in some sfx instances.
|
||||||
|
*/
|
||||||
f32 sfx_rand(void){
|
f32 sfx_rand(void){
|
||||||
f32 out;
|
f32 out;
|
||||||
if(D_803860F0 & 3){
|
if(D_803860F0 & 3){
|
||||||
@@ -67,7 +73,10 @@ f32 func_8034A668(void){
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8034A6B4(void){
|
/**
|
||||||
|
* @brief resets all random functions to their default seed
|
||||||
|
*/
|
||||||
|
void rand_reset(void){
|
||||||
D_803860E0 = 0x86D;
|
D_803860E0 = 0x86D;
|
||||||
D_803860E4 = 0x2c060731;
|
D_803860E4 = 0x2c060731;
|
||||||
D_803860E8 = 0x19f0458b;
|
D_803860E8 = 0x19f0458b;
|
||||||
@@ -97,7 +106,10 @@ s32 sfx_randi2(s32 min, s32 max){
|
|||||||
return min + sfx_rand()*(max - min);
|
return min + sfx_rand()*(max - min);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8034A85C(void){
|
/**
|
||||||
|
* @brief calls randf() between 2 to 5 times
|
||||||
|
*/
|
||||||
|
void rand_shuffle(void){
|
||||||
int i;
|
int i;
|
||||||
int start = randf()*3.0f;
|
int start = randf()*3.0f;
|
||||||
for(i = 2 + start; i != 0; i--){
|
for(i = 2 + start; i != 0; i--){
|
||||||
@@ -105,14 +117,21 @@ void func_8034A85C(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8034A8BC(s32 arg0){
|
/**
|
||||||
func_8034A6B4();
|
* @brief seeds rand methods.
|
||||||
for(arg0; arg0 > 0; arg0--){
|
*/
|
||||||
|
void rand_seed(s32 seed){
|
||||||
|
rand_reset();
|
||||||
|
for(seed; seed > 0; seed--){
|
||||||
randf();
|
randf();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8034A900(void){
|
/**
|
||||||
|
* @brief syncronizes the internal values of sfx specific rand to those of rand.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void sfx_rand_sync_to_rand(void){
|
||||||
D_803860F8 = D_803860E0;
|
D_803860F8 = D_803860E0;
|
||||||
D_803860FC = D_803860E4;
|
D_803860FC = D_803860E4;
|
||||||
D_80386100 = D_803860E8;
|
D_80386100 = D_803860E8;
|
||||||
@@ -121,7 +140,11 @@ void func_8034A900(void){
|
|||||||
D_8038610C = D_803860F4;
|
D_8038610C = D_803860F4;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8034A964(void){
|
/**
|
||||||
|
* @brief syncronizes the internal values of rand to those of sfx specific rand.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void rand_sync_to_sfx_rand(void){
|
||||||
D_803860E0 = D_803860F8;
|
D_803860E0 = D_803860F8;
|
||||||
D_803860E4 = D_803860FC;
|
D_803860E4 = D_803860FC;
|
||||||
D_803860E8 = D_80386100;
|
D_803860E8 = D_80386100;
|
||||||
|
@@ -283,7 +283,7 @@ void func_8038C840(Actor *this){
|
|||||||
if(func_8030E3FC(this->unk44_31))
|
if(func_8030E3FC(this->unk44_31))
|
||||||
func_8030E394(this->unk44_31);
|
func_8030E394(this->unk44_31);
|
||||||
func_8030E484(SFX_19_BANJO_LANDING_08);
|
func_8030E484(SFX_19_BANJO_LANDING_08);
|
||||||
func_8025A7DC(0x43);
|
func_8025A7DC(COMUSIC_43_ENTER_LEVEL_GLITTER);
|
||||||
}//L8038CD20
|
}//L8038CD20
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -69,7 +69,7 @@ void func_8038BC24(void) {
|
|||||||
s32 phi_s1;
|
s32 phi_s1;
|
||||||
|
|
||||||
if (fileProgressFlag_get(FILEPROG_5C_FF_PATTERN_SET) && !func_803203FC(0x62)) {
|
if (fileProgressFlag_get(FILEPROG_5C_FF_PATTERN_SET) && !func_803203FC(0x62)) {
|
||||||
func_8034A8BC(fileProgressFlag_getN(FILEPROG_D3_FF_PATTERN, 8));
|
rand_seed(fileProgressFlag_getN(FILEPROG_D3_FF_PATTERN, 8));
|
||||||
for(phi_s1 = 0; phi_s1 < func_8031A45C(3); phi_s1++){
|
for(phi_s1 = 0; phi_s1 < func_8031A45C(3); phi_s1++){
|
||||||
phi_s0 = 0x26 + 2*phi_s1;
|
phi_s0 = 0x26 + 2*phi_s1;
|
||||||
temp_v0 = randi2(0, 3);
|
temp_v0 = randi2(0, 3);
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
extern f32 ml_distanceSquared_vec3f(f32[3], f32[3]);
|
extern f32 ml_distanceSquared_vec3f(f32[3], f32[3]);
|
||||||
extern void func_8028F3D8(f32[3], f32, void(*)(ActorMarker *), ActorMarker *);
|
extern void func_8028F3D8(f32[3], f32, void(*)(ActorMarker *), ActorMarker *);
|
||||||
extern void func_80324CFC(f32, enum comusic_e, s32);
|
extern void func_80324CFC(f32, enum comusic_e, s32);
|
||||||
extern void func_8034A8BC(s32);
|
extern void rand_seed(s32);
|
||||||
extern void func_8034DF30(s32, f32[3], f32[3], f32);
|
extern void func_8034DF30(s32, f32[3], f32[3], f32);
|
||||||
extern void func_8034E088(s32, s32, s32,f32);
|
extern void func_8034E088(s32, s32, s32,f32);
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ s32 func_8038F0EC(Actor *this) {
|
|||||||
|
|
||||||
phi_s0 = 0;
|
phi_s0 = 0;
|
||||||
local = (ActorLocal_lair_86F0*)&this->local;
|
local = (ActorLocal_lair_86F0*)&this->local;
|
||||||
func_8034A8BC(this->unkF4_8);
|
rand_seed(this->unkF4_8);
|
||||||
if (this->unkF4_8 >= 0xA) {
|
if (this->unkF4_8 >= 0xA) {
|
||||||
for(phi_s2 = 0; phi_s2 < local->unk4; phi_s2++){
|
for(phi_s2 = 0; phi_s2 < local->unk4; phi_s2++){
|
||||||
sp34 = phi_s2;
|
sp34 = phi_s2;
|
||||||
|
Reference in New Issue
Block a user