pret merge

This commit is contained in:
cawtds 2024-06-28 15:26:36 +02:00
commit e26a2249b2
9 changed files with 109 additions and 102 deletions

View File

@ -62,8 +62,13 @@ PalletTown_RivalsHouse_Text_LookingNiceInNoTime::
.string "nice in no time.$"
PalletTown_RivalsHouse_Text_ThereYouGoAllDone::
#ifdef BUGFIX @ The localizers missed what should be a textcolor change in the localizations.
.string "{COLOR DARK_GRAY}{STR_VAR_1} looks dreamily content…\p"
.string "{COLOR RED}DAISY: There you go! All done.\n"
#else @ In the JP games, gender-based text used a different font instead of different colors.
.string "{FONT_NORMAL}{STR_VAR_1} looks dreamily content…\p"
.string "{FONT_FEMALE}DAISY: There you go! All done.\n"
#endif
.string "See? Doesn't it look nice?\p"
.string "Giggle…\n"
.string "It's such a cute POKéMON.$"

View File

@ -34,7 +34,7 @@ EventScript_PkmnCenterNurse_CheckTrainerTowerAndUnionRoom::
specialvar VAR_RESULT, BufferUnionRoomPlayerName
copyvar VAR_0x8008, VAR_RESULT
goto_if_eq VAR_0x8008, 0, EventScript_PkmnCenterNurse_ReturnPkmn
goto_if_eq VAR_0x8008, 1, EventScript_PkmnCenterNurse_PlayerWaitingInUionRoom
goto_if_eq VAR_0x8008, 1, EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom
end
EventScript_PkmnCenterNurse_ReturnPkmn::
@ -45,7 +45,7 @@ EventScript_PkmnCenterNurse_ReturnPkmn::
msgbox Text_WeHopeToSeeYouAgain
return
EventScript_PkmnCenterNurse_PlayerWaitingInUionRoom::
EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom::
goto_if_set FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER, EventScript_PkmnCenterNurse_ReturnPkmn
msgbox Text_RestoredPkmnToFullHealth
setflag FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER

View File

