Commit Graph

291 Commits

Author SHA1 Message Date
NotExactlySiev
fde763179e
NON_MATCHING ClutLerp and its duplicates (#224)
The function creates a number of CLUTs by linearly interpolating between
two existing CLUTs.
2023-05-09 19:08:16 +01:00
Luciano Ciccariello
c82ad5f766 DRA func_800E2B00 matching 2023-05-08 21:08:32 +01:00
Luciano Ciccariello
5e10d9c256 Unify Event usages 2023-05-08 13:31:32 +01:00
Luciano Ciccariello
bdf60feae6 Simplify g_Entities access, get rid of D_800762D8 2023-05-08 13:31:32 +01:00
NotExactlySiev
6937c1b27b
RWRP func_8018DE50 matching and 2 duplicates (#223) 2023-05-08 10:46:28 +01:00
Luciano Ciccariello
e69b4cfac7 HD DRA 46FD4 matching 2023-05-08 00:48:24 +01:00
Luciano Ciccariello
eab882ee43 HD DRA 627C4 matching 2023-05-07 16:35:49 +01:00
Luciano Ciccariello
02c1feffcb DRA HD func_800E6358 matching 2023-05-06 12:24:32 +01:00
Luciano Ciccariello
66c89012c0 Remove obsolete symbols 2023-05-06 02:56:08 +01:00
Formatting bot
b049941376 Format code 2023-05-06 01:16:56 +00:00
Luciano Ciccariello
6400b28efd Automatically format symbol list by offset 2023-05-06 02:09:29 +01:00
Alejandro Asenjo Nitti
dcb3dfc5e2
NZ0 EntityAxeKnight Documentation (#220)
co-authored-by: @MottZilla
2023-05-05 23:31:52 +01:00
Luciano Ciccariello
f44780172e HD 75DA0 merge 2023-05-05 23:03:59 +01:00
Luciano Ciccariello
e8520f1243 HD DRA func_800F2860 matching 2023-05-04 23:11:15 +01:00
Luciano Ciccariello
7f4c5e914c HD DRA build 🆗 2023-05-04 22:47:27 +01:00
Luciano Ciccariello
12cbc4d3ce hd DRA splat and function cross-referencing 2023-05-04 21:48:38 +01:00
Luciano Ciccariello
a1510d40b2 DRA func_800E6358 matching 2023-05-03 23:24:46 +01:00
Luciano Ciccariello
96f79a994d Document variables and fix types 2023-05-02 08:22:47 +01:00
Alejandro Asenjo Nitti
effc21100a
NZ0 source split + docs (#215)
We spent a good amount of time identifying and separating the functions
in their corresponding Entity files in preparation for the docs that are
coming.

Co-Authored-by: @MottZilla
2023-05-01 15:21:20 +01:00
Alejandro Asenjo Nitti
fc6bdf056e
EntityBoneScimitar + Docs (#213)
![image](https://user-images.githubusercontent.com/96613413/235360592-560968ec-7e4e-4f99-884c-7c370fd71e26.png)
Co-Authored-by: @Xeeynamo
Co-Authored-by: @pixel-stuck
Co-Authored-by: @MottZilla
2023-04-30 21:04:00 +01:00
Luciano Ciccariello
a929aad5de DRA func_80106670 non matching 2023-04-30 08:30:24 +01:00
Alejandro Asenjo Nitti
f18717a352
NZ0 EntityBloodSkeleton (#212)
Matching with some docs.

![image](https://user-images.githubusercontent.com/96613413/235321225-1109fc80-51c2-4355-811d-925218d6a3cf.png)

Special thanks to @pixel-stuck for his help on this function.
2023-04-29 20:57:30 +01:00
Allison Mackenzie Johnson
f3a1ecc095
CEN CollectHearts (#207)
2023-04-29 08:51:41 +01:00
Alejandro Asenjo Nitti
2a4e3d6f0d
NP3 EntityBloodyZombie + docs (#203)
Enemy: Bloody Zombie

![image](https://user-images.githubusercontent.com/96613413/235222802-a693edc6-c5f3-430c-a5be-85ae1337fa53.png)
It turns out that this enemy was already decompiled by me in NZ0
(Alchemy Laboratory), but it was incorrectly labeled as
EntityBloodDrips. I did get a chance to document and understand it
better this time though.
2023-04-29 08:25:11 +01:00
Alejandro Asenjo Nitti
12e0d299cb
NZ0 EntitySkeleton (#201)
Yet another Enemy decompiled:

**EntitySkeleton**

![image](https://user-images.githubusercontent.com/96613413/234043404-d682b2ca-7635-4d4f-ad66-ae8f94e055d2.png)

Special thanks to @nim-ka, who actively helped be resolve the facing
issue that i was having with this function.
2023-04-29 07:56:42 +01:00
Luciano Ciccariello
eee04d6ea1
RIC extract spritesheet (#199)
Thanks to @MottZilla research I was able to extract the spritesheets of
Richter as PNGs in conjunction with the original palette from
`F_GAME2.BIN`. When the binaries are built, the PNGs are recompiled back
into binary.

In case of modding, it is possible to modify the sprite size to
accommodate bigger or smaller sprites. Although it is not possible to
modify the existing palette as currently we have no way to extract and
rebuild `F_GAME2.BIN`. You would have to modify the palette via hex
yourself. The file `config/splat.us.ric.yaml` shows in which offset the
palette is located. Just for reference, the colour format for the
palette is RGBA5551. It is important that edited PNGs has 16 colours
otherwise the build will fail.

The `padding` field is required to reconstruct some left-over / junk
data that is not part of the data sprite. For the sake of modding, the
`padding` field can be whatever.

I am not sure if `RIC.BIN` pointers can be relocated. If that is the
case you might get a black screen when playing with Richter. It should
be easily fixable though.


![image](https://user-images.githubusercontent.com/6128729/233791249-0155a6fb-c5fc-4142-b294-9f44b5524dde.png)
2023-04-22 21:03:55 +01:00
Alejandro Asenjo Nitti
aeda88ff6d
NZ0 EntityFloorSpikes & func_801C3F9C (#198)
NONMATCHING because of assembler nop skipping
2023-04-21 08:48:12 +01:00
SestrenExsis
aff1db2091
Match func_801B12E8 aka EntityPurpleBrickScrollingBackground (#196)
This pull request matches NZ0 `func_801B12E8`. This particular function
is responsible for handling one of the backdrops of the Alchemy
Laboratory that scrolls with the camera. It appears as a repeating
purplish-red brick pattern behind the foreground.

It is comprised of 15 textured primitives laid out in a 5-tall by 3-wide
grid.

- NZ0 - `func_801B12E8` - Renamed to
`EntityPurpleBrickScrollingBackground`

---------

Co-authored-by: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com>
2023-04-21 08:44:34 +01:00
SestrenExsis
7c51a5f6ac
NO3&NP3&RWRP CreateEntityWhenIn duplicates (#190)
There are numerous duplicates of the `CreateEntityWhenInVerticalRange`
and `CreateEntityWhenInHorizontalRange` functions. This pull request
matches the duplicates identified in overlays NO3, NP3, and RWRP:

- NO3  - `func_801C3500` - Renamed to `CreateEntityWhenInVerticalRange`
- NO3 - `func_801C3618` - Renamed to `CreateEntityWhenInHorizontalRange`
- NP3  - `func_801BAD70` - Renamed to `CreateEntityWhenInVerticalRange`
- NP3 - `func_801BAE88` - Renamed to `CreateEntityWhenInHorizontalRange`
- RWRP - `func_8018BE1C` - Renamed to `CreateEntityWhenInVerticalRange`
- RWRP - `func_8018BF34` - Renamed to
`CreateEntityWhenInHorizontalRange`
2023-04-15 14:08:23 +01:00
SestrenExsis
a5292eac71
CEN&DRE CreateEntityWhenIn duplicates (#186)
There are numerous duplicates of the `CreateEntityWhenInVerticalRange`
and `CreateEntityWhenInHorizontalRange` functions. This pull request
matches the duplicates identified in overlay CEN and DRE:

- CEN  - `func_80192B00` - Renamed to `CreateEntityWhenInVerticalRange`
- CEN - `func_80192C18` - Renamed to `CreateEntityWhenInHorizontalRange`
- DRE  - `func_80198C44` - Renamed to `CreateEntityWhenInVerticalRange`
- DRE - `func_80198D5C` - Renamed to `CreateEntityWhenInHorizontalRange`
2023-04-15 13:53:53 +01:00
SestrenExsis
c4466891d0
MAD CreateEntityWhenIn duplicates (#189)
There are numerous duplicates of the `CreateEntityWhenInVerticalRange`
and `CreateEntityWhenInHorizontalRange` functions. This pull request
matches the duplicates identified in overlay MAD:

- MAD - `func_80190608` - Previously matching; renamed to
`CreateEntityWhenInVerticalRange`
- MAD - `func_80190720` - Renamed to `CreateEntityWhenInHorizontalRange`
2023-04-15 13:24:21 +01:00
Alejandro Asenjo Nitti
e8eb52ad4b
NZ0 EntitySecretRoom Entities (#191) 2023-04-14 17:47:06 +01:00
Alejandro Asenjo Nitti
7f02b45ba6
NZ0 Functions (#185)
EntityCannonWall
func_801BB45C
func_801BB558
func_801BB710
func_801B9800
func_801BB80C
2023-04-13 11:59:04 +01:00
Alejandro Asenjo Nitti
61373e862c
NZ0 + NP3 Functions (#181)
NZ0:
EntityAxeKnight (I'm proud to present the first enemy decompiled in the
project perhaps?)
Here is the scratch in case somebody wants to tune it and provide
changes:
https://decomp.me/scratch/LKkYQ

EntitySubWeaponContainer
EntityBloodSplatter
func_801B69E8
func_801C0D08
func_801C9E98

NP3:
EntityBloodSplatter
EntityZombie
func_801B8CC0
2023-04-12 23:20:57 +01:00
Alejandro Asenjo Nitti
ff0aa209bd
NZ0 EntityBloodDrips + func_801C5D20 (#179) 2023-04-08 19:16:53 +01:00
Alejandro Asenjo Nitti
eb4565b519
EntityEnemyBlood duplicates (#177) 2023-04-07 09:58:23 +01:00
Luciano Ciccariello
8ad42d2e9e NZ0 extract room data 2023-03-31 08:42:12 +01:00
Luciano Ciccariello
5a3e818ce5 WRP extract room data 2023-03-31 08:42:03 +01:00
Luciano Ciccariello
aa8a8431fe DRA func_800EDB58 matching 2023-03-30 11:48:37 +01:00
Luciano Ciccariello
a134293352 Delete Unkstruct_800ECE2C, layer symbols cleanup 2023-03-30 08:32:16 +01:00
Luciano Ciccariello
b6af05ee3b DRA func_800FD39C non matching 2023-03-30 08:32:16 +01:00
Alejandro Asenjo Nitti
19bdc36d77
EntityHeartDrop (#169) 2023-03-28 18:36:14 +01:00
Luciano Ciccariello
cc8028d233 DRA func_800E81FC matching 2023-03-28 13:14:13 +01:00
Alejandro Asenjo Nitti
22cd239a2a
Remaining EntityEquipItemDrop duplicates (#165) 2023-03-26 16:25:05 +01:00
Luciano Ciccariello
0c35ca612d ST0 EntityPrizeDrop + new symbols 2023-03-26 00:10:30 +00:00
Luciano Ciccariello
9d52a0b64f MAD&ST0 EntityPrizeDrop 2023-03-25 23:44:46 +00:00
Luciano Ciccariello
a7e5a1f80f EntityPrizeDrop matching 2023-03-25 21:42:31 +00:00
Alejandro Asenjo Nitti
ac37889378
NP3 EntityInventoryDrop (#160)
We finally have this monster matching.

Special Thanks to the people who helped into matching this function, in
no particular order:
@pixel-stuck
@Unnunu
@Xeeynamo 
and the Decompals people in general for all time support.
2023-03-25 11:16:08 +00:00
Luciano Ciccariello
ff1c94927a DRA func_800EB534 matching 2023-03-24 16:57:00 +00:00
Luciano Ciccariello
e86f23fec1 Rename AllocPolygons to AllocPrimitives 2023-03-24 12:29:18 +00:00