added support for multi area red coin stars in bp2

This commit is contained in:
mineqwerty
2023-06-05 16:37:39 -04:00
parent daf53f85aa
commit ea818c2ec0
3 changed files with 19 additions and 4 deletions

View File

@@ -121,6 +121,8 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- Use `render_multi_image` to draw large texture rectangles consisting of multiple images on the screen.
- More info in `puppyprint.c`
- Wiseguy's Farcall TLB mapping allows to store executable code inside uncompressed segments, that can be loaded and ran as needed, instead of it having to be loaded at all times. See `farcall.h` in the include folder for instructions and details.
- Red Coin Stars now support up to 99 red coins! You can have red coin stars specific to areas, or you can use the hidden red coin star's 2nd behavior param to set a red coin
count required to spawn the star.
# UltraSM64

View File

@@ -50,8 +50,14 @@ void bhv_hidden_star_trigger_loop(void) {
void bhv_bowser_course_red_coin_star_init(void) {
s16 numRedCoinsRemaining = count_objects_with_behavior(bhvRedCoin);
o->oHiddenStarTriggerTotal = numRedCoinsRemaining + gRedCoinsCollected;
o->oHiddenStarTriggerCounter = o->oHiddenStarTriggerTotal - numRedCoinsRemaining;
if (o->oBehParams2ndByte != 0) {
o->oHiddenStarTriggerTotal = o->oBehParams2ndByte;
o->oHiddenStarTriggerCounter = gRedCoinsCollected;
}
else {
o->oHiddenStarTriggerTotal = numRedCoinsRemaining + gRedCoinsCollected;
o->oHiddenStarTriggerCounter = o->oHiddenStarTriggerTotal - numRedCoinsRemaining;
}
}
void bhv_bowser_course_red_coin_star_loop(void) {

View File

@@ -164,8 +164,15 @@ void bhv_hidden_red_coin_star_init(void) {
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
}
o->oHiddenStarTriggerTotal = numRedCoinsRemaining + gRedCoinsCollected;
o->oHiddenStarTriggerCounter = o->oHiddenStarTriggerTotal - numRedCoinsRemaining;
if (o->oBehParams2ndByte != 0) {
o->oHiddenStarTriggerTotal = o->oBehParams2ndByte;
o->oHiddenStarTriggerCounter = gRedCoinsCollected;
}
else {
o->oHiddenStarTriggerTotal = numRedCoinsRemaining + gRedCoinsCollected;
o->oHiddenStarTriggerCounter = o->oHiddenStarTriggerTotal - numRedCoinsRemaining;
}
}
void bhv_hidden_red_coin_star_loop(void) {