diff --git a/README.md b/README.md index 348b3c6f..a17ad1b1 100644 --- a/README.md +++ b/README.md @@ -110,3 +110,10 @@ Supported emulators: ### [References](.gitmodules) ### [Musics](music/appeared_musics.json) + +### Map Sprites + +Mercenary (F) Axe {Pushwall, Argo, Flasuban, ArcherBias} + +![Mercenary (F) Axe {Pushwall, Argo, Flasuban, ArcherBias}-stand.png](gfx/misc/Unit_Sprite_Mercenary_F_Axe_Stand.png) +![Mercenary (F) Axe {Pushwall, Argo, Flasuban, ArcherBias}-walk.png](gfx/misc/Unit_Sprite_Mercenary_F_Axe_Walk.png) diff --git a/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Stand.grit b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Stand.grit new file mode 100644 index 00000000..7ba843c4 --- /dev/null +++ b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Stand.grit @@ -0,0 +1,4 @@ +-gB4 +-gzl +-gu8 +-p! diff --git a/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Stand.png b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Stand.png new file mode 100644 index 00000000..9b1bdeb8 Binary files /dev/null and b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Stand.png differ diff --git a/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Walk.grit b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Walk.grit new file mode 100644 index 00000000..7ba843c4 --- /dev/null +++ b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Walk.grit @@ -0,0 +1,4 @@ +-gB4 +-gzl +-gu8 +-p! diff --git a/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Walk.png b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Walk.png new file mode 100644 index 00000000..ffbca130 Binary files /dev/null and b/gfx/misc/Unit_Sprite_Mercenary_F_Axe_Walk.png differ diff --git a/ldscript/hack.lds b/ldscript/hack.lds index 63a0267f..9e4d7d7e 100644 --- a/ldscript/hack.lds +++ b/ldscript/hack.lds @@ -53,3 +53,4 @@ INCLUDE ../ldscript/item.lds INCLUDE ../ldscript/mapwork.lds INCLUDE ../ldscript/banim_dragon.lds INCLUDE ../ldscript/banim_dragonfx_manakete.lds +INCLUDE ../ldscript/unitsprites.lds diff --git a/ldscript/unitsprites.lds b/ldscript/unitsprites.lds new file mode 100644 index 00000000..bf38e868 --- /dev/null +++ b/ldscript/unitsprites.lds @@ -0,0 +1,2 @@ +. = UnitSpriteTable + 8 * 2; +.rodata.UnitSpriteAxeMercenaryF : {*(.rodata.UnitSpriteAxeMercenaryF)} diff --git a/source/mu.c b/source/mu.c index b1bed883..90a345a1 100644 --- a/source/mu.c +++ b/source/mu.c @@ -2,6 +2,8 @@ #include "jobs.h" #include "log.h" +#include "gfx_misc.h" + int getMuId(int jid) { Assertf(jid < JID_COUNT, "jid=%d, JID_COUNT=%d", jid, JID_COUNT); @@ -26,6 +28,9 @@ int getMuId(int jid) u8 const * GetMuImgNew(struct MuProc * mu) { + if (mu->jid == JID_MERCENARY_F) + return Unit_Sprite_Mercenary_F_Axe_WalkTiles; + return MuInfoTable[getMuId(mu->jid) - 1].img; } diff --git a/source/unitsprites.c b/source/unitsprites.c new file mode 100644 index 00000000..f71fdc01 --- /dev/null +++ b/source/unitsprites.c @@ -0,0 +1,9 @@ +#include "unitsprite.h" + +#include "gfx_misc.h" + +const struct UnitSpriteInfo UnitSpriteAxeMercenaryF = { + .unk_00 = 2, + .size = UNITSPRITE_16x16, + .img = Unit_Sprite_Mercenary_F_Axe_StandTiles, +};