forked from sonicretro/s1disasm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO.txt
More file actions
133 lines (90 loc) · 3.41 KB
/
TODO.txt
File metadata and controls
133 lines (90 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Mix and match beta layouts, potentially, like this one:
https://tcrf.net/Proto:Sonic_the_Hedgehog_2_(Genesis)/Simon_Wai_Prototype/Oil_Ocean_Zone
https://tcrf.net/Proto:Sonic_the_Hedgehog_2_(Genesis)
TODO:
Boss_MoveObject
SSObjectMoveAndFall
New Routine:
Find_SonicTails
LoadCollisionIndexes
; ---------------------------------------------------------------------------
Handle_Onscreen_Water_Height
LevelMusic_Playlist
LS_Level_Order
SpawnLevelMainSprites
LoadEnemyArt <KosM Modules; like Nemesis PLC's but for KosM>
Obj_TitleCardInit
Animate_Tiles
HCZ1BGE_Normal
Obj_HCZMiniboss
; ---------------------------------------------------------------------------
; Notes
; ---------------------------------------------------------------------------
Offs_PLC = PLC request table
tst.w (Competition_mode).w
bne.w == 1; TO multiplayer code
beq.w == 0; TO singleplayer code
; =============== S U B R O U T I N E =======================================
; Sprite_OnScreen_Test: Also known as RememberState in Sonic 1
Delete_Sprite_If_Not_In_Range:
move.w x_pos(a0),d0
andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w +
rts ; changes to "bra.w Draw_Sprite" in Sprite_OnScreen_Test
+
move.w respawn_addr(a0),d0
beq.s +
movea.w d0,a2
bclr #7,(a2)
+
bra.w Delete_Current_Sprite
; End of function Delete_Sprite_If_Not_In_Range
; ===================================
; TABLE CONVERSION FROM S1/S2 TO S3K
; ===================================
| | S 2 | S3K |
|---|-----|-----|
| ~ | # | #$ |
| P | 0 | 0 |
| R | 1 | 80 |
| I | 2 | 100 |
| O | 3 | 180 |
| R | 4 | 200 |
| I | 5 | 280 |
| T | 6 | 300 |
| Y | 7 | 380 |
===============================
ObjAnimal & PLCLoad_AnimalsAndExplosion <Always edit these whenever you want to change animals per level>
HyperTouch_Special < ---- Interaction for Knuckles + Tails?
SonicKnux_SuperHyper <---- to check
HyperAttackTouchResponse < ----- Hyper abilities
; ---------------------------------------------------------------------------
SSEntryRing_Display
Slots_RenderLayout <----> SS_ShowLayout from Sonic 1
sub_4B57C <----> Duplicate from FindFreeObj from Sonic 1, specifically for special stages
Create_New_Sprite = FindFreeObj from Sonic 1
Create_New_Sprite3 = FindNextFreeObj from Sonic 1.
loc_1AF76 <---- Apparently it's "BuildSpr_Normal" from Sonic 1? It looks similar, at least
loc_8160A <---- Super mappings in DDZ
sub_24280 <---- Something to do with shields
sub_86180 <---- ObjectMove Variant?
SpecialVInt_Array <Turns out entries in a table CAN be a RTS>
AniHCZ_FixLowerBG <EDIT THIS WHEN CHANGING THE TILESET>
sub_F846 <---- Background collision routine?
; ---------------------------------------------------------------------------
sub_4B6AA <--- S1 SPECIAL STAGE MODE?
_unkEEB0 <--- Test this motherfucker
Displace_PlayerOffObject <---- Check later
Collected_special_ring_array
SetUp_ObjAttributes <---- Child object subroutines are here
ObjectMoveAndFall_LightGravity <--- Multiple variants of "ObjectMoveAndFall"; potentially "ObjectMove" too
; ---------------------------------------------------------------------------
To-Do:
Reimplement 4 act system
Obj_S2Shield <---- Optional: Restore it <PARTLY COMPLETE>
ObjAnimal < ---- Optional: Edit Ending animals to load as normal objects (aka reload when you approach them); this has to do with ObjAnimal_ChkDel
Obj_StarPost_MakeSpecialStars (DONE?)
loc_6268 (???)
Obj_HCZMiniboss - Research