-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
421 lines (421 loc) · 16.9 KB
/
TODO.txt
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
**TODO:**
- General Bugs:
- Mirror Mario doesn't render
- Lava bubbles don't appear
- Instant warps freeze for a second
- Most noticeable on TTM slide
- Also downwarps camera for a split second
- Using a shell to go up the side of SSL pillars doesn't work with FIX_RELATIVE_SLOPE_ANGLE_MOVEMENT enabled
- Reads a null floor when hitting the pillar because of the super steep floor
- It's Possible to clip through certain moving walls like the back wall of the JRB ship when jumping at it at certain angles
- Might be same underlying issue as the SSL pillars issue?
- Silhouette doesn't work with most combine modes
- Puppylights bugs:
- Lights don't get cleared properly when leaving a level
- Lights from flamethrower flames flicker
- PUPPYLIGHT_ENVIRONMENT doesn't work
- Lights don't work outside of area 1
- Have a temp fix, but it still doesn't fix PUPPYLIGHT_NODE lights in non-area-1 areas
- Sometimes lights just breaks globally
- Puppycam bugs:
- Puppycamera sometimes downwarps
- Happens on a slope in Castle Grounds and between areas in TTM slide:
- TOTWC warp doesn't work
- Camera focus is too low when on a pole
- Crashes:
- The 6th time you enter a level in debug level select without restarting the game causes the game to whitescreen or crash, depending on the emulator being used
- Some data in memory not being cleared?
- Consistently the 6th entered level?
- Properly fix HMC crash
- Current fix is increasing the gfx pool
- Properly fix rumble "heavy object" crash
- Current fix is '#define static' in rendering_graph_node.c
- How does this fix work?
- Fix ending cutscene crash
- Things that happened but haven't been able to reproduce:
- Freeze when falling onto a sideways slope in HMC (happened twice in the same area actually)
- Mario said "haha" while swimming underwater
- Crashed in LLL after long jumping into a red coin
- Optimizations:
- Save rom space by similar textures/models using the same file/model/displaylist
- Billboard Spheres:
- Smooth
- 1 Part:
- Amp
- Chain chomp ball
- Goomba body
- King Bobomb hand
- Scuttlebug eyes
- Yellow Sphere/WF giant pole top
- 2 Part:
- Bobomb body
- Bobomb Buddy body
- Bully body
- Big Bully body
- Bowser bombs
- Chuckya hand/antenna
- Fire Spitter
- King Bobomb body
- Wiggler head
- Wiggler segment
- Wiggler nose
- Mr. I body
- Spindrift head
- Snufit body
- Snufit Bullets
- Swoop body
- Textured:
- 1 Part:
- Whwomp hand
- 2 Part:
- Chuckya body
- Chill Bully body
- Scuttlebug body
- Snowman part
- Grass
- textures/outside/castle_grounds_textures.03800.rgba16.png
- textures/outside/castle_grounds_textures.04000.rgba16.png
- Light gray diagonal checker
- textures/fire/lll_textures.04000.rgba16.png
- textures/grass/wf_textures.07800.rgba16.png
- Tri tile
- textures/inside/inside_castle_textures.0B000.rgba16.png
- textures/outside/castle_grounds_textures.0A000.rgba16.png
- Diamond mesh:
- levels/ddd/1.rgba16.png
- levels/jrb/0.rgba16.png
- textures/cave/hmc_textures.01000.rgba16.png
- Black/white checker:
- levels/ccm/11.rgba16.png
- levels/pss/2.rgba16.png
- textures/inside/inside_castle_textures.04000.rgba16.png (kinda more grayish)
- textures/inside/rr_textures.08000.rgba16.png (also kinda grayish)
- Env boxes
- Water
- textures/segment2/segment2.11C58.rgba16.png
- textures/segment2/segment2.12C58.rgba16.png (greenish)
- textures/segment2/segment2.12458.rgba16.png (cyanish)
- Lava
- levels/bowser_2/0.rgba16.png
- textures/segment2/segment2.13C58.rgba16.png
- textures/fire/lll_textures.09000.rgba16.png
- Metal:
- levels/castle_inside/29.rgba16.png
- levels/hmc/7.rgba16.png
- Rainbow
- RR
- WMOTR
- TOTWC
- Shadow:
- Radial (full)
- textures/generic/bob_textures.0B000.ia16.png
- textures/grass/wf_textures.0B000.ia16.png
- textures/outside/castle_grounds_textures.0BC00.ia16.png
- Radial (quarter)
- textures/segment2/shadow_quarter_circle.ia8.png
- textures/segment2/shadow_quarter_circle_64.ia8.png
- Square (quarter)
- textures/segment2/shadow_quarter_square.ia8.png
- textures/segment2/shadow_quarter_square_64.ia8.png
- levels/wf/5.ia8.png
- Gradients:
- transparency
- Linear
- levels/castle_inside/castle_light.ia16.png
- levels/ccm/8.ia16.png (small, inverted)
- levels/lll/27.ia16.png (small, inverted)
- textures/cave/hmc_textures.0B800.ia16.png
- textures/spooky/bbh_textures.0B000.ia16/png
- Radial
- Star glow
- PSS lanterns' glow
- Castle basement fire glow?
- levels/pss/1.ia16.png (lower transparency)
- textures/cave/hmc_textures.0C000.ia16.png
- textures/spooky/bbh_textures.0A800.ia16.png
- Radial long
- levels/castle_inside/2.ia16.png
- textures/spooky/bbh_textures.0B800.ia16.png
- Rainbow:
- levels/wmotr/3.rgba16.png
- textures/sky/rr_textures.05800.rgba16.png
- Snow Skybox:
- levels/ccm/10.rgba16.png
- Question mark
- segment2
- levels/menu
- Triangle instead of square for billboards/decals:
- Small spheres (see above)
- Coins
- Particles in general
- Lantern/Flame light glow
- Star glow?
- Castle windows
- BBH windows
- HUD elements use texrects
- Cubic/3D collision cells
- Only load collision for the current room (?)
- Optimize/reduce find_floor/ceil/wall calls
- Change vanilla models to use new F3D features (like expanded vertex buffer)
- Skinned models for:
- Mario
- Bowser
- Toad
- Peach
- Unagi
- Klepto
- Fish
- Manta Ray
- Sushi (shark)
- Ukiki
- Lakitu
- Koopa (and KtQ)
- Chain Chomp
- Penguins
- Dorrie
- Moneybag
- MIPS
- Physics/Movement:
- Fix walking down a slope or stairs causing Mario to butt slide even if it's not a slide or steep slope
- Fix bonking into steep part of TTM slide
- Implement Kaze's raycasting quarterstep replacement
- Handle small steps differently from slopes?
- Fix demo inputs for new movement stuff
- Capsule/sphere shaped hitbox for Mario?
- Ability to move between walls that share an edge when ledge grab sidling
- Convex angles work, still need to make concave angles work
- Gravity direction support
- "Squished" death from any direction
- Update mario movement angles every time m->pos is changed?
- Don't update m->prevPos more than once per frame
- Animation for transitioning from water ground pound to swimming
- Objects:
- Make step height per-object
- Puunching/Kicking a Whomp from behind should get its attention
- Fix clipping through Whomps
- Would raycast collision fix this?
- Also happens when climbing up a ledge (BITS whomp)
- Heave-Ho's should be able to throw mario regardless of Mario's action
- With a cooldown to prevent getting stuck in loops
- Mario's cap (object) scaling is weird when on the ground
- Graphics
- Add/check Puppylights light sources (* means added):
- Objects:
- Star
- Klepto/Unagi star*
- Monkey cage star
- Blue star should have blue glow?
- Bowser Key*
- Amp*
- Bob-ombs during explosion*
- Bowser bombs during explosion*
- Moving flames/fire bars/spitters*
- Bowser 3 (rainbow)
- Secrets?
- Water level diamond?
- TTM slide billboards?
- Level geo:
- BBH lanterns
- HMC lanterns
- PSS lanterns*
- etc. lanterns
- Castle lobby
- BITDW/COTMC crystals*
- Lava in general
- SA windows
- Fireplace in RR big house*
- Fix/cleanup/redraw textures:
- Fix peach window edges
- Fix bubble tree edges
- Coins with better lighting
- Make env textures right side up
- The leftmost column and topmost row of pixels on billboards shouldn't get stretched at low resolution (Angrylion)
- Use painting ripple effect for splashing into water
- Fix Variable Framerate bugs:
- crashes when Goddard is enabled
- build warning for a pointer
- title screen is 2x speed
- screen transitions are 2x speed
- Debug level select text flickers
- Input is delayed 3(?) frames
- Camera sometimes jitters when rotating yaw (noticeable in WF)
- Certain billboards are scuffed in various ways:
- Dialog indicator bounces between frames
- Far coins (vanilla coins) texture load breaks?
- Envfx flickers
- Some levels whitescreen on load:
- Confirmed not working levels:
- HMC (audio works)
- BOB (sometimes audio, emulator freezes, crashes on T3, EPC is in handle_sp_complete)
- WDW (audio works)
- THI (audio works)
- DDD Area 2 (instant crash, EPC is in geo_skybox_main)
- TTM 2nd slide area (instant crash, EPC is right before geo_process_shadow, in geo_process_animated_part?)
- Confirmed working levels:
- BBH
- Inside Castle
- SSL
- SL
- JRB
- TTC
- RR
- Castle Grounds
- BITDW
- VCUTM
- BITFS
- SA
- BITS
- LLL
- DDD Area 1
- WF
- Ending
- Courtyard
- Secret Slide
- COTMC
- TOTWC
- Bowser 1
- WMOTR
- Bowser 2
- Bowser 3
- TTM
- Pausing is broken
- Input is in graphics thread but read in game thread so it's read as being done twice in a frame
- Proper Skyboxes like in SM64DS
- https://jaxry.github.io/panorama-to-cubemap/
- Requires some sort of distortion?
- Texture filtering on edges?
- Fix sideways environment map textures when fixing guLookAtReflect in geo_process_master_list_sub
- Can't just rotate the textures themselves because those are Nintendo assets
- actors/mario/mario_metal.rgba16.png
- actors/mario/mario_metal_reflection_shine.i8.png
- actors/mario/mario_metal_reflection_lakitu.ia8.png
- actors/mario_cap/mario_cap_metal.rgba16.png
- actors/star/star_surface.rgba16.png
- actors/water_bubble/water_bubble.rgba16.png
- actors/water_ring/water_ring.rgba16.png
- levels/castle_inside/29.rgba16.png
- levels/hmc/7.rgba16.png
- levels/cotmc/2.rgba16.png
- textures/intro_raw/mario_face_shine.ia8.png
- Silhouette:
- Silhouette for Mario's held/riding object
- Shadow shape based on the outline of Mario's model viewed from above
- Render new depth buffer to a texture?
- 2nd Mario model but colored like the silhouette and squished?
- Metal cap effect:
- Draw Lakitu from the actual displaylist/model instead of from a texture
- Make metal cap effect work on console, otherwise use vanilla
- Also use vanilla if framebuffer is not enabled
- Audio:
- Fix pole swing sound
- Better wall jump sound?
- HUD:
- Rearrange HUD
- Top Left:
- Lives
- Stars
- Top Right:
- Coins
- Red Coins
- Secrets
- Timer?
- Top Center:
- Health meter
- Breath meter
- Move health meter to the side when active to keep screen space balance, similar to SM63, or:
- Replace breath meter with a small non-intrusive one that follows mario's posision on screen?
- Mainly just need it to be unintrusive and to not be on the opposite side of the normal health meter
- Move Puppycam menu to under Exit Course
- Vanilla Levels:
- Make the back of castle roof not an eternal void
- Replace SSL pyramid secrets with a puzzle to control the flow of sand
- Gradient transparency at bottom of sky & mountain levels, just like TOTWC and the mushrooms in TTM
- Gradient transparency for edges of water/lava going out to the horizon
- Failsafe for if Mario explodes all the bombs in a bowser arena before finishing the fight
- Make SSL pyramid and LLL volcano use gsSPFogPosition?
- Camera:
- Separate (super low-poly) collision maps specifically for the camera?
- When wall sliding, raycast in the direction of the wall's yaw, and if another wall is within distance and parallel, and Mario's yaw is within range of the wall's yaw, then move the camera's yaw to the nearest perpendicular angle to the wall yaw, if no other walls are in the way.
- Files/Hacking QOL
- Centralized place for common gdSPDefLights1 defines/colors, so the data isn't duplicated throughout every model.inc.c file
- Default lights is (0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0x28, 0x28, 0x28)
- Combine holding variants of actions with their non-holding variants, with checks for m->used/heldObj for the differences
- Combine/sort behavior_actions, obj_behaviors, obj_behaviors_2, and object_helpers?
- Should help VSC syntax issues
- Split camera file into camera and cutscene files
- Finish moving general-use math functions into math_util.c
- Make all vec3 functions type-independent
- Rename files/folders:
- actors/bowser_flame -> actors/bowser_bomb_explosion
- Move to src/engine:
- print?
- printf?
- object_collision?
- platform_displacement?
- Move to src/menu?
- segment7.h
- hud
- ingame_menu
- save_file?
- print?
- printf?
- Boot or Engine folder?
- rumble_init
- _Ldtob.c
- _Litob.c
- _Printf.c
- Move to src/audio?
- sound_init
- spawn_sound?
- Sort /src/game into subfolders:
- src/mario or src/player
- interaction?
- mario_actions_airborne
- mario_actions_automatic
- mario_actions_cutscene
- mario_actions_moving
- mario_actions_object
- mario_actions_stationary
- mario_actions_submerged
- mario_step
- mario
- platform_displacement
- src/object
- interaction?
- behavior_actions
- macro_special_objects
- obj_behaviors
- obj_behaviors_2
- object_collision
- object_helpers
- object_list_processor?
- spawn_object
- spawn_sound?
- src/camera
- camera
- cutscene
- Puppycam2
- src/debug
- crash_screen
- crash
- debug_box
- debug
- profiler
- puppycam
- src/area
- area
- level_update
- object_list_processor?
- src/geo
- envfx_bubbles
- envfx_snow
- geo_misc
- level_geo
- mario_misc
- moving_texture
- paintings
- screen_transition
- segment2.h?
- shadow
- skybox
- texscroll