Commit Graph

230 Commits

Author SHA1 Message Date
Rangi
36b21b39d8 Fix #537: Palettes generated from PNGs use .gbcpal directly.
This avoids overwriting a .pal file from a .png with the same name.
It also prevents people from trying to edit generated .pal files.
2018-08-31 21:39:17 -04:00
Rangi
eb1e3636bb Use labels instead of constants for HRAM
Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
2018-08-25 14:28:22 -04:00
aaaaaa123456789
5a55d629e1 Update lzcomp to the latest version and fix Makefiles accordingly 2018-08-04 23:43:59 -03:00
mid-kid
0d9241889f Organize the engine/ directory, take 3
Renamed `title` to `movies`.
Moved some functions from `engine/routines/` to their fitting
directories, and cleaned up the base `engine/` directory.
Moved `engine/pokemon/tmhm.asm` back to `engine/items/`.

Made a new subdirectory:
* engine/tilesets: Contains all map-related graphics routines.
2018-03-25 16:18:33 +02:00
mid-kid
baa0dc5a96 Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by
creating categorized subdirectories, in order to make it easier to
navigate and find things.

The directories created are as follows:
* engine/game: Contains all "minigames", things like the unown puzzle
and slot machine.
* engine/gfx: Contains all handling of graphics. From loading palettes
to playing animations.
* engine/link: Contains all multiplayer functionality.
* engine/menu: Contains all generic/misc. menus and menu code.
Other, more specialized menus are in their own subdirectories (pokedex,
pokegear, party menu, etc).
* engine/overworld: Contains all handling of the overworld. From loading
and connecting maps to wild encounters and the scripting engine.
* engine/pokegear: In the same vein as engine/pokedex, except it could
use some more splitting up.
* engine/pokemon: Contains everything related to manipulating pokemon
data. From the pokemon storage system to evolution and mail.
* engine/printer: Contains everything related to printing things as well
as the printer communication.
* engine/title: Contains intro sequences, title screens and credits.
2018-03-13 13:21:40 +01:00
Rangi
335c2699f0 Merge branch 'master' of https://github.com/pret/pokecrystal
# Conflicts:
#	constants/map_constants.asm
#	constants/wram_constants.asm
#	data/radio/oaks_pkmn_talk_routes.asm
#	data/radio/pnp_hidden_places.asm
#	engine/battle/core.asm
#	engine/breeding.asm
#	engine/phone/phone_scripts.asm
#	engine/radio.asm
#	maps/BattleTower1F.asm
#	maps/OlivineLighthouse2F.asm
#	maps/OlivineLighthouse6F.asm
#	maps/PokemonFanClub.asm
#	maps/RadioTower1F.asm
#	maps/RadioTower2F.asm
#	maps/Route30BerryHouse.asm
#	maps/Route34IlexForestGate.asm
#	maps/Route36NationalParkGate.asm
#	maps/RuinsOfAlphKabutoChamber.asm
#	maps/RuinsOfAlphResearchCenter.asm
#	maps/VermilionPort.asm
#	maps/VictoryRoad.asm
2018-02-25 20:39:54 -05:00
mid-kid
8ddffef8b8 Don't let the Makefile pick up .tilemap files
We don't generate any tilemap file with rgbgfx yet, because they won't
match anyway. This should be re-added when we can do it properly.
2018-02-08 19:38:14 +01:00
Rangi
6ff2cb20e6 map → map_id; map_def → map; map_data → map_attributes 2018-02-03 17:11:55 -05:00
Rangi
518dd46ca1 data/text/X_text.asm is redundant 2018-01-24 21:27:23 -05:00
Rangi
f44b7ad5c3 Add data/text/ 2018-01-22 17:33:52 -05:00
Rangi
6ecf18aa52 Engine flag bit constants for wPokegearFlags 2018-01-22 12:03:18 -05:00
Rangi
2e0a9ea081 Rearrange Makefile by content 2018-01-22 11:36:39 -05:00
yenatch
7fba864883 Add back catch-all graphics rules.
.pal -> .gbcpal has been omitted for now since there's no tool to convert it yet.
2018-01-22 01:03:04 -05:00
Remy Oukaour
a8eb44b6e3 Separate new_game graphics 2018-01-21 13:58:16 -05:00
Remy Oukaour
ddec0ee305 More Japanese characters 2018-01-19 20:48:33 -05:00
Remy Oukaour
fdb81d0a04 One leader per line 2018-01-19 00:02:58 -05:00
Remy Oukaour
94bbfe2f0c Move map-related "metadata" files into data/maps/ 2018-01-16 19:56:21 -05:00
Remy Oukaour
4d611738c8 Merge branch 'sort-symfile' of https://github.com/yenatch/pokecrystal 2018-01-14 23:47:36 -05:00
Remy Oukaour
be4510659a Mystery Gift graphics match 2018-01-12 15:30:46 -05:00
Remy Oukaour
68e5a703cb Resize SGB graphics 2018-01-11 02:10:06 -05:00
Remy Oukaour
efd91fe3db Avoid catch-all Makefile rules 2018-01-09 23:00:56 -05:00
Remy Oukaour
cc0fd6e12c CRYSTAL11 → _CRYSTAL11 2018-01-09 17:26:40 -05:00
Remy Oukaour
05e5eaf12f Eliminate version.asm (resolves #464) 2018-01-09 00:51:53 -05:00
Remy Oukaour
31edd7f803 Move text/ into data/ 2018-01-09 00:23:48 -05:00
Remy Oukaour
41feb29680 Make some graphics easier to edit 2018-01-02 19:33:27 -05:00
yenatch
f185cc9b77 sort the symfile by symbol type 2018-01-01 22:40:35 -05:00
Remy Oukaour
8259136911 Name mail graphics 2017-12-26 20:02:00 -05:00
Remy Oukaour
35a3a19fda Use "battle_anims" and "sprite_anims" for clarity, not just "anims" 2017-12-26 18:45:04 -05:00
Remy Oukaour
b5417fafec Split battle/ into data/ and engine/ components 2017-12-26 17:47:05 -05:00
Remy Oukaour
24f0e7d045 Rename: emote_headers, sprite_headers, cry_headers, gfx_headers, tileset_headers 2017-12-26 12:50:32 -05:00
Remy Oukaour
25a3960646 Move some more main.asm routines into individual files 2017-12-16 19:00:50 -05:00
Remy Oukaour
2cf5cc1dc7 Move more unknown graphics into real subfolders 2017-12-15 17:50:45 -05:00
Remy Oukaour
dc76bf804f Move all misc/ and unknown/ files to meaningful directories 2017-12-15 13:21:47 -05:00
Remy Oukaour
6ab1d028bb Split items/ and trainers/ into their data/ and engine/ components
Move some data into a pokemon/ subdirectory
2017-12-14 23:00:54 -05:00
Remy Oukaour
2d644f5077 Name some gfx/unknown/ files 2017-12-11 18:04:23 -05:00
Remy Oukaour
e6f6a75330 Move the rest of gfx/misc/ into specific directories 2017-12-11 17:51:04 -05:00
Remy Oukaour
32ea595c47 Move some gfx/unknown/ files into meaningful directories 2017-12-09 23:37:08 -05:00
Remy Oukaour
31901f73b0 Move some gfx/misc/ files into meaningful directories 2017-12-09 22:57:41 -05:00
yenatch
346a6f8dcb fix make 3.81
the shell newline capture doesnt work in 3.81, so that's gone
2017-12-03 21:58:27 -05:00
yenatch
ea8aaeb8e3 fix cryptic 'no rule' error when a prerequisite is missing
at the cost of scan_includes running before the rules are actually evaluated
2017-12-03 20:46:11 -05:00
yenatch
021afb6831 rgbds variables in the makefile
this is for my own convenience but anyone using both rgbds 2 and 3 may find it useful
2017-10-22 02:12:13 -04:00
yenatch
1439887b49 rename pokecrystal.ld -> pokecrystal.link 2017-10-22 02:06:43 -04:00
yenatch
aa19af3822 Rebuild on changes to pokecrystal.ld 2017-09-24 03:30:47 -04:00
yenatch
01caa369ec Merge pull request #379 from yenatch/tools
Refactor scan_includes and add warnings for tools
2017-09-24 01:25:03 -04:00
yenatch
17448c51a5 Merge pull request #389 from yenatch/rgbds-3
rgbds 0.3.3
2017-09-24 01:23:34 -04:00
PikalaxALT
63bc19e33d Make repository compatible with RGBDS 0.3.3 (breaks support for earlier versions of RGBDS) 2017-09-24 01:15:05 -04:00
yenatch
59a27d5907 tools/gfx: Replace --width with --png 2017-09-24 01:07:02 -04:00
PikalaxALT
0e470bc785 Fix section linking
Create linker script and float all sections
2017-09-23 23:04:10 -04:00
surskitty
7cd4ca1207 Updating Makefile for the unused GB + N64 image. 2017-09-10 00:30:52 -04:00
yenatch
7ba068d45b Makefile formatting 2017-08-20 12:42:54 -04:00
yenatch
3064e84c5f Use $(filter) to check targets 2017-08-20 12:37:23 -04:00
yenatch
8e87d5abc4 Use $(MAKE) 2017-06-29 18:34:29 -04:00
yenatch
5dfe27125b Merge branch 'master' into tools-makefile-integration 2017-06-24 20:42:25 -04:00
yenatch
f03b898250 Add a md5 tool to avoid md5sum dependency.
md5sum is missing in macOS and (presumably) BSD.

An alternative would have been to use sha1sum instead, but it's probably
a good idea to have as few dependencies as possible, so this doesn't
happen again.

fixes #364
2017-06-24 18:42:28 -04:00
yenatch
f12e42ab6d Use SHA1 to compare roms 2017-06-24 18:32:54 -04:00
yenatch
9b1550c5e0 Explicit rules for gfx/shrink{1,2}.2bpp 2017-06-24 16:31:42 -04:00
yenatch
a20664d415 Fix gfx/misc 2017-06-24 16:30:12 -04:00
yenatch
803c5154f4 pngs in gfx/unknown 2017-06-24 16:27:52 -04:00
yenatch
131bda73bc pngs in gfx/misc 2017-06-24 02:50:42 -04:00
yenatch
41ae3610f6 pngs in gfx/fx
- gave up on wind.png
- add --remove-yflip
2017-06-24 00:47:55 -04:00
yenatch
1f81d1851f pngs in gfx/ 2017-06-23 19:56:24 -04:00
yenatch
89093e4670 pngs in gfx/trainers 2017-06-22 23:46:58 -04:00
yenatch
31d9c1fffa pngs in gfx/trade
game_boy.png can be rearranged in a nicer way, but it's a job for another time
2017-06-22 23:45:45 -04:00
yenatch
647f9b4452 pngs in gfx/title 2017-06-21 23:45:01 -04:00
yenatch
f10ed64d1a pngs in gfx/pokedex 2017-06-20 23:42:29 -04:00
yenatch
93a3a7d3c5 Use $(if) in the makefile. Fix gfx/mail.
Fixes 384788f370
2017-06-20 23:36:28 -04:00
yenatch
384788f370 pngs in gfx/mail 2017-06-18 00:13:03 -04:00
Ben10do
fc300ab0ee
Fix parallelisation issues in Makefile
Introduces a minor hack, in order to ensure that the tools are built before the Makefile attempts to use any of the tools, even when using ‘make -j’.
2017-06-10 18:21:38 +01:00
Ben10do
202cea9705
- Make the tools implicitly when making the ROM
- Add a clean target to the tools Makefile
- Run said clean target when cleaning the pokecrystal directory
2017-06-09 21:55:09 +01:00
yenatch
6001eeba40 makefile misc qol
- md5sum: no more --quiet. this flag is not standard and seeing "OK" is probably better
- saner use of $(roms)
2017-05-29 23:22:24 -04:00
yenatch
2f2aa10c9c Reorder the build targets for backwards compatibility with gmake 3.81. 2017-05-29 23:21:42 -04:00
yenatch
e78034eb8c Use a separate makefile for tools
- Fix crystal11
- Fix a bug where the dependency checks would run regardless of target

Fixes 0bd74cdd73
2017-05-29 19:15:34 -04:00
yenatch
d6bf2468a1 Add targets for the pokemon animation edge cases. 2017-05-28 23:23:11 -04:00
yenatch
0bd74cdd73 Fix crystal11 after clean 2017-05-28 15:53:30 -04:00
yenatch
1a549990da Accidentally deleted the pokemon palette rule 2017-05-28 15:53:06 -04:00
yenatch
e9c1d24c31 Add Pokemon pic pngs.
Copies of the matching compressed files are kept, so files with a matching hash will use the matching compressed file instead.

This is the best that can be done until the compressor is fixed, which may never happen.
2017-05-28 14:03:13 -04:00
yenatch
22058020f4 Fix intermediate files once and for all.
GNU Make defaults to deleting all intermediate files unless .SECONDARY is defined.
2017-05-28 01:22:17 -04:00
yenatch
517136b0d9 Fix the graphics rules 2017-05-28 01:20:58 -04:00
yenatch
caa94f8412 Fix the lzcomp rule. 2017-04-28 00:37:42 -04:00
yenatch
f09a233eba Add rules previously covered by gfx.py. 2016-08-24 22:03:12 -04:00
yenatch
2ab468268a Add C build tools. 2016-08-24 21:56:07 -04:00
yenatch
05cffac744 Add a custom scan_includes.py. 2016-04-10 19:19:58 -04:00
dannye
8d1551ec9d Revert 85d30fa079 2016-03-24 11:27:02 -05:00
yenatch
85d30fa079 Fix make deleting files that aren't actually intermediate.
make was deciding that a couple .blk files were actually intermediate.
Still don't know what is causing that issue. This is a temporary fix
that will probably be forgotten about and become a permanent one.
2016-03-21 08:04:00 -04:00
yenatch
1f784700b9 Fix the symfile.
gnu make redefines $* to mean % in spite of posix.
2016-03-16 17:54:20 -04:00
yenatch
3810cefaa2 Suppress deletion of .1bpp files. 2016-03-03 00:06:09 -05:00
yenatch
13f5590abe Trim some whitespace in the makefile. 2016-03-01 23:39:01 -05:00
yenatch
370f84227b Suppress deletion of intermediate .2bpp files. 2016-03-01 23:38:36 -05:00
yenatch
0be6e6c910 Remove useless lines in the makefile.
The previous rules were composed this way but only because target-specific variables weren't used. As they are now, they actually do nothing.
2016-03-01 21:13:38 -05:00
yenatch
e11ef2b8d5 Only generate dependencies for a target when it's invoked.
This means dependencies for unrelated targets aren't generated if you aren't building them. This makes "make clean" and building individual targets fast again.
2016-03-01 21:01:34 -05:00
yenatch
782cbc14d6 Only use suffixes needed for intermediate rules.
This is technically a hack, since keeping the .asm suffix was causing nonexistent rules to be evaluated as per the next commit. On the other hand, this is the intended purpose of .SUFFIXES.
2016-03-01 20:58:00 -05:00
yenatch
73a660bf2a Remove "make pngs". 2016-02-17 16:22:05 -05:00
yenatch
36f0bda0b3 Use static pattern rules to fix dependencies for objects in subdirs. 2016-02-10 00:31:32 -05:00
yenatch
08ac6dfd80 *_crystal.asm files are no longer needed to build crystal *.o. 2016-01-29 16:24:38 -05:00
yenatch
1176712cfe Use rgbasm -D instead of extra files for version differences. 2016-01-29 01:10:41 -05:00
IIMarckus
82e2fe78e1 Split common text into a separate object. 2015-12-18 00:59:03 -07:00
PikalaxALT
434c97a146 Makefile cleanup 2015-11-15 15:53:49 -05:00
IIMarckus
25c126c69b Revert bad merge.
"Merge pull request #317 from yenatch/pngs-kind-of"

This reverts commit 25025d1b6c, reversing
changes made to 0d17d4a758.
2015-11-01 16:06:15 -07:00
yenatch
b8da3874bb Add an init makefile target to prevent data that can't be reasonably reproduced from being rebuilt.
This is only meant to be run once.
2015-09-01 00:20:31 -04:00
yenatch
f0af75e8d2 Fix touching in make pngs. 2015-08-29 11:02:56 -07:00