1373 Commits

Author SHA1 Message Date
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
Luciano Ciccariello
9437f007cb Introduce the Primitive struct to replace POLY_GT4 2023-03-24 12:19:33 +00:00
Luciano Ciccariello
1cd820e01d Replace variables in favour of g_GpuUsage 2023-03-24 12:10:44 +00:00
Luciano Ciccariello
3cddbdf235 ST0 ReplaceBreakableWithItemDrop matching 2023-03-23 11:17:28 +00:00
Luciano Ciccariello
718455342d WRP&NZ0&ST0 func_80189FB4 with duplicates 2023-03-23 01:00:56 +00:00
Luciano Ciccariello
48237430c1 DRA LoadSaveData 2023-03-22 22:30:41 +00:00
Luciano Ciccariello
91802d0c61 Create MenuNavigation and GameSettings structs 2023-03-22 19:20:22 +00:00
Luciano Ciccariello
b9da55ad3e DRA func_800F483C matching 2023-03-22 16:29:47 +00:00
Luciano Ciccariello
b7c9f8b33c DRA decompile func_800FE728 2023-03-21 22:26:56 +00:00
Alejandro Asenjo Nitti
12023a8ae9
NP3 & NO3 Functions (#156) 2023-03-21 21:47:21 +00:00
Luciano Ciccariello
f8ac5be8f7 DRA DrawPauseMenu match 2023-03-20 19:39:44 +00:00
Luciano Ciccariello
84205a7368 Create new structure PlayerStatus 2023-03-19 17:01:15 +00:00
Luciano Ciccariello
b7de5416c5 Expand PlayerStat structure 2023-03-18 22:42:13 +00:00
Luciano Ciccariello
81b6af2180 Unkstruct_8011B334 is Equipment 2023-03-18 22:31:40 +00:00
Luciano Ciccariello
ed940319d6 Extract Equipment data as JSON 2023-03-18 14:16:56 +00:00
Alejandro Asenjo Nitti
9a6c4be14a
NO3 & NP3 Functions (#149)
NP3:
func_801B40F8
EntityCavernDoorPlatform
EntityPathBlockSmallWeight
EntityPathBlockTallWeight

NO3:
EntityCavernDoor
EntityCavernDoorPlatform
EntityPathBlockSmallWeight
EntityPathBlockTallWeight
EntityHeartRoomGoldDoor
2023-03-16 15:42:41 +00:00
sozud
2688eb5b89
DRA decompile func_800F6998 (#152) 2023-03-16 12:49:30 +00:00
Luciano Ciccariello
f111118597 Document DestroyCurrentEntity function 2023-03-13 23:54:57 +00:00
Luciano Ciccariello
137f4b80c2 Extract g_Rooms for all the overlays 2023-03-13 21:15:25 +00:00