Update to latest master branch + allow Reveal Glass to work with Enamorus

This commit is contained in:
Blackforest92 2022-08-24 15:00:48 +07:00
commit 07a07ddc8d
2333 changed files with 130471 additions and 34551 deletions

View File

@ -44,15 +44,15 @@ WSL1 is the preferred terminal to build **pokeemerald**. The following instructi
3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice.
<details>
<summary><i>Note for advanced users...</i></summary>
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
</details>
4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution.
<details>
<summary><i>Notes...</i></summary>
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
> Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number).
</details>
@ -102,8 +102,8 @@ cd /mnt/c/Users/<user>/Desktop/decomps
<details>
<summary><i>Notes...</i></summary>
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed
</details>
@ -213,8 +213,8 @@ Note that the directory **must exist** in Windows. If you want to store pokeemer
<details>
<summary><i>Notes...</i></summary>
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
</details>
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
@ -283,8 +283,8 @@ Note that the directory **must exist** in the folder system. If you want to stor
<details>
<summary><i>Note..</i>.</summary>
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
</details>
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
@ -305,7 +305,7 @@ Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to
> then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to
> [install devkitARM on Debian/Ubuntu-based distributions](#installing-devkitarm-on-debianubuntu-based-distributions).
</details>
### Arch Linux
Run this command as root to install the necessary packages:
```bash

View File

@ -1,31 +1,28 @@
# Pokémon Emerald
# pokeemerald Expansion
This is a decompilation of Pokémon Emerald.
## What is the pokeemerald Expansion?
It builds the following ROM:
The pokeemerald Expansion is a collection of feature branches that can be integrated into existing [pokeemerald](https://github.com/pret/pokeemerald) projects.
* [**pokeemerald.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1961) `sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7`
## What feature branches are included?
To set up the repository, see [INSTALL.md](INSTALL.md).
- **[Battle Engine Upgrade](../tree/battle_engine):** Upgrades the battle engine in pokeemerald to newer Generation games' standards. It also adds newer moves and abilities.
- **[Pokémon Expansion](../tree/pokemon_expansion):** Adds Pokémon from newer Generations and makes them available in the National Dex. It also updates base stats and other Pokémon info.
- **[Item Expansion](../tree/item_expansion):** Adds items from newer Generations and also updates item effects for field use.
- **[master](../tree/master):** Combines the above branches into one single branch for the sake of convenience. Note that this branch is only updated once in a while, so you must merge manually if you want the latest features.
## Who maintains the project?
## See also
The project was originally started by DizzyEgg alongside other contributors.
Other disassembly and/or decompilation projects:
* [**Pokémon Red and Blue**](https://github.com/pret/pokered)
* [**Pokémon Gold and Silver (Space World '97 demo)**](https://github.com/pret/pokegold-spaceworld)
* [**Pokémon Yellow**](https://github.com/pret/pokeyellow)
* [**Pokémon Trading Card Game**](https://github.com/pret/poketcg)
* [**Pokémon Pinball**](https://github.com/pret/pokepinball)
* [**Pokémon Stadium**](https://github.com/pret/pokestadium)
* [**Pokémon Gold and Silver**](https://github.com/pret/pokegold)
* [**Pokémon Crystal**](https://github.com/pret/pokecrystal)
* [**Pokémon Ruby and Sapphire**](https://github.com/pret/pokeruby)
* [**Pokémon Pinball: Ruby & Sapphire**](https://github.com/pret/pokepinballrs)
* [**Pokémon FireRed and LeafGreen**](https://github.com/pret/pokefirered)
* [**Pokémon Mystery Dungeon: Red Rescue Team**](https://github.com/pret/pmd-red)
The project has now gotten larger and DizzyEgg is now maintaining the project as part of the ROM Hacking Hideout community. Some members of this community are taking on larger roles to help maintain the project.
## Can I contribute even if I'm not a member of ROM Hacking Hideout?
## Contacts
Yes! Contributions are welcome via Pull Requests and they will be reviewed by maintainers. Please note that PRs to master are not accepted, as master is only intended to be a merged branch.
You can find us on [Discord](https://discord.gg/d5dubZ3) and [IRC](https://web.libera.chat/?#pret).
## What is ROM Hacking Hideout?
A Discord-based ROM hacking community that has many members who hack using the disassembly and decompilation projects for Pokémon. Quite a few contributors to the original feature branches by DizzyEgg were members of ROM Hacking Hideout. You can call it RHH for short!
[Click here to join the RHH Discord Server!](https://discord.gg/6CzjAG6GZk)

View File

@ -227,15 +227,15 @@
.byte \battler
.endm
.macro if_equal_ param0:req, param1:req
.macro if_equal_u32 param0:req, param1:req
.byte 0x26
.byte \param0
.4byte \param0
.4byte \param1
.endm
.macro if_not_equal_ param0:req, param1:req
.macro if_not_equal_u32 param0:req, param1:req
.byte 0x27
.byte \param0
.4byte \param0
.4byte \param1
.endm
@ -245,10 +245,10 @@
.4byte \param1
.endm
.macro if_user_doesnt_go param0:req, param1:req
.macro if_cant_use_belch battler:req, ptr:req
.byte 0x29
.byte \param0
.4byte \param1
.byte \battler
.4byte \ptr
.endm
.macro nop_2A
@ -315,13 +315,13 @@
.macro if_effect param0:req, param1:req
.byte 0x37
.byte \param0
.2byte \param0
.4byte \param1
.endm
.macro if_not_effect param0:req, param1:req
.byte 0x38
.byte \param0
.2byte \param0
.4byte \param1
.endm
@ -467,24 +467,32 @@
.byte \battler
.endm
.macro nop_52
.macro if_move_flag flag jumpptr
.byte 0x52
.4byte \flag
.4byte \jumpptr
.endm
.macro nop_53
.macro if_field_status flag jumpptr
.byte 0x53
.4byte \flag
.4byte \jumpptr
.endm
.macro nop_54
.macro get_move_accuracy
.byte 0x54
.endm
.macro nop_55
.macro call_if_eq value, ptr
.byte 0x55
.2byte \value
.4byte \ptr
.endm
.macro nop_56
.macro call_if_move_flag flag ptr
.byte 0x56
.4byte \flag
.4byte \ptr
.endm
.macro nop_57
@ -551,7 +559,158 @@
.4byte \param2
.endm
.macro get_ally_chosen_move
.byte 0x63
.endm
.macro if_has_no_attacking_moves battler:req, param1:req
.byte 0x64
.byte \battler
.4byte \param1
.endm
.macro get_hazards_count battler:req, effect:req
.byte 0x65
.byte \battler
.2byte \effect
.endm
.macro if_doesnt_hold_berry battler:req, ptr:req
.byte 0x66
.byte \battler
.4byte \ptr
.endm
.macro if_share_type battler1:req, battler2:req, ptr:req
.byte 0x67
.byte \battler1
.byte \battler2
.4byte \ptr
.endm
.macro if_cant_use_last_resort battler:req, ptr:req
.byte 0x68
.byte \battler
.4byte \ptr
.endm
.macro if_has_move_with_split battler:req, split:req, ptr:req
.byte 0x69
.byte \battler
.byte \split
.4byte \ptr
.endm
.macro if_has_no_move_with_split battler:req, split:req, ptr:req
.byte 0x6A
.byte \battler
.byte \split
.4byte \ptr
.endm
.macro if_physical_moves_unusable attacker:req, target:req, ptr:req
.byte 0x6B
.byte \attacker
.byte \target
.4byte \ptr
.endm
.macro if_ai_can_go_down ptr:req
.byte 0x6C
.4byte \ptr
.endm
.macro if_has_move_with_type battler:req, type:req, ptr:req
.byte 0x6D
.byte \battler
.byte \type
.4byte \ptr
.endm
.macro if_no_move_used battler:req, ptr:req
.byte 0x6E
.byte \battler
.4byte \ptr
.endm
.macro if_has_move_with_flag battler:req, flag:req, ptr:req
.byte 0x6F
.byte \battler
.4byte \flag
.4byte \ptr
.endm
.macro if_battler_absent battler:req, ptr:req
.byte 0x70
.byte \battler
.4byte \ptr
.endm
.macro if_grounded battler:req, ptr:req
.byte 0x71
.byte \battler
.4byte \ptr
.endm
.macro get_best_dmg_hp_percent
.byte 0x72
.endm
.macro get_curr_dmg_hp_percent
.byte 0x73
.endm
.macro get_move_split_from_result
.byte 0x74
.endm
.macro get_considered_move_split
.byte 0x75
.endm
.macro get_considered_move_target
.byte 0x76
.endm
.macro compare_speeds battler1:req, battler2:req
.byte 0x77
.byte \battler1
.byte \battler2
.endm
.macro is_wakeup_turn battler:req
.byte 0x78
.byte \battler
.endm
.macro if_has_move_with_accuracy_lt battler:req, value:req, ptr:req
.byte 0x79
.byte \battler
.byte \value
.4byte \ptr
.endm
@ useful script macros
.macro if_has_physical_move battler:req, ptr:req
if_has_move_with_split \battler, SPLIT_PHYSICAL, \ptr
.endm
.macro if_has_no_physical_move battler:req, ptr:req
if_has_no_move_with_split \battler, SPLIT_PHYSICAL, \ptr
.endm
.macro if_has_special_move battler:req, ptr:req
if_has_move_with_split \battler, SPLIT_SPECIAL, \ptr
.endm
.macro if_has_no_special_move battler:req, ptr:req
if_has_no_move_with_split \battler, SPLIT_SPECIAL, \ptr
.endm
.macro if_holds_no_item battler, ptr:req
if_holds_item \battler, 0, \ptr
.endm
.macro get_curr_move_type
get_type AI_TYPE_MOVE
.endm
@ -617,3 +776,8 @@
.macro if_any_move_encored battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 1, \ptr
.endm
.macro call_if_always_hit ptr:req
get_move_accuracy
call_if_eq 0, \ptr
.endm

View File

@ -283,3 +283,62 @@
.macro jumpretfalse ptr:req
jumpreteq FALSE, \ptr
.endm
.macro jumpifdoublebattle ptr:req
createvisualtask AnimTask_IsDoubleBattle, 0
jumprettrue \ptr
.endm
@ keep CFRU macros cause I'm lazy. todo: update to createsprite and createvisualtask, respectively
.macro launchtemplate launchtemplatePtr launchtemplatePriority launchtemplateArgsNo launchtemplatearg0 launchtemplatearg1 launchtemplatearg2 launchtemplatearg3 launchtemplatearg4 launchtemplatearg5 launchtemplatearg6 launchtemplatearg7 launchtemplatearg8
.byte 0x2
.word \launchtemplatePtr
.byte \launchtemplatePriority
.byte \launchtemplateArgsNo
.hword \launchtemplatearg0
.hword \launchtemplatearg1
.hword \launchtemplatearg2
.hword \launchtemplatearg3
.hword \launchtemplatearg4
.hword \launchtemplatearg5
.hword \launchtemplatearg6
.hword \launchtemplatearg7
.hword \launchtemplatearg8
.endm
.macro launchtask launchtaskPtr launchtaskPriority launchtaskArgsNo launchtaskarg0 launchtaskarg1 launchtaskarg2 launchtaskarg3 launchtaskarg4 launchtaskarg5 launchtaskarg6 launchtaskarg7 launchtaskarg8
.byte 0x3
.word \launchtaskPtr
.byte \launchtaskPriority
.byte \launchtaskArgsNo
.hword \launchtaskarg0
.hword \launchtaskarg1
.hword \launchtaskarg2
.hword \launchtaskarg3
.hword \launchtaskarg4
.hword \launchtaskarg5
.hword \launchtaskarg6
.hword \launchtaskarg7
.hword \launchtaskarg8
.endm
.macro setblends setblends_value
.byte 0xC
.hword \setblends_value
.endm
.macro launchsoundtask launchsoundtaskPtr launchsoundtaskArgsNo launchsoundtaskarg0 launchsoundtaskarg1 launchsoundtaskarg2 launchsoundtaskarg3 launchsoundtaskarg4 launchsoundtaskarg5 launchsoundtaskarg6 launchsoundtaskarg7 launchsoundtaskarg8
.byte 0x1F
.word \launchsoundtaskPtr
.byte \launchsoundtaskArgsNo
.hword \launchsoundtaskarg0
.hword \launchsoundtaskarg1
.hword \launchsoundtaskarg2
.hword \launchsoundtaskarg3
.hword \launchsoundtaskarg4
.hword \launchsoundtaskarg5
.hword \launchsoundtaskarg6
.hword \launchsoundtaskarg7
.hword \launchsoundtaskarg8
.endm

View File

@ -89,3 +89,77 @@
setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA
special CallBattleTowerFunc
.endm
@Custom multi-battle commands
.macro choose_mons
fadescreen 1
special ChooseHalfPartyForBattle @ choose 3 mons for battle
waitstate
.endm
.macro multi_do type:req, partnerId:req, partnerPicId:req
special ReducePlayerPartyToSelectedMons
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, FRONTIER_DATA_SELECTED_MON_ORDER
special CallFrontierUtilFunc @ saves the mon order, so the non-selected mons get restored afterwards
setvar VAR_0x8004, SPECIAL_BATTLE_MULTI
setvar VAR_0x8005, \type | MULTI_BATTLE_CHOOSE_MONS
setvar VAR_0x8006, \partnerId
setvar VAR_0x8007, \partnerPicId
special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_PARTY
special CallFrontierUtilFunc
special LoadPlayerParty
.endm
.macro multi_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons
multi_do MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId
.endm
.macro multi_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
multi_do MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId
.endm
@ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out.
.macro multi_wild partnerId:req, partnerPicId:req
special SavePlayerParty
multi_do MULTI_BATTLE_2_VS_WILD, \partnerId, \partnerPicId
.endm
.macro multi_do_fixed type:req, partnerId:req, partnerPicId:req
setvar VAR_0x8004, SPECIAL_BATTLE_MULTI
setvar VAR_0x8005, \type
setvar VAR_0x8006, \partnerId
setvar VAR_0x8007, \partnerPicId
special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_PARTY
special CallFrontierUtilFunc
special LoadPlayerParty
.endm
.macro multi_fixed_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons
multi_do_fixed MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId
.endm
.macro multi_fixed_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
multi_do_fixed MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId
.endm
@ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out.
.macro multi_fixed_wild partnerId:req, partnerPicId:req
special SavePlayerParty
multi_do_fixed MULTI_BATTLE_2_VS_WILD, \partnerId, \partnerPicId
.endm

File diff suppressed because it is too large Load Diff

View File

@ -277,7 +277,7 @@
.endm
@ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
@ commands and specials. Calling EnableBothScriptContexts for instance will allow execution to continue.
@ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue.
.macro waitstate
.byte 0x27
.endm
@ -1430,13 +1430,19 @@
.2byte \count
.endm
@ Prepares to start a wild battle against a 'species' at 'level' holding 'item'. Running this command will not affect
@ normal wild battles. You start the prepared battle with dowildbattle.
.macro setwildbattle species:req, level:req, item=ITEM_NONE
@ Prepares to start a wild battle against a 'species' at 'level' holding 'item'.
@ If 'species2' is something other than SPECIES_NONE, then the battle is a double battle
@ that is also against 'species2' at 'level2' holding 'item2'.
@ Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle.
@ If the player only has one Pokemon, a scripted double battle will be buggy.
.macro setwildbattle species:req, level:req, item=ITEM_NONE, species2=SPECIES_NONE, level2=0, item2=ITEM_NONE
.byte 0xb6
.2byte \species
.byte \level
.2byte \item
.2byte \species2
.byte \level2
.2byte \item2
.endm
@ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
@ -1940,6 +1946,67 @@
special CreateEventLegalEnemyMon
.endm
@ Set up a totem boost for the next battle.
@ 'battler' is the position of the mon you want to gain a boost. see B_POSITION_xx in include/constants/battle.h.
@ The rest of the arguments are the stat change values to each stat.
@ For example, giving the first opponent +1 to atk and -2 to speed would be: settotemboost B_POSITION_OPPONENT_LEFT, 1, 0, -2
.macro settotemboost battler:req, atk=0,def=0,speed=0,spatk=0,spdef=0,acc=0,evas=0
setvar VAR_0x8000, \battler
setvar VAR_0x8001, \atk
setvar VAR_0x8002, \def
setvar VAR_0x8003, \speed
setvar VAR_0x8004, \spatk
setvar VAR_0x8005, \spdef
setvar VAR_0x8006, \acc
setvar VAR_0x8007, \evas
special SetTotemBoost
.endm
@ useful totem boost macros
.macro totemboost_atk1 battler:req
settotemboost \battler, 1
.endm
.macro totemboost_def1 battler:req
settotemboost \battler, 0, 1
.endm
.macro totemboost_speed1 battler:req
settotemboost \battler, 0, 0, 1
.endm
.macro totemboost_spatk1 battler:req
settotemboost \battler, 0, 0, 0, 1
.endm
.macro totemboost_spdef1 battler:req
settotemboost \battler, 0, 0, 0, 0, 1
.endm
.macro totemboost_acc1 battler:req
settotemboost \battler, 0, 0, 0, 0, 0, 1
.endm
.macro totemboost_evas1 battler:req
settotemboost \battler, 0, 0, 0, 0, 0, 0, 1
.endm
.macro totemboost_atk2 battler:req
settotemboost \battler, 2
.endm
.macro totemboost_def2 battler:req
settotemboost \battler, 0, 2
.endm
.macro totemboost_speed2 battler:req
settotemboost \battler, 0, 0, 2
.endm
.macro totemboost_spatk2 battler:req
settotemboost \battler, 0, 0, 0, 2
.endm
.macro totemboost_spdef2 battler:req
settotemboost \battler, 0, 0, 0, 0, 2
.endm
.macro totemboost_acc2 battler:req
settotemboost \battler, 0, 0, 0, 0, 0, 2
.endm
.macro totemboost_evas2 battler:req
settotemboost \battler, 0, 0, 0, 0, 0, 0, 2
.endm
@ Attempts to trigger a special evolution method in the overworld.
@ There may be other conditions required which are coded for in GetEvolutionTargetSpecies.
@ EX: tryspecialevo EVO_WATER_SCROLL, FALSE, FALSE triggers Kubfu's EVO_WATER_SCROLL evolution

View File

@ -152,8 +152,8 @@
create_movement_action walk_slow_diag_northeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT
create_movement_action walk_slow_diag_southwest, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT
create_movement_action walk_slow_diag_southeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT
create_movement_action store_lock_anim, MOVEMENT_ACTION_STORE_AND_LOCK_ANIM
create_movement_action free_unlock_anim, MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM
create_movement_action lock_anim, MOVEMENT_ACTION_LOCK_ANIM
create_movement_action unlock_anim, MOVEMENT_ACTION_UNLOCK_ANIM
create_movement_action walk_left_affine, MOVEMENT_ACTION_WALK_LEFT_AFFINE
create_movement_action walk_right_affine, MOVEMENT_ACTION_WALK_RIGHT_AFFINE
create_movement_action levitate, MOVEMENT_ACTION_LEVITATE

View File

@ -401,6 +401,15 @@ B_TRAINER2_WIN_TEXT = FD 31
B_PARTNER_CLASS = FD 32
B_PARTNER_NAME = FD 33
B_BUFF3 = FD 34
B_ATK_TRAINER_NAME = FD 35
B_ATK_TRAINER_CLASS = FD 36
B_ATK_TEAM1 = FD 37
B_ATK_TEAM2 = FD 38
B_DEF_NAME = FD 39
B_DEF_TEAM1 = FD 3A
B_DEF_TEAM2 = FD 3B
B_ACTIVE_NAME = FD 3C
B_ACTIVE_NAME2 = FD 3D @ no Illusion check
@ indicates the end of a town/city name (before " TOWN" or " CITY")
NAME_END = FC 00

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,7 @@
#include "constants/battle_script_commands.h"
#include "constants/battle_anim.h"
#include "constants/battle_string_ids.h"
#include "constants/battle_config.h"
#include "constants/items.h"
#include "constants/songs.h"
#include "constants/game_stat.h"
@ -11,22 +12,6 @@
.section script_data, "aw", %progbits
.align 2
gBattlescriptsForBallThrow::
.4byte BattleScript_BallThrow @ ITEM_NONE
.4byte BattleScript_BallThrow @ ITEM_MASTER_BALL
.4byte BattleScript_BallThrow @ ITEM_ULTRA_BALL
.4byte BattleScript_BallThrow @ ITEM_GREAT_BALL
.4byte BattleScript_BallThrow @ ITEM_POKE_BALL
.4byte BattleScript_SafariBallThrow @ ITEM_SAFARI_BALL
.4byte BattleScript_BallThrow @ ITEM_NET_BALL
.4byte BattleScript_BallThrow @ ITEM_DIVE_BALL
.4byte BattleScript_BallThrow @ ITEM_NEST_BALL
.4byte BattleScript_BallThrow @ ITEM_REPEAT_BALL
.4byte BattleScript_BallThrow @ ITEM_TIMER_BALL
.4byte BattleScript_BallThrow @ ITEM_LUXURY_BALL
.4byte BattleScript_BallThrow @ ITEM_PREMIER_BALL
.align 2
gBattlescriptsForUsingItem::
.4byte BattleScript_PlayerUsesItem
@ -62,10 +47,15 @@ BattleScript_SafariBallThrow::
handleballthrow
BattleScript_SuccessBallThrow::
jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo
setbyte sMON_CAUGHT, TRUE
incrementgamestat GAME_STAT_POKEMON_CAPTURES
BattleScript_PrintCaughtMonInfo::
printstring STRINGID_GOTCHAPKMNCAUGHT
jumpifbyte CMP_NOT_EQUAL, sEXP_CATCH, TRUE, BattleScript_TryPrintCaughtMonInfo
setbyte sGIVEEXP_STATE, 0
getexp BS_TARGET
sethword gBattle_BG2_X, 0
BattleScript_TryPrintCaughtMonInfo:
trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon
printstring STRINGID_PKMNDATAADDEDTODEX
waitstate
@ -120,6 +110,7 @@ BattleScript_OpponentUsesHealItem::
playse SE_USE_ITEM
printstring STRINGID_TRAINER1USEDITEM
waitmessage B_WAIT_TIME_LONG
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
useitemonopponent
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate BS_ATTACKER
@ -200,3 +191,17 @@ BattleScript_ActionWallyThrow:
printstring STRINGID_YOUTHROWABALLNOWRIGHT
waitmessage B_WAIT_TIME_LONG
end2
BattleScript_TrainerSlideMsgRet::
handletrainerslidemsg BS_SCRIPTING, 0
trainerslidein 1
handletrainerslidemsg BS_SCRIPTING, 1
waitstate
trainerslideout 1
handletrainerslidemsg BS_SCRIPTING, 2
waitstate
return
BattleScript_TrainerSlideMsgEnd2::
call BattleScript_TrainerSlideMsgRet
end2

View File

@ -2,6 +2,7 @@
#include "constants/apprentice.h"
#include "constants/battle.h"
#include "constants/battle_arena.h"
#include "constants/battle_config.h"
#include "constants/battle_dome.h"
#include "constants/battle_factory.h"
#include "constants/battle_frontier.h"

View File

@ -53,11 +53,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6::
AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door::
lockall
goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_1_KEY
checkitem ITEM_KEY_TO_ROOM_1
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_1_KEY
removeitem ITEM_KEY_TO_ROOM_1
setflag FLAG_USED_ROOM_1_KEY
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1
special DrawWholeMapView
@ -67,11 +67,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door::
AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door::
lockall
goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_2_KEY
checkitem ITEM_KEY_TO_ROOM_2
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_2_KEY
removeitem ITEM_KEY_TO_ROOM_2
setflag FLAG_USED_ROOM_2_KEY
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2
special DrawWholeMapView
@ -81,11 +81,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door::
AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door::
lockall
goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_4_KEY
checkitem ITEM_KEY_TO_ROOM_4
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_4_KEY
removeitem ITEM_KEY_TO_ROOM_4
setflag FLAG_USED_ROOM_4_KEY
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4
special DrawWholeMapView
@ -95,11 +95,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door::
AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door::
lockall
goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_6_KEY
checkitem ITEM_KEY_TO_ROOM_6
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_6_KEY
removeitem ITEM_KEY_TO_ROOM_6
setflag FLAG_USED_ROOM_6_KEY
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6
special DrawWholeMapView

View File

@ -139,7 +139,7 @@
"x": 42,
"y": 10,
"elevation": 3,
"item": "ITEM_ROOM_1_KEY",
"item": "ITEM_KEY_TO_ROOM_1",
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY"
},
{
@ -147,7 +147,7 @@
"x": 20,
"y": 5,
"elevation": 3,
"item": "ITEM_ROOM_2_KEY",
"item": "ITEM_KEY_TO_ROOM_2",
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY"
},
{
@ -155,7 +155,7 @@
"x": 1,
"y": 12,
"elevation": 3,
"item": "ITEM_ROOM_4_KEY",
"item": "ITEM_KEY_TO_ROOM_4",
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY"
},
{
@ -163,7 +163,7 @@
"x": 1,
"y": 2,
"elevation": 0,
"item": "ITEM_ROOM_6_KEY",
"item": "ITEM_KEY_TO_ROOM_6",
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY"
},
{

View File

@ -472,8 +472,8 @@ BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded:
@ Unused
BattleFrontier_BattlePalaceLobby_Text_BattlePointsFor7WinStreak:
.string "For the feat of your 7-win streak,\n"
.string "we present you with Battle Point(s).$"
.string "For the feat of your 7-win streak,\n"
.string "we present you with Battle Point(s).$"
BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize:
.string "You seem to have no space for\n"

View File

@ -33,8 +33,8 @@ EverGrandeCity_ChampionsRoom_EventScript_EnterRoom::
waitmovement 0
setvar VAR_TEMP_1, 1
goto EverGrandeCity_ChampionsRoom_EventScript_Wallace
releaseall
end
releaseall
end
EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace:
walk_up

View File

@ -19,10 +19,10 @@ FallarborTown_Mart_Pokemart:
.2byte ITEM_PARALYZE_HEAL
.2byte ITEM_ESCAPE_ROPE
.2byte ITEM_SUPER_REPEL
.2byte ITEM_X_SPECIAL
.2byte ITEM_X_SP_ATK
.2byte ITEM_X_SPEED
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_DIRE_HIT
.2byte ITEM_GUARD_SPEC
.2byte ITEM_NONE

View File

@ -19,7 +19,7 @@ FortreeCity_DecorationShop_EventScript_ClerkDesks::
release
end
.align 2
.align 2
FortreeCity_DecorationShop_PokemartDecor_Desks:
.2byte DECOR_SMALL_DESK
.2byte DECOR_POKEMON_DESK

View File

@ -36,9 +36,9 @@ LilycoveCity_DepartmentStore_3F_EventScript_ClerkRight::
.align 2
LilycoveCity_DepartmentStore_3F_Pokemart_StatBoosters:
.2byte ITEM_X_SPEED
.2byte ITEM_X_SPECIAL
.2byte ITEM_X_SP_ATK
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_DIRE_HIT
.2byte ITEM_GUARD_SPEC
.2byte ITEM_X_ACCURACY

View File

@ -21,7 +21,7 @@ MauvilleCity_Mart_Pokemart:
.2byte ITEM_AWAKENING
.2byte ITEM_X_SPEED
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_GUARD_SPEC
.2byte ITEM_DIRE_HIT
.2byte ITEM_X_ACCURACY

View File

@ -21,7 +21,7 @@ MossdeepCity_Mart_Pokemart:
.2byte ITEM_REVIVE
.2byte ITEM_MAX_REPEL
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_NONE
release
end

View File

@ -351,9 +351,9 @@ PetalburgCity_Gym_EventScript_NormanRematch::
PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry::
specialvar VAR_RESULT, IsEnigmaBerryValid
goto_if_eq VAR_RESULT, FALSE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
checkitem ITEM_ENIGMA_BERRY
checkitem ITEM_ENIGMA_BERRY_E_READER
goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
checkpcitem ITEM_ENIGMA_BERRY
checkpcitem ITEM_ENIGMA_BERRY_E_READER
goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
goto_if_eq VAR_ENIGMA_BERRY_AVAILABLE, 0, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
msgbox PetalburgCity_Gym_Text_GiveEnigmaBerry, MSGBOX_DEFAULT
@ -365,7 +365,7 @@ PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry::
return
PetalburgCity_Gym_EventScript_GiveEnigmaBerry::
giveitem ITEM_ENIGMA_BERRY
giveitem ITEM_ENIGMA_BERRY_E_READER
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setvar VAR_ENIGMA_BERRY_AVAILABLE, 0
release

View File

@ -23,7 +23,7 @@ PetalburgCity_Mart_Pokemart_Basic:
.2byte ITEM_REPEL
.2byte ITEM_X_SPEED
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_ORANGE_MAIL
.2byte ITEM_NONE
release
@ -48,7 +48,7 @@ PetalburgCity_Mart_Pokemart_Expanded:
.2byte ITEM_REPEL
.2byte ITEM_X_SPEED
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_ORANGE_MAIL
.2byte ITEM_NONE
release

View File

@ -463,7 +463,7 @@ Route110_EventScript_BrendanDefeated::
end
Route110_EventScript_GiveItemfinder::
giveitem ITEM_ITEMFINDER
giveitem ITEM_DOWSING_MACHINE
return
Route110_EventScript_RivalExit::

View File

@ -144,7 +144,7 @@ Route111_EventScript_RootFossilDisappeared::
@ Unused
Route111_Movement_PlayerFall::
store_lock_anim
lock_anim
walk_fast_down
walk_fast_down
walk_fast_down

View File

@ -27,7 +27,7 @@ RustboroCity_Mart_Pokemart_Basic:
.2byte ITEM_REPEL
.2byte ITEM_X_SPEED
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_NONE
release
end
@ -51,7 +51,7 @@ RustboroCity_Mart_Pokemart_Expanded:
.2byte ITEM_REPEL
.2byte ITEM_X_SPEED
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_NONE
release
end

View File

@ -308,7 +308,7 @@ RusturfTunnel_EventScript_Grunt::
msgbox RusturfTunnel_Text_GruntIntro, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_GRUNT_RUSTURF_TUNNEL, RusturfTunnel_Text_GruntDefeat
msgbox RusturfTunnel_Text_GruntTakePackage, MSGBOX_DEFAULT
giveitem ITEM_DEVON_GOODS
giveitem ITEM_DEVON_PARTS
closemessage
applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PushPlayerAsideForGrunt
applymovement LOCALID_GRUNT, RusturfTunnel_Movement_GruntEscape

View File

@ -71,7 +71,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_CaptStern::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
msgbox SlateportCity_OceanicMuseum_2F_Text_SternThankYouForSavingUs, MSGBOX_DEFAULT
setvar VAR_0x8004, ITEM_DEVON_GOODS
setvar VAR_0x8004, ITEM_DEVON_PARTS
call Common_EventScript_PlayerHandedOverTheItem
msgbox SlateportCity_OceanicMuseum_2F_Text_SternIveGotToGo, MSGBOX_DEFAULT
closemessage

View File

@ -20,7 +20,7 @@ SootopolisCity_Mart_Pokemart:
.2byte ITEM_REVIVE
.2byte ITEM_MAX_REPEL
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_SHADOW_MAIL
.2byte ITEM_NONE
release

View File

@ -259,9 +259,9 @@ TrainerHill_Entrance_Pokemart_Basic:
.2byte ITEM_PARALYZE_HEAL
.2byte ITEM_AWAKENING
.2byte ITEM_X_SPEED
.2byte ITEM_X_SPECIAL
.2byte ITEM_X_SP_ATK
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_DIRE_HIT
.2byte ITEM_GUARD_SPEC
.2byte ITEM_X_ACCURACY
@ -283,9 +283,9 @@ TrainerHill_Entrance_Pokemart_Expanded:
.2byte ITEM_FULL_HEAL
.2byte ITEM_REVIVE
.2byte ITEM_X_SPEED
.2byte ITEM_X_SPECIAL
.2byte ITEM_X_SP_ATK
.2byte ITEM_X_ATTACK
.2byte ITEM_X_DEFEND
.2byte ITEM_X_DEFENSE
.2byte ITEM_DIRE_HIT
.2byte ITEM_GUARD_SPEC
.2byte ITEM_X_ACCURACY

View File

@ -22,7 +22,7 @@ VerdanturfTown_Mart_Pokemart:
.2byte ITEM_BURN_HEAL
.2byte ITEM_ICE_HEAL
.2byte ITEM_REPEL
.2byte ITEM_X_SPECIAL
.2byte ITEM_X_SP_ATK
.2byte ITEM_FLUFFY_TAIL
.2byte ITEM_NONE
release

View File

@ -127,7 +127,7 @@ Route115_EventScript_ItemPPUp::
end
Route116_EventScript_ItemXSpecial::
finditem ITEM_X_SPECIAL
finditem ITEM_X_SP_ATK
end
Route116_EventScript_ItemEther::
@ -315,7 +315,7 @@ MauvilleCity_EventScript_ItemXSpeed::
end
RustboroCity_EventScript_ItemXDefend::
finditem ITEM_X_DEFEND
finditem ITEM_X_DEFENSE
end
LilycoveCity_EventScript_ItemMaxRepel::

View File

@ -315,7 +315,7 @@ MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory::
.string "the HOENN region!$"
MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle::
.string "The BERRY-Planting TRAINER$"
.string "The BERRY-Planting TRAINER$"
MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction::
.string "Planted BERRIES$"

View File

@ -2,7 +2,7 @@
.include "asm/macros/m4a.inc"
.include "asm/macros/music_voice.inc"
.include "include/constants/pokemon_config.h"
.include "sound/voice_groups.inc"
.include "sound/keysplit_tables.inc"
.include "sound/programmable_wave_data.inc"

View File

@ -535,4 +535,5 @@ gSpecials::
def_special RemoveRecordsWindow
def_special CloseDeptStoreElevatorWindow
def_special TrySetBattleTowerLinkType
def_special SetTotemBoost
def_special TrySpecialOverworldEvo

View File

@ -1,71 +1,71 @@
EventTicket_Text_OldSeaMapTooFar:
.string "What's up, youngster?\p"
.string "What, it's you who's supposed to have\n"
.string "a tattered old map?\p"
.string "Let's have a look.\n"
.string "… … … … … …\p"
.string "Boy, this is quite a ways away.\n"
.string "I'm afraid I can't help you…$"
.string "What's up, youngster?\p"
.string "What, it's you who's supposed to have\n"
.string "a tattered old map?\p"
.string "Let's have a look.\n"
.string "… … … … … …\p"
.string "Boy, this is quite a ways away.\n"
.string "I'm afraid I can't help you…$"
EventTicket_Text_BrineyHoldOnASecond:
.string "BRINEY: Hold on a second!\p"
.string "What's the idea of turning down\n"
.string "someone that I owe so much to?$"
.string "BRINEY: Hold on a second!\p"
.string "What's the idea of turning down\n"
.string "someone that I owe so much to?$"
EventTicket_Text_BrineyLetsSail:
.string "{PLAYER}{KUN}, I'm terribly sorry.\p"
.string "You came to me seeking my help,\n"
.string "and we almost turned you away.\p"
.string "Well, let me make things right.\p"
.string "We'll sail right away, of course!\p"
.string "Let's find this island on\n"
.string "this OLD SEA MAP!$"
.string "{PLAYER}{KUN}, I'm terribly sorry.\p"
.string "You came to me seeking my help,\n"
.string "and we almost turned you away.\p"
.string "Well, let me make things right.\p"
.string "We'll sail right away, of course!\p"
.string "Let's find this island on\n"
.string "this OLD SEA MAP!$"
EventTicket_Text_OddTicketGetOnBoard:
.string "Is it you who brought that odd\n"
.string "ticket?\p"
.string "Where you're trying to go is an island\n"
.string "that's far, far away.\p"
.string "No one knows what awaits there…\p"
.string "The very thought excites my blood\n"
.string "as a sailing man!\p"
.string "Get on board, youngster!$"
.string "Is it you who brought that odd\n"
.string "ticket?\p"
.string "Where you're trying to go is an island\n"
.string "that's far, far away.\p"
.string "No one knows what awaits there…\p"
.string "The very thought excites my blood\n"
.string "as a sailing man!\p"
.string "Get on board, youngster!$"
FarawayIsland_Entrance_Text_SailorReturn:
.string "CAPT. BRINEY can be so maddeningly\n"
.string "fickle…\p"
.string "Do you want to return to LILYCOVE?$"
.string "CAPT. BRINEY can be so maddeningly\n"
.string "fickle…\p"
.string "Do you want to return to LILYCOVE?$"
BirthIsland_Harbor_Text_SailorReturn:
.string "What an oddly shaped island, eh?\n"
.string "Do you want to return to LILYCOVE?$"
.string "What an oddly shaped island, eh?\n"
.string "Do you want to return to LILYCOVE?$"
EventTicket_Text_OddTicketsWhereTo:
.string "Is it you who brought those\n"
.string "odd tickets?\p"
.string "… … …Hm.\p"
.string "These tickets will get you to islands\n"
.string "that are far, far away.\p"
.string "No one knows what awaits there,\n"
.string "or what may happen there.\p"
.string "The very thought excites my blood\n"
.string "as a sailing man!\p"
.string "Get on board, youngster!\n"
.string "Where shall we sail first?$"
.string "Is it you who brought those\n"
.string "odd tickets?\p"
.string "… … …Hm.\p"
.string "These tickets will get you to islands\n"
.string "that are far, far away.\p"
.string "No one knows what awaits there,\n"
.string "or what may happen there.\p"
.string "The very thought excites my blood\n"
.string "as a sailing man!\p"
.string "Get on board, youngster!\n"
.string "Where shall we sail first?$"
NavelRock_Harbor_Text_SailorReturn:
.string "Did… Did you hear that?\n"
.string "That low growling from deep in there.\p"
.string "Are you sure it's safe?\n"
.string "Do you think we should leave?$"
.string "Did… Did you hear that?\n"
.string "That low growling from deep in there.\p"
.string "Are you sure it's safe?\n"
.string "Do you think we should leave?$"
FarawayIsland_Entrance_Text_Sign:
.string "The writing is fading as if it was\n"
.string "written a long time ago…\p"
.string "“…ber, 6th day\n"
.string "If any human…sets foot here…\l"
.string "again…et it be a kindhearted pers…\l"
.string "…ith that hope, I depar…”$"
.string "The writing is fading as if it was\n"
.string "written a long time ago…\p"
.string "“…ber, 6th day\n"
.string "If any human…sets foot here…\l"
.string "again…et it be a kindhearted pers…\l"
.string "…ith that hope, I depar…”$"
FarawayIsland_Interior_Text_Mew:
.string "Myuu…$"
.string "Myuu…$"

View File

@ -1,51 +1,51 @@
gText_WouldYouLikeToRestYourPkmn::
.string "Hello, and welcome to\n"
.string "the POKéMON CENTER.\p"
.string "We restore your tired POKéMON\n"
.string "to full health.\p"
.string "Would you like to rest your POKéMON?$"
.string "Hello, and welcome to\n"
.string "the POKéMON CENTER.\p"
.string "We restore your tired POKéMON\n"
.string "to full health.\p"
.string "Would you like to rest your POKéMON?$"
gText_IllTakeYourPkmn::
.string "Okay, I'll take your POKéMON\n"
.string "for a few seconds.$"
.string "Okay, I'll take your POKéMON\n"
.string "for a few seconds.$"
gText_RestoredPkmnToFullHealth::
.string "Thank you for waiting.\p"
.string "We've restored your POKéMON\n"
.string "to full health.$"
.string "Thank you for waiting.\p"
.string "We've restored your POKéMON\n"
.string "to full health.$"
gText_WeHopeToSeeYouAgain::
.string "We hope to see you again!$"
.string "We hope to see you again!$"
gText_WelcomeCutShort::
.string "Hello, and welcome to\n"
.string "the POKéMON CENTER.\p"
.string "We restore your tired POKéMON\n"
.string "to full health.\p"
.string "Would you like to…$"
.string "Hello, and welcome to\n"
.string "the POKéMON CENTER.\p"
.string "We restore your tired POKéMON\n"
.string "to full health.\p"
.string "Would you like to…$"
gText_NoticesGoldCard::
.string "Th-that card…\n"
.string "Could it be… The GOLD CARD?!\p"
.string "Oh, the gold color is brilliant!\n"
.string "The four stars seem to sparkle!\p"
.string "I've seen several TRAINERS with\n"
.string "a SILVER CARD before, but, {PLAYER},\l"
.string "you're the first TRAINER I've ever\l"
.string "seen with a GOLD CARD!\p"
.string "Okay, {PLAYER}, please allow me\n"
.string "the honor of resting your POKéMON!$"
.string "Th-that card…\n"
.string "Could it be… The GOLD CARD?!\p"
.string "Oh, the gold color is brilliant!\n"
.string "The four stars seem to sparkle!\p"
.string "I've seen several TRAINERS with\n"
.string "a SILVER CARD before, but, {PLAYER},\l"
.string "you're the first TRAINER I've ever\l"
.string "seen with a GOLD CARD!\p"
.string "Okay, {PLAYER}, please allow me\n"
.string "the honor of resting your POKéMON!$"
gText_YouWantTheUsual::
.string "I'm delighted to see you, {PLAYER}!\n"
.string "You want the usual, am I right?$"
.string "I'm delighted to see you, {PLAYER}!\n"
.string "You want the usual, am I right?$"
gText_IllTakeYourPkmn2::
.string "Okay, I'll take your POKéMON\n"
.string "for a few seconds.$"
.string "Okay, I'll take your POKéMON\n"
.string "for a few seconds.$"
gText_ThankYouForWaiting::
.string "Thank you for waiting.$"
.string "Thank you for waiting.$"
gText_WeHopeToSeeYouAgain2::
.string "We hope to see you again!$"
.string "We hope to see you again!$"

View File

@ -1,286 +1,286 @@
SecretBase_Text_Trainer0Intro:
.string "Have you made a SECRET BASE already?\p"
.string "I went here, there, everywhere before\n"
.string "choosing this place.\p"
.string "Since you're already here, how would\n"
.string "you like to battle?$"
.string "Have you made a SECRET BASE already?\p"
.string "I went here, there, everywhere before\n"
.string "choosing this place.\p"
.string "Since you're already here, how would\n"
.string "you like to battle?$"
SecretBase_Text_Trainer0AcceptBattle:
.string "Okay!\n"
.string "Here we come!$"
.string "Okay!\n"
.string "Here we come!$"
SecretBase_Text_Trainer0DeclineBattle:
.string "Hunh?\n"
.string "Oh, you can't now…$"
.string "Hunh?\n"
.string "Oh, you can't now…$"
SecretBase_Text_Trainer0Defeated::
.string "Waaargh! You're too strong!\n"
.string "About me losing… Please keep it secret!$"
.string "Waaargh! You're too strong!\n"
.string "About me losing… Please keep it secret!$"
SecretBase_Text_Trainer0PostBattle:
.string "What do you think of my SECRET BASE?\n"
.string "Come visit me again tomorrow.$"
.string "What do you think of my SECRET BASE?\n"
.string "Come visit me again tomorrow.$"
SecretBase_Text_Trainer0PreChampion:
.string "Have you made a SECRET BASE already?\p"
.string "I went here, there, everywhere before\n"
.string "choosing this place.\p"
.string "Feel free to hang out!$"
.string "Have you made a SECRET BASE already?\p"
.string "I went here, there, everywhere before\n"
.string "choosing this place.\p"
.string "Feel free to hang out!$"
SecretBase_Text_Trainer5Intro:
.string "There're a lot of places where\n"
.string "you can make a SECRET BASE.\p"
.string "But I like this spot best.\n"
.string "Don't you think it's nice?\p"
.string "Oh, would you like to have a battle?$"
.string "There're a lot of places where\n"
.string "you can make a SECRET BASE.\p"
.string "But I like this spot best.\n"
.string "Don't you think it's nice?\p"
.string "Oh, would you like to have a battle?$"
SecretBase_Text_Trainer5AcceptBattle:
.string "Okay, here goes!$"
.string "Okay, here goes!$"
SecretBase_Text_Trainer5DeclineBattle:
.string "Oh…\n"
.string "You can't now, okay.$"
.string "Oh…\n"
.string "You can't now, okay.$"
SecretBase_Text_Trainer5Defeated::
.string "Hmmm… It's our loss…\n"
.string "But don't tell anyone!\l"
.string "It's a confidential secret!$"
.string "Hmmm… It's our loss…\n"
.string "But don't tell anyone!\l"
.string "It's a confidential secret!$"
SecretBase_Text_Trainer5PostBattle:
.string "If you're in this area again,\n"
.string "I hope you'll visit me.$"
.string "If you're in this area again,\n"
.string "I hope you'll visit me.$"
SecretBase_Text_Trainer5PreChampion:
.string "There're a lot of places where you can\n"
.string "make a SECRET BASE.\p"
.string "But I like this spot best.\n"
.string "Don't you think it's nice?$"
.string "There're a lot of places where you can\n"
.string "make a SECRET BASE.\p"
.string "But I like this spot best.\n"
.string "Don't you think it's nice?$"
SecretBase_Text_Trainer1Intro:
.string "This is a popular spot.\n"
.string "It's always taken.\p"
.string "Oh! Were you thinking about\n"
.string "taking this spot, too?\p"
.string "I'll tell you what, you can have this\n"
.string "spot if you can beat me.$"
.string "This is a popular spot.\n"
.string "It's always taken.\p"
.string "Oh! Were you thinking about\n"
.string "taking this spot, too?\p"
.string "I'll tell you what, you can have this\n"
.string "spot if you can beat me.$"
SecretBase_Text_Trainer1AcceptBattle:
.string "Okay!\n"
.string "I'm going to defend my SECRET BASE!$"
.string "Okay!\n"
.string "I'm going to defend my SECRET BASE!$"
SecretBase_Text_Trainer1DeclineBattle:
.string "Hunh? Is that right?\n"
.string "You're not interested in this spot?$"
.string "Hunh? Is that right?\n"
.string "You're not interested in this spot?$"
SecretBase_Text_Trainer1Defeated::
.string "I can't keep going!\n"
.string "I surrender!$"
.string "I can't keep going!\n"
.string "I surrender!$"
SecretBase_Text_Trainer1PostBattle:
.string "Okay, when I move one day,\n"
.string "this place will be yours!$"
.string "Okay, when I move one day,\n"
.string "this place will be yours!$"
SecretBase_Text_Trainer1PreChampion:
.string "This is a popular spot.\n"
.string "It's always taken.\p"
.string "I waited a long time for it to open.\n"
.string "I finally got to use it!$"
.string "This is a popular spot.\n"
.string "It's always taken.\p"
.string "I waited a long time for it to open.\n"
.string "I finally got to use it!$"
SecretBase_Text_Trainer6Intro:
.string "Welcome to my POKéMON LAB.\p"
.string "I carry out research on battling in\n"
.string "secrecy.\p"
.string "Would you like to see how strong I am?$"
.string "Welcome to my POKéMON LAB.\p"
.string "I carry out research on battling in\n"
.string "secrecy.\p"
.string "Would you like to see how strong I am?$"
SecretBase_Text_Trainer6AcceptBattle:
.string "I'm going to go all out!$"
.string "I'm going to go all out!$"
SecretBase_Text_Trainer6DeclineBattle:
.string "Oh.\n"
.string "Some other time, then!$"
.string "Oh.\n"
.string "Some other time, then!$"
SecretBase_Text_Trainer6Defeated::
.string "Hmm… I've still got lots to learn.\n"
.string "I have to study some more.$"
.string "Hmm… I've still got lots to learn.\n"
.string "I have to study some more.$"
SecretBase_Text_Trainer6PostBattle:
.string "Thanks for battling with me.\n"
.string "Please come back again tomorrow.$"
.string "Thanks for battling with me.\n"
.string "Please come back again tomorrow.$"
SecretBase_Text_Trainer6PreChampion:
.string "Welcome to my POKéMON LAB.\p"
.string "I carry out research on battling in\n"
.string "secrecy.$"
.string "Welcome to my POKéMON LAB.\p"
.string "I carry out research on battling in\n"
.string "secrecy.$"
SecretBase_Text_Trainer2Intro:
.string "A big mansion is nice, but I like this\n"
.string "sort of place more.\p"
.string "I like it because all kinds of people\n"
.string "come visit me.\p"
.string "So, how would you like a battle?$"
.string "A big mansion is nice, but I like this\n"
.string "sort of place more.\p"
.string "I like it because all kinds of people\n"
.string "come visit me.\p"
.string "So, how would you like a battle?$"
SecretBase_Text_Trainer2AcceptBattle:
.string "That's the way!$"
.string "That's the way!$"
SecretBase_Text_Trainer2DeclineBattle:
.string "When you're ready, give me a shout!$"
.string "When you're ready, give me a shout!$"
SecretBase_Text_Trainer2Defeated::
.string "Aww! Done in!\n"
.string "But it's still fun to battle!$"
.string "Aww! Done in!\n"
.string "But it's still fun to battle!$"
SecretBase_Text_Trainer2PostBattle:
.string "Well, anyway, I should go buy some\n"
.string "decorations and furniture.\p"
.string "I want my SECRET BASE to be a place\n"
.string "other people can enjoy.$"
.string "Well, anyway, I should go buy some\n"
.string "decorations and furniture.\p"
.string "I want my SECRET BASE to be a place\n"
.string "other people can enjoy.$"
SecretBase_Text_Trainer2PreChampion:
.string "A big mansion is nice, but I like this\n"
.string "sort of place more.\p"
.string "I like it because all kinds of people\n"
.string "come visit me.$"
.string "A big mansion is nice, but I like this\n"
.string "sort of place more.\p"
.string "I like it because all kinds of people\n"
.string "come visit me.$"
SecretBase_Text_Trainer7Intro:
.string "I simply adore shopping for decorations\n"
.string "and furniture.\p"
.string "I also love raising POKéMON just\n"
.string "as much.\p"
.string "If you would be so kind, will you battle\n"
.string "with my POKéMON?$"
.string "I simply adore shopping for decorations\n"
.string "and furniture.\p"
.string "I also love raising POKéMON just\n"
.string "as much.\p"
.string "If you would be so kind, will you battle\n"
.string "with my POKéMON?$"
SecretBase_Text_Trainer7AcceptBattle:
.string "Thank you.\n"
.string "Shall we begin?$"
.string "Thank you.\n"
.string "Shall we begin?$"
SecretBase_Text_Trainer7DeclineBattle:
.string "Oh.\n"
.string "How disappointing…$"
.string "Oh.\n"
.string "How disappointing…$"
SecretBase_Text_Trainer7Defeated::
.string "I concede…$"
.string "I concede…$"
SecretBase_Text_Trainer7PostBattle:
.string "That was all in good fun!\n"
.string "I should go enjoy shopping now.$"
.string "That was all in good fun!\n"
.string "I should go enjoy shopping now.$"
SecretBase_Text_Trainer7PreChampion:
.string "I simply adore shopping for decorations\n"
.string "and furniture.\p"
.string "I also love raising POKéMON just\n"
.string "as much.$"
.string "I simply adore shopping for decorations\n"
.string "and furniture.\p"
.string "I also love raising POKéMON just\n"
.string "as much.$"
SecretBase_Text_Trainer3Intro:
.string "Some people make their SECRET BASES in\n"
.string "hard-to-find places.\l"
.string "Do they want to just lie low?\p"
.string "But since you found me, how about we\n"
.string "have a battle?$"
.string "Some people make their SECRET BASES in\n"
.string "hard-to-find places.\l"
.string "Do they want to just lie low?\p"
.string "But since you found me, how about we\n"
.string "have a battle?$"
SecretBase_Text_Trainer3AcceptBattle:
.string "I'm not going down easily!$"
.string "I'm not going down easily!$"
SecretBase_Text_Trainer3DeclineBattle:
.string "Oh… Are you maybe tired from searching\n"
.string "for this place?$"
.string "Oh… Are you maybe tired from searching\n"
.string "for this place?$"
SecretBase_Text_Trainer3Defeated::
.string "I went down…$"
.string "I went down…$"
SecretBase_Text_Trainer3PostBattle:
.string "Where's your SECRET BASE?\n"
.string "I should go visit you there.$"
.string "Where's your SECRET BASE?\n"
.string "I should go visit you there.$"
SecretBase_Text_Trainer3PreChampion:
.string "Some people make their SECRET BASES in\n"
.string "hard-to-find places.\l"
.string "Do they want to just lie low?$"
.string "Some people make their SECRET BASES in\n"
.string "hard-to-find places.\l"
.string "Do they want to just lie low?$"
SecretBase_Text_Trainer8Intro:
.string "People have told me that you can get\n"
.string "decorations in several ways.\p"
.string "We should have a race to see who can\n"
.string "get nicer decorations and furniture!\p"
.string "In the meantime, want to battle?$"
.string "People have told me that you can get\n"
.string "decorations in several ways.\p"
.string "We should have a race to see who can\n"
.string "get nicer decorations and furniture!\p"
.string "In the meantime, want to battle?$"
SecretBase_Text_Trainer8AcceptBattle:
.string "This is my SECRET BASE.\n"
.string "I can't lose!$"
.string "This is my SECRET BASE.\n"
.string "I can't lose!$"
SecretBase_Text_Trainer8DeclineBattle:
.string "I'll battle with you anytime.$"
.string "I'll battle with you anytime.$"
SecretBase_Text_Trainer8Defeated::
.string "Huh?\n"
.string "Did I just lose?$"
.string "Huh?\n"
.string "Did I just lose?$"
SecretBase_Text_Trainer8PostBattle:
.string "I won't lose at collecting decorations.\n"
.string "Come visit again!$"
.string "I won't lose at collecting decorations.\n"
.string "Come visit again!$"
SecretBase_Text_Trainer8PreChampion:
.string "People have told me that you can get\n"
.string "decorations in several ways.\p"
.string "We should have a race to see who can\n"
.string "get nicer decorations and furniture!$"
.string "People have told me that you can get\n"
.string "decorations in several ways.\p"
.string "We should have a race to see who can\n"
.string "get nicer decorations and furniture!$"
SecretBase_Text_Trainer4Intro:
.string "I found a spot I liked, and I did it up\n"
.string "with my favorite decorations.\p"
.string "I raise my favorite POKéMON and grow\n"
.string "stronger with it.\p"
.string "That's what I do.\n"
.string "Want to battle with me?$"
.string "I found a spot I liked, and I did it up\n"
.string "with my favorite decorations.\p"
.string "I raise my favorite POKéMON and grow\n"
.string "stronger with it.\p"
.string "That's what I do.\n"
.string "Want to battle with me?$"
SecretBase_Text_Trainer4AcceptBattle:
.string "Show me what you're made of!$"
.string "Show me what you're made of!$"
SecretBase_Text_Trainer4DeclineBattle:
.string "I guess there are times when you're not\n"
.string "into it.$"
.string "I guess there are times when you're not\n"
.string "into it.$"
SecretBase_Text_Trainer4Defeated::
.string "I know exactly what you're made of now.$"
.string "I know exactly what you're made of now.$"
SecretBase_Text_Trainer4PostBattle:
.string "We can both become stronger.\n"
.string "Let's keep at it!$"
.string "We can both become stronger.\n"
.string "Let's keep at it!$"
SecretBase_Text_Trainer4PreChampion:
.string "I found a spot I liked, and I did it up\n"
.string "with my favorite decorations.\p"
.string "I raise my favorite POKéMON and grow\n"
.string "stronger with it.\p"
.string "Every day is a great day.$"
.string "I found a spot I liked, and I did it up\n"
.string "with my favorite decorations.\p"
.string "I raise my favorite POKéMON and grow\n"
.string "stronger with it.\p"
.string "Every day is a great day.$"
SecretBase_Text_Trainer9Intro:
.string "You can learn a lot about the taste\n"
.string "and sense of people by the kinds of\l"
.string "decorations they have, and how they\l"
.string "display them.\p"
.string "What do you think of my taste?\n"
.string "Are you speechless?\p"
.string "Want to see my taste in battling?$"
.string "You can learn a lot about the taste\n"
.string "and sense of people by the kinds of\l"
.string "decorations they have, and how they\l"
.string "display them.\p"
.string "What do you think of my taste?\n"
.string "Are you speechless?\p"
.string "Want to see my taste in battling?$"
SecretBase_Text_Trainer9AcceptBattle:
.string "There's no holding back!$"
.string "There's no holding back!$"
SecretBase_Text_Trainer9DeclineBattle:
.string "I'll be happy to demonstrate my style\n"
.string "anytime.$"
.string "I'll be happy to demonstrate my style\n"
.string "anytime.$"
SecretBase_Text_Trainer9Defeated::
.string "You're supremely talented!\n"
.string "Your power seems to be limitless…$"
.string "You're supremely talented!\n"
.string "Your power seems to be limitless…$"
SecretBase_Text_Trainer9PostBattle:
.string "What did you think of my style?\n"
.string "I'll keep on polishing it!$"
.string "What did you think of my style?\n"
.string "I'll keep on polishing it!$"
SecretBase_Text_Trainer9PreChampion:
.string "You can learn a lot about the taste\n"
.string "and sense of people by the kinds of\l"
.string "decorations they have, and how they\l"
.string "display them.\p"
.string "What do you think of my taste?\n"
.string "Are you speechless?$"
.string "You can learn a lot about the taste\n"
.string "and sense of people by the kinds of\l"
.string "decorations they have, and how they\l"
.string "display them.\p"
.string "What do you think of my taste?\n"
.string "Are you speechless?$"

View File

@ -33,7 +33,7 @@ struct BgConfig2
u32 basePalette:4;
u32 unk_3:18;
void* tilemap;
void *tilemap;
s32 bg_x;
s32 bg_y;
};
@ -183,14 +183,14 @@ u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode)
case 0x1:
offset = sGpuBgConfigs.configs[bg].charBaseIndex * BG_CHAR_SIZE;
offset = destOffset + offset;
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0);
cursor = RequestDma3Copy(src, (void *)(offset + BG_VRAM), size, 0);
if (cursor == -1)
return -1;
break;
case 0x2:
offset = sGpuBgConfigs.configs[bg].mapBaseIndex * BG_SCREEN_SIZE;
offset = destOffset + offset;
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0);
cursor = RequestDma3Copy(src, (void *)(offset + BG_VRAM), size, 0);
if (cursor == -1)
return -1;
break;
@ -372,7 +372,7 @@ void SetBgMode(u8 bgMode)
SetBgModeInternal(bgMode);
}
u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset)
u16 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset)
{
u16 tileOffset;
u8 cursor;
@ -422,7 +422,7 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset)
if (!IsInvalidBg32(bg))
{
u16 paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2);
cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, 0);
cursor = RequestDma3Copy(src, (void *)(paletteOffset + BG_PLTT), size, 0);
if (cursor == -1)
{
@ -863,7 +863,7 @@ void UnsetBgTilemapBuffer(u8 bg)
}
}
void* GetBgTilemapBuffer(u8 bg)
void *GetBgTilemapBuffer(u8 bg)
{
if (IsInvalidBg32(bg))
return NULL;
@ -906,7 +906,7 @@ void CopyBgTilemapBufferToVram(u8 bg)
}
}
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height)
void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 width, u8 height)
{
u16 destX16;
u16 destY16;
@ -923,20 +923,20 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi
{
for (destX16 = destX; destX16 < (destX + width); destX16++)
{
((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *srcCopy++;
((u16 *)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *srcCopy++;
}
}
break;
}
case BG_TYPE_AFFINE:
{
const u8 * srcCopy = src;
const u8 *srcCopy = src;
mode = GetBgMetricAffineMode(bg, 0x1);
for (destY16 = destY; destY16 < (destY + height); destY16++)
{
for (destX16 = destX; destX16 < (destX + width); destX16++)
{
((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *srcCopy++;
((u8 *)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *srcCopy++;
}
}
break;
@ -984,7 +984,7 @@ void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8
{
for (j = destX; j < (destX + rectWidth); j++)
{
*(u8*)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8*)(srcPtr) + tileOffset;
*(u8 *)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8 *)(srcPtr) + tileOffset;
srcPtr++;
}
srcPtr += (srcWidth - rectWidth);
@ -1009,7 +1009,7 @@ void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width,
{
for (x16 = x; x16 < (x + width); x16++)
{
((u16*)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum;
((u16 *)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum;
}
}
break;
@ -1019,7 +1019,7 @@ void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width,
{
for (x16 = x; x16 < (x + width); x16++)
{
((u8*)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum;
((u8 *)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum;
}
}
break;
@ -1052,7 +1052,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt
{
for (x16 = x; x16 < (x + width); x16++)
{
CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0);
CopyTileMapEntry(&firstTileNum, &((u16 *)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0);
firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK);
}
}
@ -1063,7 +1063,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt
{
for (x16 = x; x16 < (x + width); x16++)
{
((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum;
((u8 *)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum;
firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK);
}
}
@ -1240,7 +1240,7 @@ bool32 IsInvalidBg32(u8 bg)
bool32 IsTileMapOutsideWram(u8 bg)
{
if (sGpuBgConfigs2[bg].tilemap > (void*)IWRAM_END)
if (sGpuBgConfigs2[bg].tilemap > (void *)IWRAM_END)
return TRUE;
else if (sGpuBgConfigs2[bg].tilemap == NULL)
return TRUE;

View File

@ -3,29 +3,29 @@
enum
{
BG_ATTR_CHARBASEINDEX = 1,
BG_ATTR_MAPBASEINDEX,
BG_ATTR_SCREENSIZE,
BG_ATTR_PALETTEMODE,
BG_ATTR_MOSAIC,
BG_ATTR_WRAPAROUND,
BG_ATTR_PRIORITY,
BG_ATTR_METRIC,
BG_ATTR_TYPE,
BG_ATTR_BASETILE,
BG_ATTR_CHARBASEINDEX = 1,
BG_ATTR_MAPBASEINDEX,
BG_ATTR_SCREENSIZE,
BG_ATTR_PALETTEMODE,
BG_ATTR_MOSAIC,
BG_ATTR_WRAPAROUND,
BG_ATTR_PRIORITY,
BG_ATTR_METRIC,
BG_ATTR_TYPE,
BG_ATTR_BASETILE,
};
enum {
BG_TYPE_NORMAL,
BG_TYPE_AFFINE,
BG_TYPE_NONE = 0xFFFF
BG_TYPE_NORMAL,
BG_TYPE_AFFINE,
BG_TYPE_NONE = 0xFFFF
};
// Modes for ChangeBgX / ChangeBgY
enum {
BG_COORD_SET,
BG_COORD_ADD,
BG_COORD_SUB,
BG_COORD_SET,
BG_COORD_ADD,
BG_COORD_SUB,
};
// Modes for Unused_AdjustBgMosaic
@ -62,7 +62,7 @@ void ResetBgsAndClearDma3BusyFlags(u32 leftoverFireRedLeafGreenVariable);
void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numTemplates);
void InitBgFromTemplate(const struct BgTemplate *template);
void SetBgMode(u8 bgMode);
u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset);
u16 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset);
u16 LoadBgTilemap(u8 bg, const void *src, u16 size, u16 destOffset);
u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset);
bool8 IsDma3ManagerBusyWithBgCopy(void);
@ -79,10 +79,10 @@ void SetBgAffine(u8 bg, s32 srcCenterX, s32 srcCenterY, s16 dispCenterX, s16 dis
u8 Unused_AdjustBgMosaic(u8 val, u8 mode);
void SetBgTilemapBuffer(u8 bg, void *tilemap);
void UnsetBgTilemapBuffer(u8 bg);
void* GetBgTilemapBuffer(u8 bg);
void *GetBgTilemapBuffer(u8 bg);
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, s16 tileOffset, s16 palette2);
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);

View File

@ -94,7 +94,7 @@ static void ApplyAffineAnimFrame(u8 matrixNum, struct AffineAnimFrameCmd *frameC
static u8 IndexOfSpriteTileTag(u16 tag);
static void AllocSpriteTileRange(u16 tag, u16 start, u16 count);
static void DoLoadSpritePalette(const u16 *src, u16 paletteOffset);
static void UpdateSpriteMatrixAnchorPos(struct Sprite*, s32, s32);
static void UpdateSpriteMatrixAnchorPos(struct Sprite *, s32, s32);
typedef void (*AnimFunc)(struct Sprite *);
typedef void (*AnimCmdFunc)(struct Sprite *);
@ -105,7 +105,7 @@ typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *);
.y = DISPLAY_HEIGHT, \
.affineMode = 0, \
.objMode = 0, \
.mosaic = 0, \
.mosaic = FALSE, \
.bpp = 0, \
.shape = SPRITE_SHAPE(8x8), \
.x = DISPLAY_WIDTH + 64, \
@ -1201,7 +1201,7 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite)
// Used to shift a sprite's position as it scales.
// Only used by the minigame countdown, so that for instance the numbers don't slide up as they squish down before jumping.
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y)
void SetSpriteMatrixAnchor(struct Sprite *sprite, s16 x, s16 y)
{
sprite->sAnchorX = x;
sprite->sAnchorY = y;

View File

@ -282,7 +282,7 @@ void FreeSpritePalette(struct Sprite *sprite);
void FreeSpriteOamMatrix(struct Sprite *sprite);
void DestroySpriteAndFreeResources(struct Sprite *sprite);
void AnimateSprite(struct Sprite *sprite);
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y);
void SetSpriteMatrixAnchor(struct Sprite *sprite, s16 x, s16 y);
void StartSpriteAnim(struct Sprite *sprite, u8 animNum);
void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum);
void SeekSpriteAnim(struct Sprite *sprite, u8 animCmdIndex);

View File

@ -387,7 +387,7 @@ u8 *StringBraille(u8 *dest, const u8 *src)
const u8 setBrailleFont[] = {
EXT_CTRL_CODE_BEGIN,
EXT_CTRL_CODE_FONT,
6,
FONT_BRAILLE,
EOS
};
const u8 gotoLine2[] = {

View File

@ -652,7 +652,7 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width)
struct Window *window;
struct Bitmap pixels_data;
struct TextGlyph *glyph;
u8* glyphHeight;
u8 *glyphHeight;
if (sLastTextBgColor != TEXT_COLOR_TRANSPARENT)
{
@ -1684,7 +1684,7 @@ u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension)
static void DecompressGlyph_Small(u16 glyphId, bool32 isJapanese)
{
const u16* glyphs;
const u16 *glyphs;
if (isJapanese == 1)
{
@ -1726,7 +1726,7 @@ static u32 GetGlyphWidth_Small(u16 glyphId, bool32 isJapanese)
static void DecompressGlyph_Narrow(u16 glyphId, bool32 isJapanese)
{
const u16* glyphs;
const u16 *glyphs;
if (isJapanese == TRUE)
{
@ -1768,7 +1768,7 @@ static u32 GetGlyphWidth_Narrow(u16 glyphId, bool32 isJapanese)
static void DecompressGlyph_SmallNarrow(u16 glyphId, bool32 isJapanese)
{
const u16* glyphs;
const u16 *glyphs;
if (isJapanese == TRUE)
{
@ -1810,7 +1810,7 @@ static u32 GetGlyphWidth_SmallNarrow(u16 glyphId, bool32 isJapanese)
static void DecompressGlyph_Short(u16 glyphId, bool32 isJapanese)
{
const u16* glyphs;
const u16 *glyphs;
if (isJapanese == TRUE)
{
@ -1854,7 +1854,7 @@ static u32 GetGlyphWidth_Short(u16 glyphId, bool32 isJapanese)
static void DecompressGlyph_Normal(u16 glyphId, bool32 isJapanese)
{
const u16* glyphs;
const u16 *glyphs;
if (isJapanese == TRUE)
{
@ -1896,7 +1896,7 @@ static u32 GetGlyphWidth_Normal(u16 glyphId, bool32 isJapanese)
static void DecompressGlyph_Bold(u16 glyphId)
{
const u16* glyphs;
const u16 *glyphs;
glyphs = sFontBoldJapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF));
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);

View File

@ -65,7 +65,7 @@ struct TextPrinterSubStruct
struct TextPrinterTemplate
{
const u8* currentChar;
const u8 *currentChar;
u8 windowId;
u8 fontId;
u8 x;

View File

@ -35,7 +35,7 @@ bool16 InitWindows(const struct WindowTemplate *templates)
int j;
u8 bgLayer;
u16 attrib;
u8* allocatedTilemapBuffer;
u8 *allocatedTilemapBuffer;
int allocatedBaseBlock;
for (i = 0; i < NUM_BACKGROUNDS; ++i)
@ -405,7 +405,7 @@ void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u
struct Bitmap sourceRect;
struct Bitmap destRect;
sourceRect.pixels = (u8*)pixels;
sourceRect.pixels = (u8 *)pixels;
sourceRect.width = srcWidth;
sourceRect.height = srcHeight;
@ -421,7 +421,7 @@ static void BlitBitmapRectToWindowWithColorKey(u8 windowId, const u8 *pixels, u1
struct Bitmap sourceRect;
struct Bitmap destRect;
sourceRect.pixels = (u8*)pixels;
sourceRect.pixels = (u8 *)pixels;
sourceRect.width = srcWidth;
sourceRect.height = srcHeight;
@ -463,9 +463,9 @@ void FillWindowPixelBuffer(u8 windowId, u8 fillValue)
destOffset = i + (a); \
srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \
if (srcOffset < size) \
*(u32*)(tileData + destOffset) = *(u32*)(tileData + srcOffset); \
*(u32 *)(tileData + destOffset) = *(u32 *)(tileData + srcOffset); \
else \
*(u32*)(tileData + destOffset) = fillValue32; \
*(u32 *)(tileData + destOffset) = fillValue32; \
distanceLoop++; \
}
@ -474,9 +474,9 @@ void FillWindowPixelBuffer(u8 windowId, u8 fillValue)
destOffset = i + (a); \
srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \
if (srcOffset < size) \
*(u32*)(tileData - destOffset) = *(u32*)(tileData - srcOffset); \
*(u32 *)(tileData - destOffset) = *(u32 *)(tileData - srcOffset); \
else \
*(u32*)(tileData - destOffset) = fillValue32; \
*(u32 *)(tileData - destOffset) = fillValue32; \
distanceLoop++; \
}
@ -550,7 +550,7 @@ bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value)
gWindows[windowId].window.baseBlock = value;
return FALSE;
case WINDOW_TILE_DATA:
gWindows[windowId].tileData = (u8*)(value);
gWindows[windowId].tileData = (u8 *)(value);
return TRUE;
case WINDOW_BG:
case WINDOW_WIDTH:
@ -605,7 +605,7 @@ static void DummyWindowBgTilemap8Bit(void)
u16 AddWindow8Bit(const struct WindowTemplate *template)
{
u16 windowId;
u8* memAddress;
u8 *memAddress;
u8 bgLayer;
for (windowId = 0; windowId < WINDOWS_MAX; windowId++)
@ -675,7 +675,7 @@ void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u
struct Bitmap sourceRect;
struct Bitmap destRect;
sourceRect.pixels = (u8*) pixels;
sourceRect.pixels = (u8 *) pixels;
sourceRect.width = srcWidth;
sourceRect.height = srcHeight;

View File

@ -73,7 +73,7 @@ void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u
void CopyWindowToVram8Bit(u8 windowId, u8 mode);
extern struct Window gWindows[];
extern void* gWindowBgTilemapBuffers[];
extern void *gWindowBgTilemapBuffers[];
extern u32 gUnusedWindowVar1;
extern u32 gUnusedWindowVar2;
extern u32 gUnusedWindowVar3;

BIN
graphics/balls/beast.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

BIN
graphics/balls/cherish.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

BIN
graphics/balls/dream.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

BIN
graphics/balls/dusk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

BIN
graphics/balls/fast.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

BIN
graphics/balls/friend.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

BIN
graphics/balls/heal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

BIN
graphics/balls/heavy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

BIN
graphics/balls/level.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

BIN
graphics/balls/love.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

BIN
graphics/balls/lure.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

BIN
graphics/balls/moon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

BIN
graphics/balls/park.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

BIN
graphics/balls/quick.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

BIN
graphics/balls/sport.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 214 0
255 197 0
255 173 0
255 165 0
148 90 222
255 107 0
255 132 0
255 148 0
255 156 41
0 0 0
0 90 0
0 0 0
0 0 0
0 0 0
0 0 0

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
172 222 230
164 213 230
148 205 222
131 205 222
123 197 213
115 189 205
98 180 197
90 180 197
82 172 189
74 164 180
65 156 180
57 131 156
49 115 131
41 82 106
24 74 82

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
246 205 82
238 205 74
238 205 57
246 222 123
238 205 57
238 197 49
230 189 24
246 213 82
255 222 131
255 213 115
255 213 106
255 213 90
246 213 82
255 230 156
0 0 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,2 @@
                                                                           $                   
                 $                                 !                    " "$           # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < =  > ? =  @ A B C D E F F G H C C C I J K L M N O P P P P Q R S T U V W X Y C Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q P P P r s t u v w x y z { | } ~ <20> ƒ „ … † ‡ ˆ ‰ Š Œ <20> Ž <20> <20> “ ” • ˜ ™ š œ <20> ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ± ² ³ ´ µ ¶ · ¸ ¹ ¹ ¹ ¹ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ ] ] ] ] ] ] ] Ç È É Ê ] ] ] ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ Ë ] ] ] ] ] ] ] ] ] ] ] ] ] ] Ì Í ] ] ] ] ] Î ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ Ï Ð ] ] ] ] ] ] ] ] ] ] ] ] Ñ Ò ] ] ] ] ]

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
255 0 0
131 230 255
106 213 255
98 205 255
57 156 180
8 115 123
180 189 172
156 180 164
115 164 131
74 131 106
49 106 65
0 106 74
0 90 49
0 82 24
0 65 0
0 32 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 8 8
255 255 255
222 246 246
189 230 230
156 213 213
131 205 205
115 189 189
90 172 172
65 156 156
49 139 139
32 123 123
16 98 98
0 74 74
0 49 49
0 32 32
0 16 16

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,2 @@
       
                             ! " # $ %             & ' ( ) * +            , - . / 0             1 2 3 4               5 6 7 8 9 : ; < < < < =      > ? @ A B C D E F G H I J K L L M N N O P Q @ R S T U V W X Y Z [ \ \$] ^ J J J J J J J J _ ` a b c d e f g h i j k l m m n n n o p q r s t u v w J J J J x y z { | } ~  m m m m m m m € <20> n ƒ „ … † ‡ ˆ ‰ Š J J J J Œ @ <20> Ž <20> ~ ~ <20> m “ ” • ˜ ™ ™ š œ <20> ž Ÿ   ¡ ¢ J J £ ¤ @ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ œ,´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á  @ Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ñ Ñ Ñ Ò Ó Ô

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 255
246 189 49
246 172 41
238 156 32
222 131 24
205 115 8
197 65 0
180 57 0
172 90 65
156 74 49
148 65 24
139 74 49
123 65 32
98 49 32
82 32 16
74 24 8

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,17 @@
?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,, ,,, , , ,
, ,,,,,,,,,,,, , , ,
, ,,,,,,,,,,1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(0(!("(#($(%(&('((()(*(+(,(-(.(/(0(!("(#($(%(&('((()(*(+(,(-(.(/( (((((((((((((((( ((((((((((((((((((((((((( (
( ( ( (((((((((((( (
( ( ( (((?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,, ,,, , , ,
, ,,,,,,,,,,,, , , ,
, ,,,,,,,,,,1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(0(!("(#($(%(&('((()(*(+(,(-(.(/(0(!("(#($(%(&('((()(*(+(,(-(.(/( (((((((((((((((( ((((((((((((((((((((((((( (
( ( ( (((((((((((( (
( ( ( (((?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,, ,,, , , ,
, ,,,,,,,,,,,, , , ,
, ,,,,,,,,,,1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(0(!("(#($(%(&('((()(*(+(,(-(.(/(0(!("(#($(%(&('((()(*(+(,(-(.(/( (((((((((((((((( ((((((((((((((((((((((((( (
( ( ( (((((((((((( (
( ( ( (((?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,?,>,=,<,;,:,9,8,7,6,5,4,3,2,2,1,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,/,.,-,,,+,*,),(,',&,%,$,#,",!,0,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,, ,,, , , ,
, ,,,,,,,,,,,, , , ,
, ,,,,,,,,,,1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(1(2(2(3(4(5(6(7(8(9(:(;(<(=(>(?(0(!("(#($(%(&('((()(*(+(,(-(.(/(0(!("(#($(%(&('((()(*(+(,(-(.(/( (((((((((((((((( ((((((((((((((((((((((((( (
( ( ( (((((((((((( (
( ( ( (((

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
48 48 48
72 72 72
88 88 88
120 120 120
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 164 255
255 106 139
255 131 222
255 139 230
255 164 238
255 189 255
255 205 255
246 230 255
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
238 24 32
255 246 205
246 246 222
246 238 189
238 238 213
238 238 205
238 230 197
230 230 180
230 222 164
230 222 172
222 213 139
213 205 123
213 205 115
205 197 106
197 189 106
57 49 65

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,2 @@
                               $
                          $                          !   "   #   $ %    & $ '      (   ) *    + ,   -   . / 0 1 2   3 4   5      6   7 8    9 : ; < =   > ? @  A    B   C   D   E  F  G   H   I J K  L  M N  O P   Q R  S   T   U  V  W   X   Y Z  L$[ \ ] ^ _  `  a b c d e   f   g  h  i   j  k l m  [$n  o p q  r  s  t u v w x  y  z { |  b$} ~     <20>  n$<24>  <20> <20> <20>   <20>  <20> <20> <20> <20> <20> <20> <20>  <20> <20> <20> <20> <20>  <20> <20>   <20> <20> <20>  <20>$<24>   <20> <20> <20> <20> <20> <20> <20> <20>   Ё Ђ  Ѓ  Є Ѕ І Ї Ј Љ Њ Ћ Ќ ­ Ў Џ   <20>$А  Б В Г Д Е  Ж З И Й К Л М Н О <20>Р И С Т  d$У Ф Х Ц Ч ^ А$Ш Щ Ъ И Ы Ь Э Ю Я а И И б  в И г  д е И И ж з и й к л м н  Ш$о п р И И с т у ф И И И х ц ч И ш щ ъ И И И И ы ь э ю И И я № о$

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 0
255 156 0
255 98 0
255 49 0
246 57 16
238 65 16
180 65 24
123 49 24
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
104 168 168
88 144 160
72 112 160
64 64 120
56 80 152
64 80 144
72 64 104
72 56 96
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

View File

@ -0,0 +1,5 @@
        
  $$ $ $ $
$ $$$$$$$$$                 $$$$$$$$$$$$$$$$ ! " # $ % & ' ( ) * + , - . / /$.$-$,$+$*$)$($'$&$%$$$#$"$!$ $0 1 2 3 4 5 6 7 8 9 : ; < = > ? ?$>$=$<$;$:$9$8$7$6$5$4$3$2$1$0$@ A B C D E F G H I J K L M N O O$N$M$L$K$J$I$H$G$F$E$D$C$B$A$@$P Q R S T U V W X Y Z [ \ ] ^ _ _$^$]$\$[$Z$Y$X$W$V$U$T$S$R$Q$P$` a b c d e f g h i j k l m n o o$n$m$l$k$j$i$h$g$f$e$d$c$b$a$`$`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,`,P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(_,^,],\,[,Z,Y,X,W,V,U,T,S,R,Q,P,@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(O,N,M,L,K,J,I,H,G,F,E,D,C,B,A,@,0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(?,>,=,<,;,:,9,8,7,6,5,4,3,2,1,0, (!("(#($(%(&('((()(*(+(,(-(.(/(/,.,-,,,+,*,),(,',&,%,$,#,",!, ,((((((((((((((((,,,,,,,,,,,,,,,,((((((((( (
( ( ( (((,, , , ,
, ,,,,,,,,,(

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 98 74
255 90 65
255 82 57
255 139 123
255 74 49
255 65 41
255 57 32
255 106 90
255 148 139
255 131 123
255 123 115
255 115 106
255 106 98
255 164 164
0 0 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
180 172 148
159 156 129
137 140 110
115 123 90
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
240 136 184
232 104 168
136 8 40
248 24 104
216 32 96
224 72 136
160 0 48
216 0 64
200 40 88
192 0 56
176 32 128
176 24 72
152 16 56
200 48 80
216 56 160

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,3 @@
<EFBFBD>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> D!E!F!G!H!I!@!<21>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> њ ћ ќ § ў џ ђ Ј$Ї$І$Ѕ$Є$Ѓ$Ђ$Ё$ $  Ё Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ ­ Ў Џ
! ! ! !!!!И$З$Ж$Е$Д$Г$В$Б$А$А Б В Г Д Е Ж З И Й К Л М Н О П !!!!!!!Ш$Ч$Ц$Х$Ф$У$Т$С$Р$Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я *!+!,!-!.!/!"!и$з$ж$е$д$г$в$б$а$а б в г д е ж з и й к л м н о п :!;!<!=!>!?!2!ш$ч$ц$х$ф$у$т$с$р$р с т у ф х ц ч ш щ ъ ы ь э ю я J!K!L!M!N!O!B!ш,ч,ц,х,ф,у,т,с,р,р(с(т(у(ф(х(ц(ч(ш(щ(ъ(ы(ь(э(ю(я(J)K)L)M)N)O)B)и,з,ж,е,д,г,в,б,а,а(б(в(г(д(е(ж(з(и(й(к(л(м(н(о(п(:);)<)=)>)?)2)Ш,Ч,Ц,Х,Ф,У,Т,С,Р,Р(С(Т(У(Ф(Х(Ц(Ч(Ш(Щ(Ъ(Ы(Ь(Э(Ю(Я(*)+),)-).)/)")И,З,Ж,Е,Д,Г,В,Б,А,А(Б(В(Г(Д(Е(Ж(З(И(Й(К(Л(М(Н(О(П()))))))Ј,Ї,І,Ѕ,Є,Ѓ,Ђ,Ё, , (Ё(Ђ(Ѓ(Є(Ѕ(І(Ї(Ј(Љ(Њ(Ћ(Ќ(­(Ў(Џ(
) ) ) ))))<29>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(њ(ћ(ќ(§(ў(џ(ђ(<28>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(D)E)F)G)H)I)@)

View File

@ -0,0 +1,3 @@
@%I%H%G%F%E%D%<25>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24> <20> <20> <20> <20> <20> <20> <20> <20> ђ$џ$ў$§$ќ$ћ$њ$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24> <20> <20> <20> <20> <20> <20> <20> <20> %%% % % %
%Џ$Ў$­$Ќ$Ћ$Њ$Љ$Ј$Ї$І$Ѕ$Є$Ѓ$Ђ$Ё$ $  Ё Ђ Ѓ Є Ѕ І Ї Ј %%%%%%%П$О$Н$М$Л$К$Й$И$З$Ж$Е$Д$Г$В$Б$А$А Б В Г Д Е Ж З И "%/%.%-%,%+%*%Я$Ю$Э$Ь$Ы$Ъ$Щ$Ш$Ч$Ц$Х$Ф$У$Т$С$Р$Р С Т У Ф Х Ц Ч Ш 2%?%>%=%<%;%:%п$о$н$м$л$к$й$и$з$ж$е$д$г$в$б$а$а б в г д е ж з и B%O%N%M%L%K%J%я$ю$э$ь$ы$ъ$щ$ш$ч$ц$х$ф$у$т$с$р$р с т у ф х ц ч ш B-O-N-M-L-K-J-я,ю,э,ь,ы,ъ,щ,ш,ч,ц,х,ф,у,т,с,р,р(с(т(у(ф(х(ц(ч(ш(2-?->-=-<-;-:-п,о,н,м,л,к,й,и,з,ж,е,д,г,в,б,а,а(б(в(г(д(е(ж(з(и("-/-.---,-+-*-Я,Ю,Э,Ь,Ы,Ъ,Щ,Ш,Ч,Ц,Х,Ф,У,Т,С,Р,Р(С(Т(У(Ф(Х(Ц(Ч(Ш(-------П,О,Н,М,Л,К,Й,И,З,Ж,Е,Д,Г,В,Б,А,А(Б(В(Г(Д(Е(Ж(З(И(--- - - -
-Џ,Ў,­,Ќ,Ћ,Њ,Љ,Ј,Ї,І,Ѕ,Є,Ѓ,Ђ,Ё, , (Ё(Ђ(Ѓ(Є(Ѕ(І(Ї(Ј(ђ,џ,ў,§,ќ,ћ,њ,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(@-I-H-G-F-E-D-<2D>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(

Some files were not shown because too many files have changed in this diff Show More