@ -244,21 +244,21 @@
#define SE_M_HAZE 239 // SE_W114
#define SE_M_HYPER_BEAM2 240 // SE_W063B
// New FRLG SFX
#define SE_DOOR 241 // SE_RG_W_DOOR
#define SE_CARD_FLIP 242 // SE_RG_CARD1
#define SE_CARD_FLIPPING 243 // SE_RG_CARD2
#define SE_CARD_OPEN 244 // SE_RG_CARD3
#define SE_BAG_CURSOR 245 // SE_RG_BAG1
#define SE_BAG_POCKET 246 // SE_RG_BAG2
#define SE_BALL_CLICK 247 // SE_RG_GETTING
#define SE_SHOP 248 // SE_RG_SHOP
#define SE_SS_ANNE_HORN 249 // SE_RG_KITEKI
#define SE_HELP_OPEN 250 // SE_RG_HELP_OP
#define SE_HELP_CLOSE 251 // SE_RG_HELP_CL
#define SE_HELP_ERROR 252 // SE_RG_HELP_NG
#define SE_DEOXYS_MOVE 253 // SE_RG_DEOMOV
#define SE_POKE_JUMP_SUCCESS 254 // SE_RG_EXCELLENT
#define SE_POKE_JUMP_FAILURE 255 // SE_RG_NAWAMISS
#define SE_DOOR 241 // SE_W_DOOR
#define SE_CARD_FLIP 242 // SE_CARD1
#define SE_CARD_FLIPPING 243 // SE_CARD2
#define SE_CARD_OPEN 244 // SE_CARD3
#define SE_BAG_CURSOR 245 // SE_BAG1
#define SE_BAG_POCKET 246 // SE_BAG2
#define SE_BALL_CLICK 247 // SE_GETTING
#define SE_SHOP 248 // SE_SHOP
#define SE_SS_ANNE_HORN 249 // SE_KITEKI
#define SE_HELP_OPEN 250 // SE_HELP_OP
#define SE_HELP_CLOSE 251 // SE_HELP_CL
#define SE_HELP_ERROR 252 // SE_HELP_NG
#define SE_DEOXYS_MOVE 253 // SE_DEOMOV
#define SE_POKE_JUMP_SUCCESS 254 // SE_EXCELLENT
#define SE_POKE_JUMP_FAILURE 255 // SE_NAWAMISS
#define END_SE SE_POKE_JUMP_FAILURE
// Music kept from RS
@ -280,81 +280,81 @@
#define MUS_MOVE_DELETED 270 // MUS_ME_WASURE
#define MUS_TOO_BAD 271 // MUS_ME_ZANNEN
// New FRLG Music
#define MUS_FOLLOW_ME 272 // MUS_RG_ANNAI
#define MUS_GAME_CORNER 273 // MUS_RG_SLOT
#define MUS_ROCKET_HIDEOUT 274 // MUS_RG_AJITO
#define MUS_GYM 275 // MUS_RG_GYM
#define MUS_JIGGLYPUFF 276 // MUS_RG_PURIN
#define MUS_INTRO_FIGHT 277 // MUS_RG_DEMO
#define MUS_TITLE 278 // MUS_RG_TITLE
#define MUS_CINNABAR 279 // MUS_RG_GUREN
#define MUS_LAVENDER 280 // MUS_RG_SHION
#define MUS_HEAL_UNUSED 281 // MUS_RG_KAIHUKU
#define MUS_CYCLING 282 // MUS_RG_CYCLING
#define MUS_ENCOUNTER_ROCKET 283 // MUS_RG_ROCKET
#define MUS_ENCOUNTER_GIRL 284 // MUS_RG_SHOUJO
#define MUS_ENCOUNTER_BOY 285 // MUS_RG_SHOUNEN
#define MUS_HALL_OF_FAME 286 // MUS_RG_DENDOU
#define MUS_VIRIDIAN_FOREST 287 // MUS_RG_T_MORI
#define MUS_MT_MOON 288 // MUS_RG_OTSUKIMI
#define MUS_POKE_MANSION 289 // MUS_RG_POKEYASHI
#define MUS_CREDITS 290 // MUS_RG_ENDING
#define MUS_ROUTE1 291 // MUS_RG_LOAD01
#define MUS_ROUTE24 292 // MUS_RG_OPENING
#define MUS_ROUTE3 293 // MUS_RG_LOAD02
#define MUS_ROUTE11 294 // MUS_RG_LOAD03
#define MUS_VICTORY_ROAD 295 // MUS_RG_CHAMP_R
#define MUS_VS_GYM_LEADER 296 // MUS_RG_VS_GYM
#define MUS_VS_TRAINER 297 // MUS_RG_VS_TORE
#define MUS_VS_WILD 298 // MUS_RG_VS_YASEI
#define MUS_VS_CHAMPION 299 // MUS_RG_VS_LAST
#define MUS_PALLET 300 // MUS_RG_MASARA
#define MUS_OAK_LAB 301 // MUS_RG_KENKYU
#define MUS_OAK 302 // MUS_RG_OHKIDO
#define MUS_POKE_CENTER 303 // MUS_RG_POKECEN
#define MUS_SS_ANNE 304 // MUS_RG_SANTOAN
#define MUS_SURF 305 // MUS_RG_NAMINORI
#define MUS_POKE_TOWER 306 // MUS_RG_P_TOWER
#define MUS_SILPH 307 // MUS_RG_SHIRUHU
#define MUS_FUCHSIA 308 // MUS_RG_HANADA
#define MUS_CELADON 309 // MUS_RG_TAMAMUSI
#define MUS_VICTORY_TRAINER 310 // MUS_RG_WIN_TRE
#define MUS_VICTORY_WILD 311 // MUS_RG_WIN_YASEI
#define MUS_VICTORY_GYM_LEADER 312 // MUS_RG_WIN_GYM
#define MUS_VERMILLION 313 // MUS_RG_KUCHIBA
#define MUS_PEWTER 314 // MUS_RG_NIBI
#define MUS_ENCOUNTER_RIVAL 315 // MUS_RG_RIVAL1
#define MUS_RIVAL_EXIT 316 // MUS_RG_RIVAL2
#define MUS_DEX_RATING 317 // MUS_RG_FAN2
#define MUS_OBTAIN_KEY_ITEM 318 // MUS_RG_FAN5
#define MUS_CAUGHT_INTRO 319 // MUS_RG_FAN6
#define MUS_PHOTO 320 // MUS_ME_RG_PHOTO
#define MUS_GAME_FREAK 321 // MUS_RG_TITLEROG
#define MUS_CAUGHT 322 // MUS_RG_GET_YASEI
#define MUS_NEW_GAME_INSTRUCT 323 // MUS_RG_SOUSA
#define MUS_NEW_GAME_INTRO 324 // MUS_RG_SEKAIKAN
#define MUS_NEW_GAME_EXIT 325 // MUS_RG_SEIBETU
#define MUS_POKE_JUMP 326 // MUS_RG_JUMP
#define MUS_UNION_ROOM 327 // MUS_RG_UNION
#define MUS_NET_CENTER 328 // MUS_RG_NETWORK
#define MUS_MYSTERY_GIFT 329 // MUS_RG_OKURIMONO
#define MUS_BERRY_PICK 330 // MUS_RG_KINOMIKUI
#define MUS_SEVII_CAVE 331 // MUS_RG_NANADUNGEON
#define MUS_TEACHY_TV_SHOW 332 // MUS_RG_OSHIE_TV
#define MUS_SEVII_ROUTE 333 // MUS_RG_NANASHIMA
#define MUS_SEVII_DUNGEON 334 // MUS_RG_NANAISEKI
#define MUS_SEVII_123 335 // MUS_RG_NANA123
#define MUS_SEVII_45 336 // MUS_RG_NANA45
#define MUS_SEVII_67 337 // MUS_RG_NANA67
#define MUS_POKE_FLUTE 338 // MUS_RG_POKEFUE
#define MUS_VS_DEOXYS 339 // MUS_RG_VS_DEO
#define MUS_VS_MEWTWO 340 // MUS_RG_VS_MYU2
#define MUS_VS_LEGEND 341 // MUS_RG_VS_DEN
#define MUS_ENCOUNTER_GYM_LEADER 342 // MUS_RG_EXEYE
#define MUS_ENCOUNTER_DEOXYS 343 // MUS_RG_DEOEYE
#define MUS_TRAINER_TOWER 344 // MUS_RG_T_TOWER
#define MUS_SLOW_PALLET 345 // MUS_RG_SLOWMASARA
#define MUS_TEACHY_TV_MENU 346 // MUS_RG_TVNOIZE
#define MUS_FOLLOW_ME 272 // MUS_ANNAI
#define MUS_GAME_CORNER 273 // MUS_SLOT
#define MUS_ROCKET_HIDEOUT 274 // MUS_AJITO
#define MUS_GYM 275 // MUS_GYM
#define MUS_JIGGLYPUFF 276 // MUS_PURIN
#define MUS_INTRO_FIGHT 277 // MUS_DEMO
#define MUS_TITLE 278 // MUS_TITLE
#define MUS_CINNABAR 279 // MUS_GUREN
#define MUS_LAVENDER 280 // MUS_SHION
#define MUS_HEAL_UNUSED 281 // MUS_KAIHUKU
#define MUS_CYCLING 282 // MUS_CYCLING
#define MUS_ENCOUNTER_ROCKET 283 // MUS_ROCKET
#define MUS_ENCOUNTER_GIRL 284 // MUS_SHOUJO
#define MUS_ENCOUNTER_BOY 285 // MUS_SHOUNEN
#define MUS_HALL_OF_FAME 286 // MUS_DENDOU
#define MUS_VIRIDIAN_FOREST 287 // MUS_T_MORI
#define MUS_MT_MOON 288 // MUS_OTSUKIMI
#define MUS_POKE_MANSION 289 // MUS_POKEYASHI
#define MUS_CREDITS 290 // MUS_ENDING
#define MUS_ROUTE1 291 // MUS_LOAD01
#define MUS_ROUTE24 292 // MUS_OPENING
#define MUS_ROUTE3 293 // MUS_LOAD02
#define MUS_ROUTE11 294 // MUS_LOAD03
#define MUS_VICTORY_ROAD 295 // MUS_CHAMP_R
#define MUS_VS_GYM_LEADER 296 // MUS_VS_GYM
#define MUS_VS_TRAINER 297 // MUS_VS_TORE
#define MUS_VS_WILD 298 // MUS_VS_YASEI
#define MUS_VS_CHAMPION 299 // MUS_VS_LAST
#define MUS_PALLET 300 // MUS_MASARA
#define MUS_OAK_LAB 301 // MUS_KENKYU
#define MUS_OAK 302 // MUS_OHKIDO
#define MUS_POKE_CENTER 303 // MUS_POKECEN
#define MUS_SS_ANNE 304 // MUS_SANTOAN
#define MUS_SURF 305 // MUS_NAMINORI
#define MUS_POKE_TOWER 306 // MUS_P_TOWER
#define MUS_SILPH 307 // MUS_SHIRUHU
#define MUS_FUCHSIA 308 // MUS_HANADA
#define MUS_CELADON 309 // MUS_TAMAMUSI
#define MUS_VICTORY_TRAINER 310 // MUS_WIN_TRE
#define MUS_VICTORY_WILD 311 // MUS_WIN_YASEI
#define MUS_VICTORY_GYM_LEADER 312 // MUS_WIN_GYM
#define MUS_VERMILLION 313 // MUS_KUCHIBA
#define MUS_PEWTER 314 // MUS_NIBI
#define MUS_ENCOUNTER_RIVAL 315 // MUS_RIVAL1
#define MUS_RIVAL_EXIT 316 // MUS_RIVAL2
#define MUS_DEX_RATING 317 // MUS_FAN2
#define MUS_OBTAIN_KEY_ITEM 318 // MUS_FAN5
#define MUS_CAUGHT_INTRO 319 // MUS_FAN6
#define MUS_PHOTO 320 // MUS_ME_PHOTO
#define MUS_GAME_FREAK 321 // MUS_TITLEROG
#define MUS_CAUGHT 322 // MUS_GET_YASEI
#define MUS_NEW_GAME_INSTRUCT 323 // MUS_SOUSA
#define MUS_NEW_GAME_INTRO 324 // MUS_SEKAIKAN
#define MUS_NEW_GAME_EXIT 325 // MUS_SEIBETU
#define MUS_POKE_JUMP 326 // MUS_JUMP
#define MUS_UNION_ROOM 327 // MUS_UNION
#define MUS_NET_CENTER 328 // MUS_NETWORK
#define MUS_MYSTERY_GIFT 329 // MUS_OKURIMONO
#define MUS_BERRY_PICK 330 // MUS_KINOMIKUI
#define MUS_SEVII_CAVE 331 // MUS_NANADUNGEON
#define MUS_TEACHY_TV_SHOW 332 // MUS_OSHIE_TV
#define MUS_SEVII_ROUTE 333 // MUS_NANASHIMA
#define MUS_SEVII_DUNGEON 334 // MUS_NANAISEKI
#define MUS_SEVII_123 335 // MUS_NANA123
#define MUS_SEVII_45 336 // MUS_NANA45
#define MUS_SEVII_67 337 // MUS_NANA67
#define MUS_POKE_FLUTE 338 // MUS_POKEFUE
#define MUS_VS_DEOXYS 339 // MUS_VS_DEO
#define MUS_VS_MEWTWO 340 // MUS_VS_MYU2
#define MUS_VS_LEGEND 341 // MUS_VS_DEN
#define MUS_ENCOUNTER_GYM_LEADER 342 // MUS_EXEYE
#define MUS_ENCOUNTER_DEOXYS 343 // MUS_DEOEYE
#define MUS_TRAINER_TOWER 344 // MUS_T_TOWER
#define MUS_SLOW_PALLET 345 // MUS_SLOWMASARA
#define MUS_TEACHY_TV_MENU 346 // MUS_TVNOIZE
#define END_MUS MUS_TEACHY_TV_MENU
#define MUS_NONE 0xFFFF

