Skip to content

Commit

Permalink
Merge branch 'master' into bloodmoon-ursaluna
Browse files Browse the repository at this point in the history
  • Loading branch information
vulcandth committed Feb 1, 2025
2 parents 3e4de88 + 1a8b775 commit 0a4a362
Show file tree
Hide file tree
Showing 15 changed files with 114 additions and 76 deletions.
49 changes: 24 additions & 25 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
name: "Install build dependencies"
run: |
sudo apt-get update
sudo apt-get install bison gcc git make -y;
sudo apt-get install bison gcc git make libpng-dev -y;
# CHECKOUT RGBDS
- id: checkout-rgbds
Expand Down Expand Up @@ -63,70 +63,69 @@ jobs:
name: "Build polishedcrystal-faithful"
run: |
make -j$(nproc) faithful
mv polishedcrystal-3.1.0.gbc build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.gbc
mv polishedcrystal-3.1.0.sym build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.sym
mv polishedcrystal-faithful-3.1.0.gbc build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.gbc
mv polishedcrystal-faithful-3.1.0.sym build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.sym
make tidy
# BUILD VC PATCHES
- id: build-polishedcrystal-vc
name: "Build polishedcrystal vc"
run: |
make -j$(nproc) vc
mkdir build
mv polishedcrystal-3.1.0.gbc build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}-vc.gbc
mv polishedcrystal-3.1.0_vc.gbc build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}_vc.gbc
mv polishedcrystal-3.1.0.patch build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}.patch
mv polishedcrystal-3.1.0.sym build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}-vc.sym
mv polishedcrystal-3.1.0_vc.sym build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}_vc.sym
make tidy
- id: build-polishedcrystal-faithful-vc
name: "Build polishedcrystal-faithful vc"
run: |
make -j$(nproc) faithful vc
mv polishedcrystal-3.1.0.gbc build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}-vc.gbc
mv polishedcrystal-3.1.0.patch build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.patch
mv polishedcrystal-3.1.0.sym build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}-vc.sym
mv polishedcrystal-faithful-3.1.0.gbc build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}_vc.gbc
mv polishedcrystal-faithful-3.1.0.patch build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.patch
mv polishedcrystal-faithful-3.1.0.sym build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}_vc.sym
make tidy
# BUILD DEBUG ROMS
- id: build-polisheddebug
name: "Build polisheddebug"
run: |
make -j$(nproc) debug vc
mv polishedcrystal-3.1.0.gbc build/polisheddebug-3.1.0-${{ env.SHORT_SHA }}.gbc
mv polishedcrystal-3.1.0.sym build/polisheddebug-3.1.0-${{ env.SHORT_SHA }}.sym
mv polishedcrystal-debug-3.1.0.gbc build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}.gbc
mv polishedcrystal-debug-3.1.0.sym build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}.sym
make tidy
- id: build-polisheddebug-faithful
name: "Build polisheddebug-faithful"
run: |
make -j$(nproc) faithful debug vc
mv polishedcrystal-3.1.0.gbc build/polisheddebug-faithful-3.1.0-${{ env.SHORT_SHA }}.gbc
mv polishedcrystal-3.1.0.sym build/polisheddebug-faithful-3.1.0-${{ env.SHORT_SHA }}.sym
mv polishedcrystal-faithful-debug-3.1.0.gbc build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}.gbc
mv polishedcrystal-faithful-debug-3.1.0.sym build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}.sym
make tidy
- id: build-polisheddebug-vc
name: "Build polisheddebug vc"
run: |
make -j$(nproc) debug vc
mv polishedcrystal-3.1.0.gbc build/polisheddebug-3.1.0-${{ env.SHORT_SHA }}-vc.gbc
mv polishedcrystal-3.1.0.patch build/polisheddebug-3.1.0-${{ env.SHORT_SHA }}.patch
mv polishedcrystal-3.1.0.sym build/polisheddebug-3.1.0-${{ env.SHORT_SHA }}-vc.sym
mv polishedcrystal-debug-3.1.0_vc.gbc build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}_vc.gbc
mv polishedcrystal-debug-3.1.0.patch build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}.patch
mv polishedcrystal-debug-3.1.0.sym build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}_vc.sym
make tidy
- id: build-polisheddebug-faithful-vc
name: "Build polisheddebug-faithful vc"
run: |
make -j$(nproc) faithful debug vc
mv polishedcrystal-3.1.0.gbc build/polisheddebug-faithful-3.1.0-${{ env.SHORT_SHA }}-vc.gbc
mv polishedcrystal-3.1.0.patch build/polisheddebug-faithful-3.1.0-${{ env.SHORT_SHA }}.patch
mv polishedcrystal-3.1.0.sym build/polisheddebug-faithful-3.1.0-${{ env.SHORT_SHA }}-vc.sym
mv polishedcrystal-faithful-debug-3.1.0_vc.gbc build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}_vc.gbc
mv polishedcrystal-faithful-debug-3.1.0.patch build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}.patch
mv polishedcrystal-faithful-debug-3.1.0_vc.sym build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}_vc.sym
make tidy
# UPLOAD ARTIFACTS – only if the repo is owned by Rangi42 (i.e., not a fork)
- id: upload-polishedcrystal
if: ${{ github.repository_owner == 'Rangi42' }}
name: "Upload polishedcrystal artifacts"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: "polishedcrystal"
retention-days: 1
Expand All @@ -136,7 +135,7 @@ jobs:
- id: upload-polishedcrystal-faithful
if: ${{ github.repository_owner == 'Rangi42' }}
name: "Upload polishedcrystal-faithful artifacts"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: "polishedcrystal-faithful"
retention-days: 1
Expand All @@ -146,19 +145,19 @@ jobs:
- id: upload-polisheddebug
if: ${{ github.repository_owner == 'Rangi42' }}
name: "Upload polisheddebug artifacts"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: "polisheddebug"
retention-days: 1
path: |
build/polisheddebug-3.1.0-${{ env.SHORT_SHA }}.*
build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}.*
- id: upload-polisheddebug-faithful
if: ${{ github.repository_owner == 'Rangi42' }}
name: "Upload polisheddebug-faithful artifacts"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: "polisheddebug-faithful"
retention-days: 1
path: |
build/polisheddebug-faithful-3.1.0-${{ env.SHORT_SHA }}.*
build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}.*
31 changes: 16 additions & 15 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ on:
push:
branches:
- master
workflow_dispatch:
# Uncomment to enable scheduled runs, if desired:
# schedule:
# - cron: '0 5 * * *'

