Commit Graph

227 Commits

Author SHA1 Message Date
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
yenatch
9c4fb6a6a4 Add a script to convert project-specific graphics.
This is an alternative to terrible hacks like filename metadata, and might combat submodule bloat.
2015-06-28 23:53:49 -07:00
yenatch
07b9c4b030 Fix the make pngs target. 2015-06-26 10:47:13 -07:00
yenatch
82317a7a23 Preemptively get rid of graphics queues while they're still not used.
Nip this in the bud, so it doesn't turn out like pokered. When the time comes, use make -j16 for faster builds.
2015-04-13 22:34:41 -07:00