View File

@ -77,6 +77,8 @@
#define TILE_SIZE_4BPP 32
#define TILE_SIZE_8BPP 64
#define BG_TILE_ADDR_4BPP(n) (void *)(BG_VRAM + (TILE_SIZE_4BPP * (n)))
#define TILE_OFFSET_4BPP(n) ((n) * TILE_SIZE_4BPP)
#define TILE_OFFSET_8BPP(n) ((n) * TILE_SIZE_8BPP)

View File

@ -9,8 +9,8 @@ extern const u8 gMiscBlank_Gfx[]; // unused in Emerald
extern const u32 gBitTable[];
u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
void StoreWordInTwoHalfwords(u16 *, unsigned);
void LoadWordFromTwoHalfwords(u16 *, unsigned *);
void StoreWordInTwoHalfwords(u16 *, u32);
void LoadWordFromTwoHalfwords(u16 *, u32 *);
int CountTrailingZeroBits(u32 value);
u16 CalcCRC16(const u8 *data, u32 length);
u16 CalcCRC16WithTable(const u8 *data, u32 length);

View File

@ -2674,7 +2674,7 @@ static void ShowMonEffect_Outdoors_6(struct Task *task)
static void ShowMonEffect_Outdoors_7(struct Task *task)
{
IntrCallback callback;
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&callback);
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback);
SetVBlankCallback(callback);
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
@ -2688,7 +2688,7 @@ static void VBlankCB_ShowMonEffect_Outdoors(void)
{
IntrCallback callback;
struct Task *task = &gTasks[FindTaskIdByFunc(Task_ShowMon_Outdoors)];
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&callback);
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback);
callback();
SetGpuReg(REG_OFFSET_WIN0H, task->data[1]);
SetGpuReg(REG_OFFSET_WIN0V, task->data[2]);
@ -2793,7 +2793,7 @@ static void ShowMonEffect_Indoors_7(struct Task *task)
u16 charbase;
charbase = (GetGpuReg(REG_OFFSET_BG0CNT) >> 8) << 11;
CpuFill32(0, (void *)VRAM + charbase, 0x800);
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&intrCallback);
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&intrCallback);
SetVBlankCallback(intrCallback);
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
@ -2808,7 +2808,7 @@ static void VBlankCB_ShowMonEffect_Indoors(void)
IntrCallback intrCallback;
struct Task *task;
task = &gTasks[FindTaskIdByFunc(Task_ShowMon_Indoors)];
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&intrCallback);
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&intrCallback);
intrCallback();
SetGpuReg(REG_OFFSET_BG0HOFS, task->data[1]);
SetGpuReg(REG_OFFSET_BG0VOFS, task->data[2]);