env:
NIGHTLY_TAG: "v3.1.0-beta"
NIGHTLY_NAME: "3.1.0-beta"
NIGHTLY_TAG: "v3.1.0"
NIGHTLY_NAME: "3.1.0"
NIGHTLY_BODY: |
This is the current Polished Crystal 3.1.0 *beta* release. The assets all have an 8-character "commit hash" at the end to identify the exact code they're built from.
Expand All @@ -21,7 +22,7 @@ env:
The **.patch** assets are 3DS Virtual Console patches to enable trading and battling over Wi-Fi. You can bundle the .gbc and corresponding .patch into a playable .cia file using [poke-cia](https://github.com/vulcandth/poke-cia).
The **polisheddebug** assets are ROMs and symbol files with extra features to help debug the game. Do ***not*** download these to just play with; use them to help the developers diagnose and fix bugs, or create new features.
The **polishedcrystal** assets are ROMs and symbol files with extra features to help debug the game. Do ***not*** download these to just play with; use them to help the developers diagnose and fix bugs, or create new features.
jobs:
build:
Expand Down Expand Up @@ -113,9 +114,9 @@ jobs:
with:
tag_name: ${{ env.NIGHTLY_TAG }}
files: |
./build/polishedcrystal-3.1.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-3.1.0-beta-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-3.1.0-beta-${{ env.SHORT_SHA }}.sym
./build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-3.1.0-${{ env.SHORT_SHA }}.sym
# UPLOAD FAITHFUL ASSETS
- name: Upload faithful assets
Expand All @@ -124,9 +125,9 @@ jobs:
with:
tag_name: ${{ env.NIGHTLY_TAG }}
files: |
./build/polishedcrystal-faithful-3.1.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-faithful-3.1.0-beta-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-faithful-3.1.0-beta-${{ env.SHORT_SHA }}.sym
./build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-faithful-3.1.0-${{ env.SHORT_SHA }}.sym
# UPLOAD DEBUG ASSETS
- name: Upload debug assets
Expand All @@ -135,9 +136,9 @@ jobs:
with:
tag_name: ${{ env.NIGHTLY_TAG }}
files: |
./build/polisheddebug-3.1.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polisheddebug-3.1.0-beta-${{ env.SHORT_SHA }}.patch
./build/polisheddebug-3.1.0-beta-${{ env.SHORT_SHA }}.sym
./build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-debug-3.1.0-${{ env.SHORT_SHA }}.sym
# UPLOAD FAITHFUL DEBUG ASSETS
- name: Upload faithful debug assets
Expand All @@ -146,6 +147,6 @@ jobs:
with:
tag_name: ${{ env.NIGHTLY_TAG }}
files: |
./build/polisheddebug-faithful-3.1.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polisheddebug-faithful-3.1.0-beta-${{ env.SHORT_SHA }}.patch
./build/polisheddebug-faithful-3.1.0-beta-${{ env.SHORT_SHA }}.sym
./build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-faithful-debug-3.1.0-${{ env.SHORT_SHA }}.sym
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Changelog

Note: The changelog is severely out of date, and will be updated *later*.

These changes have been made since the current 2.2.0 release. If you build the project as-is, it will include all of them.

> What's the point of going through all the trouble of the debug process if you're going to go and fiddle with the game afterwards…?
Expand Down
2 changes: 1 addition & 1 deletion FEATURES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Features

These are *most* of the new features as of 2.2.0. Some would be spoilers.
These are *some* of the new features as of 2.2.0. Some would be spoilers.

> We've been greedy in the amount of gameplay elements we've squeezed in there. There's so much included that I even had colleagues saying to me: "Are you sure you should be going this far with a remake?" In that sense, it's not simply a remake—I think it's more than that. For that reason, I would like to see these games enjoyed by as large a number of people as possible.
>
Expand Down
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ cd polishedcrystal
mkdir rgbds
```

Then download [**rgbds**](https://rgbds.gbdev.io/). If you're building Polished Crystal 2.2.0, get rgbds version 0.3.9. If you're building the 3.0.0 beta master branch, you'll need version 0.7.0. If you're building 9bit or another in-progress feature branch, you'll need version **0.8.0**. Extract the archive and put all the .exe and .dll files in polishedcrystal/rgbds.
Then download [**rgbds**](https://rgbds.gbdev.io/). If you're building Polished Crystal 2.2.0, get rgbds version 0.3.9. If you're building the 3.1.0 beta master branch, you'll need version 0.7.0. If you're building 9bit or another in-progress feature branch, you'll need version **0.8.0**. Extract the archive and put all the .exe and .dll files in polishedcrystal/rgbds.

To build **polishedcrystal.gbc**:

Expand Down
72 changes: 43 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,57 +10,71 @@ I've had vague plans to make a Pokémon game for years. I'm very impressed by th
>
> — Junichi Masuda, "[HIDDEN POWER of masuda No. 7](https://www.gamefreak.co.jp/blog/dir_english/?p=21)"

## Download and Play

The current beta version is **3.0.0**. It has some incomplete original content and known bugs, but it's playable from start to finish. Download the [nightly release](https://github.com/Rangi42/polishedcrystal/releases/tag/v3.0.0-beta) to get the very latest ROM, up-to-date with the `master` code branch.
The **current official release** is **v3.1.0** (the “Polished Crystal” release). It's fully playable from start to finish and includes major overhauls to gameplay, mechanics, and quality of life. A more detailed changelog is forthcoming, but you can find the major highlights below.

The most recent official version is [2.2.0](https://github.com/Rangi42/polishedcrystal/releases/tag/v2.2.0) as of September 20, 2016. [The changelog](CHANGELOG.md) lists all changes since then. I recommend playing the 3.0.0 beta instead.
- **[Download v3.1.0 here](https://github.com/Rangi42/polishedcrystal/releases/tag/v3.1.0)**

*If you have any questions about these steps, [read the FAQ](FAQ.md)!*
The previous official version was [v2.2.0](https://github.com/Rangi42/polishedcrystal/releases/tag/v2.2.0) (September 20, 2016). However, **v3.1.0** includes *significant* enhancements and is recommended for all players.

*If you have any questions about playing or patching, [read the FAQ](FAQ.md)!*

## Features
## What’s New in v3.1.0

A full list of features is in [FEATURES.md](FEATURES.md). Features new to the beta are in [CHANGELOG.md](CHANGELOG.md). Some highlights:
Below is a brief summary of the major changes and additions. A more detailed changelog will be released soon.

* 253 Pokémon, including some new evolutions.
* 48 new moves.
* 65 TMs and 21 move tutors.
* Many new mechanics, including the Fairy type, Physical/Special split, Natures, unlimited TMs, Running Shoes, and continuous Repel.
* New maps: some restored from R/B/Y, some devamped from HG/SS, and some original.
* New characters, including Lorelei and Agatha from R/B/Y, Lyra and the Team Rocket Executives from HG/SS, and others.
* More post-game content, like Gym Leader rematches and an event after the battle with Red.
* An improved level curve with steadily increasing challenges throughout the game.
* Music and graphics devamped from other versions.
- **Customizable New Game Setup:** You can now toggle Natures on/off, choose how EVs work (classic no-limit, modern 510 limit, or disabled), and configure various other gameplay options before starting a new adventure.
- **DVs No Longer Determine Natures/Shininess/Gender/Unown Form:** DVs still affect color variation (slightly different hues for the same species), but everything else is now handled separately.
- **Overhauled Battle Engine and HUD:**
- Abilities are now supported.
- Moves have been updated to behave more like their modern counterparts.
- Minor HUD improvements make battles more streamlined.
- **Revamped Move Animations:** Many moves have updated animations.
- **Optimized Engine and 60fps Overworld:** The game engine has been heavily optimized for smoother performance, and the overworld now runs at 60 frames per second.
- **Storage System Redesign:** The PC storage interface is more like modern Pokémon games. You can switch boxes, move Pokémon around, and manage your party with minimal saving hassles.
- **HGSS-Inspired Pokédex:** The new Pokédex includes base stats, egg groups, and a more comprehensive encounter map showing *all* methods of obtaining Pokémon.
- **Enhanced Overworld Weather:** Instead of just darkening the screen, you’ll now see proper rain, snow, or sandstorms in applicable areas.

## Features

## Discussion
A full list of features is in [FEATURES.md](FEATURES.md). Some highlights:

- **253 Pokémon**, including some new evolutions.
- **48 new moves**, **75 TMs**, and **31 move tutors**.
- Modern mechanics, such as the **Fairy type**, **Physical/Special split**, **Natures**, **Abilities**, and more.
- **Unlimited TMs** and quality-of-life features like **Running Shoes** and continuous **Repel**.
- **New/Revamped Maps**: Some from R/B/Y, some devamped from HG/SS, plus original locations.
- **New Characters** including Lorelei and Agatha (R/B/Y), Lyra and the Team Rocket Executives (HG/SS), and others.
- **More Post-Game Content**: Gym Leader rematches, a new event after battling Red, and more.
- **Improved Level Curve** with steadily increasing challenges.
- **Music and Graphics** devamped from newer generations.

You can post questions or comments on any of these sites. But please read the [FAQ](FAQ.md) first if you have a question.
## Discussion

* [Discord](https://discord.gg/ZK5pqK8)
* [Skeetendo](https://hax.iimarckus.org/topic/6874/)
* [PokéCommunity](http://www.pokecommunity.com/showthread.php?t=373172)
* [Romhack.me](http://www.romhack.me/polishedcrystal/wall/)
* [/r/PokemonROMHacks](https://www.reddit.com/r/PokemonROMhacks/comments/51kbcn/pok%C3%A9mon_polished_crystal_200/)
* [Nuzlocke Forums](http://s7.zetaboards.com/Nuzlocke_Forum/topic/11003710/)
* [Pokémon Hackers Online](http://www.pokemonhackersonline.com/showthread.php?t=15811)
If you have questions or comments, please check or post on any of these sites. (Read the [FAQ](FAQ.md) first if you have general questions!)

- [Discord](https://discord.gg/ZK5pqK8)
- [Skeetendo](https://hax.iimarckus.org/topic/6874/)
- [PokéCommunity](http://www.pokecommunity.com/showthread.php?t=373172)
- [Romhack.me](http://www.romhack.me/polishedcrystal/wall/)
- [/r/PokemonROMHacks](https://www.reddit.com/r/PokemonROMhacks/comments/51kbcn/pok%C3%A9mon_polished_crystal_200/)
- [Nuzlocke Forums](http://s7.zetaboards.com/Nuzlocke_Forum/topic/11003710/)
- [Pokémon Hackers Online](http://www.pokemonhackersonline.com/showthread.php?t=15811)

## Screenshots

![title-screen](screenshots/title-screen.png)
![which-photo](screenshots/which-photo.png)
![running-shoes](screenshots/running-shoes.png)
![town-map](screenshots/town-map.png)
![lyra](screenshots/lyra.png)

![lyra](screenshots/lyra.png)
![cherrygrove-city](screenshots/cherrygrove-city.png)
![pokemon-center](screenshots/pokemon-center.png)
![bag](screenshots/bag.png)
![oaks-aide](screenshots/oaks-aide.png)

![elder-li](screenshots/elder-li.png)
![oaks-aide](screenshots/oaks-aide.png)
![move-tutor](screenshots/move-tutor.png)
![moss-rock](screenshots/moss-rock.png)
![rich-boy](screenshots/rich-boy.png)
Expand All @@ -86,7 +100,7 @@ You can post questions or comments on any of these sites. But please read the [F
![stats](screenshots/stats.png)

![leppa-berry](screenshots/leppa-berry.png)
![weavile](screenshots/weavile.png)
![regional-forms](screenshots/regional-forms.png)
![move-reminder](screenshots/move-reminder.png)
![moves](screenshots/moves.png)

Expand All @@ -102,7 +116,7 @@ You can post questions or comments on any of these sites. But please read the [F

![fighting-dojo](screenshots/fighting-dojo.png)
![silph-co](screenshots/silph-co.png)
![pokedex](screenshots/pokedex.png)
![stormy-beach](screenshots/stormy-beach.png)
![rock-tunnel](screenshots/rock-tunnel.png)

![safari-zone](screenshots/safari-zone.png)
Expand Down
22 changes: 22 additions & 0 deletions engine/menus/intro_menu.asm
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,34 @@ NewGame_ClearTileMapEtc:
jmp ClearWindowData

NewGamePlus:
ld hl, .text
call PrintText
call YesNoBox
jr c, .no
xor a
ldh [hBGMapMode], a
farcall TryLoadSaveFile
ret c
jr _NewGame_FinishSetup

.no
farjp _MainMenu

.text
text "New Game+ will"
line "keep your previous"

para "game's money,"
line "Battle Points, and"

para "any #mon stored"
line "in the PC!"

para "Are you sure you"
line "you want to start"
cont "New Game+?"
done

NewGame:
xor a
ldh [hBGMapMode], a
Expand Down
Loading

0 comments on commit 0a4a362

Please sign in to comment.