View File

@ -2282,7 +2282,7 @@ static void SpriteCB_Star(struct Sprite *sprite)
sprite->sStar_SparkleTimer++;
if (sprite->sStar_SparkleTimer % sStarSparklesSpawnRate)
{
LoadWordFromTwoHalfwords((u16*)&sprite->sStar_SparkleRngSeed, (uintptr_t *)&random);
LoadWordFromTwoHalfwords((u16*)&sprite->sStar_SparkleRngSeed, &random);
random = ISO_RANDOMIZE1(random);
StoreWordInTwoHalfwords((u16*)&sprite->sStar_SparkleRngSeed, random);
random >>= 16;

View File

@ -522,7 +522,7 @@ static void Task_RevealTrainer_RunTrainerSeeFuncList(u8 taskId)
struct ObjectEvent * trainerObj;
// another objEvent loaded into by loadword?
LoadWordFromTwoHalfwords((u16 *)&task->data[1], (uintptr_t *)&trainerObj);
LoadWordFromTwoHalfwords((u16 *)&task->data[1], (u32 *)&trainerObj);
if (!task->data[7])
{
ObjectEventClearHeldMovement(trainerObj);

View File

@ -120,13 +120,13 @@ u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *))
return sprite;
}
void StoreWordInTwoHalfwords(u16 *h, unsigned w)
void StoreWordInTwoHalfwords(u16 *h, u32 w)
{
h[0] = (u16)(w);
h[1] = (u16)(w >> 16);
}
void LoadWordFromTwoHalfwords(u16 *h, unsigned *w)
void LoadWordFromTwoHalfwords(u16 *h, u32 *w)
{
*w = h[0] | (s16)h[1] << 16;
}