Add royal raceway course (#29)
* Add files via upload * Update memory.c * Update render_courses.c * Update code_80281780.c * Update path_spawn_metadata.c * Update render.inc.c * Update all_course_packed.h * Update all_course_model.h * Update all_course_data.h * Delete courses/royal_raceway/course_data.c * Delete courses/royal_raceway/course_data.h * Delete courses/royal_raceway/course_vertices.inc.c * Delete courses/royal_raceway/course_displaylists.c * Delete courses/royal_raceway/course_displaylists.h * Update memory.c * Update royal_raceway_displaylists.yml * Update values * update * Course works now * fixes * wip framebuffer * Fix trees * Fix player select borders * Remove commented code --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
This commit is contained in:
parent
48a8342f3f
commit
2a8362dd10
|
|
@ -16,7 +16,6 @@
|
|||
#include "courses/rainbow_road/course_data.h"
|
||||
#include "courses/yoshi_valley/course_data.h"
|
||||
#include "courses/bowsers_castle/course_data.h"
|
||||
#include "courses/royal_raceway/course_data.h"
|
||||
#include "courses/sherbet_land/course_data.h"
|
||||
#include "courses/wario_stadium/course_data.h"
|
||||
void gSPDisplayList(Gfx* pkt, Gfx* dl);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ extern CourseVtx d_course_dks_jungle_parkway_vertex[];
|
|||
extern CourseVtx d_course_rainbow_road_vertex[];
|
||||
extern CourseVtx d_course_yoshi_valley_vertex[];
|
||||
extern CourseVtx d_course_bowsers_castle_vertex[];
|
||||
extern CourseVtx d_course_royal_raceway_vertex[];
|
||||
extern CourseVtx d_course_sherbet_land_vertex[];
|
||||
extern CourseVtx d_course_wario_stadium_vertex[];
|
||||
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ extern Gfx *banshee_boardwalk_dls[];
|
|||
extern Gfx *bowsers_castle_dls[];
|
||||
extern Gfx *choco_mountain_dls[];
|
||||
extern Gfx *kalimari_desert_dls[];
|
||||
extern Gfx *luigi_raceway_dls[];
|
||||
extern const char *luigi_raceway_dls[];
|
||||
extern const char *mario_raceway_dls[];
|
||||
extern Gfx *moo_moo_farm_dls[];
|
||||
extern Gfx *royal_raceway_dls[];
|
||||
extern const char *royal_raceway_dls[];
|
||||
extern Gfx *sherbet_land_dls[];
|
||||
extern Gfx *sherbet_land_dls_2[];
|
||||
extern Gfx *wario_stadium_dls[];
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
#include "courses/rainbow_road/course_displaylists.h"
|
||||
#include "courses/yoshi_valley/course_displaylists.h"
|
||||
#include "courses/bowsers_castle/course_displaylists.h"
|
||||
#include "courses/royal_raceway/course_displaylists.h"
|
||||
#include "courses/sherbet_land/course_displaylists.h"
|
||||
#include "courses/wario_stadium/course_displaylists.h"
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,157 +0,0 @@
|
|||
#ifndef ROYAL_RACEWAY_COURSE_DATA_H
|
||||
#define ROYAL_RACEWAY_COURSE_DATA_H
|
||||
|
||||
#include <libultraship.h>
|
||||
#include <libultra/gbi.h>
|
||||
#include <actor_types.h>
|
||||
#include <waypoints.h>
|
||||
#include <course.h>
|
||||
|
||||
extern Gfx d_course_royal_raceway_dl_0[];
|
||||
extern Gfx d_course_royal_raceway_dl_258[];
|
||||
extern Gfx d_course_royal_raceway_dl_360[];
|
||||
extern Gfx d_course_royal_raceway_dl_470[];
|
||||
extern Gfx d_course_royal_raceway_dl_6D0[];
|
||||
extern Gfx d_course_royal_raceway_dl_8E0[];
|
||||
extern Gfx d_course_royal_raceway_dl_A48[];
|
||||
extern Gfx d_course_royal_raceway_dl_B40[];
|
||||
extern Gfx d_course_royal_raceway_dl_DA0[];
|
||||
extern Gfx d_course_royal_raceway_dl_F40[];
|
||||
extern Gfx d_course_royal_raceway_dl_1180[];
|
||||
extern Gfx d_course_royal_raceway_dl_12C0[];
|
||||
extern Gfx d_course_royal_raceway_dl_1538[];
|
||||
extern Gfx d_course_royal_raceway_dl_1610[];
|
||||
extern Gfx d_course_royal_raceway_dl_1850[];
|
||||
extern Gfx d_course_royal_raceway_dl_19B0[];
|
||||
extern Gfx d_course_royal_raceway_dl_1BB8[];
|
||||
extern Gfx d_course_royal_raceway_dl_1C40[];
|
||||
extern Gfx d_course_royal_raceway_dl_1E88[];
|
||||
extern Gfx d_course_royal_raceway_dl_2018[];
|
||||
extern Gfx d_course_royal_raceway_dl_21A8[];
|
||||
extern Gfx d_course_royal_raceway_dl_2210[];
|
||||
extern Gfx d_course_royal_raceway_dl_2428[];
|
||||
extern Gfx d_course_royal_raceway_dl_25F0[];
|
||||
extern Gfx d_course_royal_raceway_dl_26F0[];
|
||||
extern Gfx d_course_royal_raceway_dl_27B8[];
|
||||
extern Gfx d_course_royal_raceway_dl_29A0[];
|
||||
extern Gfx d_course_royal_raceway_dl_2B78[];
|
||||
extern Gfx d_course_royal_raceway_dl_2C20[];
|
||||
extern Gfx d_course_royal_raceway_dl_2DD0[];
|
||||
extern Gfx d_course_royal_raceway_dl_2FE0[];
|
||||
extern Gfx d_course_royal_raceway_dl_31F8[];
|
||||
extern Gfx d_course_royal_raceway_dl_33B0[];
|
||||
extern Gfx d_course_royal_raceway_dl_3580[];
|
||||
extern Gfx d_course_royal_raceway_dl_3748[];
|
||||
extern Gfx d_course_royal_raceway_dl_3960[];
|
||||
extern Gfx d_course_royal_raceway_dl_3AD8[];
|
||||
extern Gfx d_course_royal_raceway_dl_3BA8[];
|
||||
extern Gfx d_course_royal_raceway_dl_3D38[];
|
||||
extern Gfx d_course_royal_raceway_dl_3ED8[];
|
||||
extern Gfx d_course_royal_raceway_dl_3FA0[];
|
||||
extern Gfx d_course_royal_raceway_dl_4048[];
|
||||
extern Gfx d_course_royal_raceway_dl_41D8[];
|
||||
extern Gfx d_course_royal_raceway_dl_4380[];
|
||||
extern Gfx d_course_royal_raceway_dl_4438[];
|
||||
extern Gfx d_course_royal_raceway_dl_44C0[];
|
||||
extern Gfx d_course_royal_raceway_dl_45A0[];
|
||||
extern Gfx d_course_royal_raceway_dl_46A0[];
|
||||
extern Gfx d_course_royal_raceway_dl_4750[];
|
||||
extern Gfx d_course_royal_raceway_dl_4800[];
|
||||
extern Gfx d_course_royal_raceway_dl_4930[];
|
||||
extern Gfx d_course_royal_raceway_dl_4A38[];
|
||||
extern Gfx d_course_royal_raceway_dl_4AE0[];
|
||||
extern Gfx d_course_royal_raceway_dl_4BA8[];
|
||||
extern Gfx d_course_royal_raceway_dl_4D00[];
|
||||
extern Gfx d_course_royal_raceway_dl_4DF8[];
|
||||
extern Gfx d_course_royal_raceway_dl_4EC0[];
|
||||
extern Gfx d_course_royal_raceway_dl_4F80[];
|
||||
extern Gfx d_course_royal_raceway_dl_50F0[];
|
||||
extern Gfx d_course_royal_raceway_dl_51D0[];
|
||||
extern Gfx d_course_royal_raceway_dl_52F0[];
|
||||
extern Gfx d_course_royal_raceway_dl_53B8[];
|
||||
extern Gfx d_course_royal_raceway_dl_54F8[];
|
||||
extern Gfx d_course_royal_raceway_dl_5598[];
|
||||
extern Gfx d_course_royal_raceway_dl_56C0[];
|
||||
extern Gfx d_course_royal_raceway_dl_5758[];
|
||||
extern Gfx d_course_royal_raceway_dl_5890[];
|
||||
extern Gfx d_course_royal_raceway_dl_5900[];
|
||||
extern Gfx d_course_royal_raceway_dl_5A40[];
|
||||
extern Gfx d_course_royal_raceway_dl_5B28[];
|
||||
extern Gfx d_course_royal_raceway_dl_5CA0[];
|
||||
extern Gfx d_course_royal_raceway_dl_5D08[];
|
||||
extern Gfx d_course_royal_raceway_dl_5EB8[];
|
||||
extern Gfx d_course_royal_raceway_dl_5FD8[];
|
||||
extern Gfx d_course_royal_raceway_dl_6118[];
|
||||
extern Gfx d_course_royal_raceway_dl_61B0[];
|
||||
extern Gfx d_course_royal_raceway_dl_6378[];
|
||||
extern Gfx d_course_royal_raceway_dl_6538[];
|
||||
extern Gfx d_course_royal_raceway_dl_6780[];
|
||||
extern Gfx d_course_royal_raceway_dl_68C8[];
|
||||
extern Gfx d_course_royal_raceway_dl_6BC0[];
|
||||
extern Gfx d_course_royal_raceway_dl_6E20[];
|
||||
extern Gfx d_course_royal_raceway_dl_70C0[];
|
||||
extern Gfx d_course_royal_raceway_dl_72B8[];
|
||||
extern Gfx d_course_royal_raceway_dl_75C0[];
|
||||
extern Gfx d_course_royal_raceway_dl_7778[];
|
||||
extern Gfx d_course_royal_raceway_dl_78E8[];
|
||||
extern Gfx d_course_royal_raceway_dl_7AD0[];
|
||||
extern Gfx d_course_royal_raceway_dl_7BD8[];
|
||||
extern Gfx d_course_royal_raceway_dl_7DB0[];
|
||||
extern Gfx d_course_royal_raceway_dl_7ED8[];
|
||||
extern Gfx d_course_royal_raceway_dl_8068[];
|
||||
extern Gfx d_course_royal_raceway_dl_81C0[];
|
||||
extern Gfx d_course_royal_raceway_dl_8398[];
|
||||
extern Gfx d_course_royal_raceway_dl_84A0[];
|
||||
extern Gfx d_course_royal_raceway_dl_8620[];
|
||||
extern Gfx d_course_royal_raceway_dl_8770[];
|
||||
extern Gfx d_course_royal_raceway_dl_8838[];
|
||||
extern Gfx d_course_royal_raceway_dl_88B0[];
|
||||
extern Gfx d_course_royal_raceway_dl_8930[];
|
||||
extern Gfx d_course_royal_raceway_dl_89F0[];
|
||||
extern Gfx d_course_royal_raceway_dl_8C58[];
|
||||
extern Gfx d_course_royal_raceway_dl_8CD8[];
|
||||
extern Gfx d_course_royal_raceway_dl_8EB8[];
|
||||
extern Gfx d_course_royal_raceway_dl_8FA8[];
|
||||
extern Gfx d_course_royal_raceway_dl_9218[];
|
||||
extern Gfx d_course_royal_raceway_dl_92D0[];
|
||||
extern Gfx d_course_royal_raceway_dl_94E8[];
|
||||
extern Gfx d_course_royal_raceway_dl_9678[];
|
||||
extern Gfx d_course_royal_raceway_dl_9900[];
|
||||
extern Gfx d_course_royal_raceway_dl_99A0[];
|
||||
extern Gfx d_course_royal_raceway_dl_9B30[];
|
||||
extern Gfx d_course_royal_raceway_dl_9D58[];
|
||||
extern Gfx d_course_royal_raceway_dl_9FE8[];
|
||||
extern Gfx d_course_royal_raceway_dl_A0A8[];
|
||||
extern Gfx d_course_royal_raceway_dl_A200[];
|
||||
extern Gfx d_course_royal_raceway_dl_A478[];
|
||||
extern Gfx d_course_royal_raceway_dl_A600[];
|
||||
extern Gfx d_course_royal_raceway_dl_A728[];
|
||||
extern Gfx d_course_royal_raceway_dl_A8A8[];
|
||||
extern Gfx d_course_royal_raceway_dl_A9D0[];
|
||||
extern Gfx d_course_royal_raceway_dl_AB28[];
|
||||
extern Gfx d_course_royal_raceway_dl_AC28[];
|
||||
extern Gfx d_course_royal_raceway_dl_AD90[];
|
||||
extern Gfx d_course_royal_raceway_dl_AE70[];
|
||||
extern Gfx d_course_royal_raceway_dl_AFB0[];
|
||||
extern Gfx d_course_royal_raceway_dl_B040[];
|
||||
extern Gfx d_course_royal_raceway_dl_B188[];
|
||||
extern Gfx d_course_royal_raceway_dl_B230[];
|
||||
extern Gfx d_course_royal_raceway_dl_B2E0[];
|
||||
extern Gfx d_course_royal_raceway_dl_B3E8[];
|
||||
extern Gfx d_course_royal_raceway_dl_B508[];
|
||||
extern TrackWaypoint d_course_royal_raceway_unknown_waypoints[];
|
||||
extern TrackWaypoint d_course_royal_raceway_track_waypoints[];
|
||||
extern Vtx d_course_royal_raceway_tree_model[];
|
||||
extern Gfx d_course_royal_raceway_dl_tree[];
|
||||
extern Vtx d_royal_raceway_peaches_castle_tree_model[];
|
||||
extern Gfx d_course_royal_raceway_dl_castle_tree[];
|
||||
extern u8 d_course_royal_raceway_piranha_plant_tlut[];
|
||||
extern Vtx d_course_royal_raceway_piranha_plant_model[];
|
||||
extern Gfx d_course_royal_raceway_dl_piranha_plant[];
|
||||
extern Gfx d_course_royal_raceway_dl_D8E8[];
|
||||
extern struct ActorSpawnData d_course_royal_raceway_piranha_plant_spawn[];
|
||||
extern struct ActorSpawnData d_course_royal_raceway_tree_spawn[];
|
||||
extern struct ActorSpawnData d_course_royal_raceway_item_box_spawns[];
|
||||
extern TrackSections d_course_royal_raceway_addr[];
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,328 +0,0 @@
|
|||
#include <libultra/gbi.h>
|
||||
#include "macros.h"
|
||||
|
||||
extern Gfx d_course_royal_raceway_packed_dl_0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_130[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1C8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_230[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_320[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_340[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4D0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_548[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_558[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_650[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_668[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6D0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_750[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7C0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_840[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_860[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8A0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_930[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9C8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AB8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_B78[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_C38[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_C68[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_CE0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_CF0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_E88[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_E98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_F88[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1098[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_11A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_11C8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_12B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1438[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1450[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_14C8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1548[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_15D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1640[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_16B8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1720[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1788[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_17F8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1860[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_18D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1940[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_19B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1A30[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1AA0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1B18[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1B98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1C48[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1CF0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1D68[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1DF0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1E60[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1EF0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1F58[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_1FE8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_20A0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2110[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_21B8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2230[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_22C0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2370[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_23F8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2478[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2530[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_25E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_26B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2758[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_27E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2870[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_28D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2950[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2A10[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2AC8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2B38[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2BA0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2C08[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2CF8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2D80[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2E08[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2EE0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_2F70[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3018[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3090[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3118[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3190[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3218[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3268[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_32F0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3368[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_33D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3440[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_34C0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3540[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3628[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_36B8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3728[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3790[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_37E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3908[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3978[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3B50[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3B70[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3C18[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3CF0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3DC0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3E50[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3F18[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_3FA8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4078[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4118[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_41A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4298[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4350[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4400[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_44B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4538[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_45E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_46E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_47C0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4890[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4968[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4A08[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4A80[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4B30[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4BC8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4CC8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4DC0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4E90[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4F20[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_4F98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5018[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_50B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5138[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_51E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5298[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5330[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5400[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_54A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5520[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_55D0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_56A0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5740[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_57F0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_58E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5990[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5A10[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5AA8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5B50[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5C00[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5D18[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5DC8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_5EF8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6008[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_60D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6228[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6328[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_67E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6808[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6880[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_68E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6950[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_69B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6A10[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6A80[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6B60[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6BE8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6C58[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6CC0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6D18[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6D98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6E20[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6EB8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6F28[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_6FB0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7020[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_70B8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7138[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_71A0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7278[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_72E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7360[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_73E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7490[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7500[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7578[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_75F8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7680[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7718[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7780[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_77E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7868[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_78E0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7980[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7A18[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7AE8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7B50[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7BB8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7C20[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7C98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7D10[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7D90[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7E08[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7E80[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7EF8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7F70[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_7FD0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8040[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_80C8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8140[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_81C8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8278[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8318[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8390[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8400[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8470[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_84E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8580[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8618[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_86B8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8740[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8810[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8888[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8900[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8988[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_89F0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8A60[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8AC0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8B28[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8B98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8C00[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8C70[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8CD8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8D48[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8DC0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8E30[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8EA8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8F28[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_8F98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9008[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9080[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_90F8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9168[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9198[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9210[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9290[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9310[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9380[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9408[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9438[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_94B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9520[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9598[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9608[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9630[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_96A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9718[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9778[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_97E8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9848[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_98B8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9918[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9988[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9A38[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9A98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9B08[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9B68[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9BD0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9C48[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9CB8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9D20[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9DA0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9E18[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9E98[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9F10[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9F80[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_9FF0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A050[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A0B0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A128[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A1A0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A210[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A278[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A2D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A3C8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A438[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A4B8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A538[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A5A0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A618[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A648[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A6A8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A718[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A730[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A7D8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A870[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A8F8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A970[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_A998[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AA10[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AA90[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AB28[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_ABA8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AC30[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AC60[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_ACE0[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AD78[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AE00[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AE70[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AEF8[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_AF28[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_B030[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_B040[];
|
||||
extern Gfx d_course_royal_raceway_packed_dl_B120[2];
|
||||
|
||||
#define d_course_royal_raceway_packed_end GET_PACKED_END(d_course_royal_raceway_packed_dl_B120)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#include <libultra/types.h>
|
||||
#include "course_offsets.h"
|
||||
#include "course_data.h"
|
||||
#include <assets/royal_raceway_data.h>
|
||||
|
||||
const course_texture royal_raceway_textures[] = {
|
||||
{gTexture64619C, 0x0124, 0x0800, 0x0},
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,8 +1,8 @@
|
|||
#include <actors.h>
|
||||
#include <main.h>
|
||||
#include <libultra/gbi.h>
|
||||
#include "courses/royal_raceway/course_data.h"
|
||||
#include <assets/mario_raceway_data.h>
|
||||
#include <assets/royal_raceway_data.h>
|
||||
|
||||
/**
|
||||
* @brief Renders the piranha plant actor.
|
||||
|
|
|
|||
|
|
@ -148,7 +148,22 @@ void func_80299864(Camera *camera, Mat4 arg1, struct Actor *arg2) {
|
|||
// Based on the TLUT being loaded above, this ought to be be another
|
||||
// tree related DL, presumably one found in a course other than Moo Moo farm
|
||||
// 0x0600FC70
|
||||
|
||||
//! @warning Possible bug:
|
||||
// Previous incorrectly set to:
|
||||
// d_course_moo_moo_farm_mole_tlut
|
||||
// Unless both courses use this actor and use the same addr for the texture.
|
||||
// Just in-case changed the code into a switch to prevent future crashes.
|
||||
// This comment can be removed when this is confirmed to work.
|
||||
|
||||
switch(gCurrentCourseId) {
|
||||
case COURSE_LUIGI_RACEWAY:
|
||||
gSPDisplayList(gDisplayListHead++, d_course_luigi_raceway_dl_FC70);
|
||||
break;
|
||||
case COURSE_MOO_MOO_FARM:
|
||||
gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_mole_tlut);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3595,60 +3595,49 @@ void *segmented_to_virtual_dupe_2(const void *addr) {
|
|||
#include <assets/player_selection.h>
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/NAZ12
|
||||
// Register allocation nonsense
|
||||
void func_80099184(MkTexture *arg0) {
|
||||
void func_80099184(MkTexture *arg0)
|
||||
{
|
||||
u16 var_a1_2;
|
||||
s32 var_v0;
|
||||
s32 var_a1;
|
||||
UNUSED s32 temp_s3;
|
||||
MkTexture *texture = arg0;
|
||||
UNUSED struct_8018E118_entry *thing;
|
||||
while (texture->textureData != NULL) {
|
||||
u8 *textureData = (u8 *) LOAD_ASSET(texture->textureData);
|
||||
MkTexture *var_s1;
|
||||
struct_8018E118_entry *thing = &D_8018E118[0];
|
||||
var_s1 = segmented_to_virtual_dupe(arg0);
|
||||
while (var_s1->textureData != NULL) {
|
||||
var_a1 = 0;
|
||||
for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
|
||||
// wtf is going on here?
|
||||
if (D_8018E118[var_v0].textureData == (*texture).textureData) {
|
||||
if ( var_s1->textureData == (thing+var_v0)->textureData) {
|
||||
var_a1 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_a1 == 0) {
|
||||
if (texture->type == 3) {
|
||||
if (texture->size != 0) {
|
||||
var_a1_2 = texture->size;
|
||||
if (var_s1->type == 3) {
|
||||
if (var_s1->size != 0) {
|
||||
var_a1_2 = var_s1->size;
|
||||
} else {
|
||||
var_a1_2 = 0x1000;
|
||||
}
|
||||
if (var_a1_2 % 8) {
|
||||
var_a1_2 = ((var_a1_2 / 8) * 8) + 8;
|
||||
}
|
||||
//dma_copy_base_729a30(texture->textureData, var_a1_2, D_8018D9B4);
|
||||
//mio0decode(D_8018D9B4, (u8*)&D_8018D9B0[gD_8018E118TotalSize]);
|
||||
// * 2 here is just a guess
|
||||
size_t size = ResourceGetTexSizeByName(texture->textureData);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], textureData, size);
|
||||
//dma_copy_base_729a30(var_s1->textureData, var_a1_2, D_8018D9B4);
|
||||
//mio0decode(D_8018D9B4, &D_8018D9B0[gD_8018E118TotalSize]);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], var_s1->textureData, var_a1_2);
|
||||
} else {
|
||||
//dma_copy_base_729a30(texture->textureData, texture->height * texture->width * 2, &D_8018D9B0[gD_8018E118TotalSize]);
|
||||
// * 2 here is just a guess
|
||||
size_t size = ResourceGetTexSizeByName(texture->textureData);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], textureData, size);
|
||||
//dma_copy_base_729a30(var_s1->textureData, (var_s1->height * var_s1->width) * 2, &D_8018D9B0[gD_8018E118TotalSize]);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], var_s1->textureData, var_s1->width * var_s1->height*2);
|
||||
}
|
||||
|
||||
thing = &D_8018E118[gNumD_8018E118Entries];
|
||||
printf("test: %s\n",texture->textureData);
|
||||
thing->textureData = texture->textureData;
|
||||
thing = &D_8018E118[gNumD_8018E118Entries];
|
||||
thing->offset = gD_8018E118TotalSize;
|
||||
|
||||
gD_8018E118TotalSize += (texture->height * texture->width);
|
||||
gNumD_8018E118Entries += 1;
|
||||
thing[gNumD_8018E118Entries].textureData = var_s1->textureData;
|
||||
thing[gNumD_8018E118Entries].offset = gD_8018E118TotalSize;
|
||||
gD_8018E118TotalSize += var_s1->height * var_s1->width;
|
||||
gD_8018E118TotalSize = ((gD_8018E118TotalSize / 8) * 8) + 8;
|
||||
gNumD_8018E118Entries += 1;
|
||||
}
|
||||
texture++;
|
||||
break;
|
||||
var_s1++;
|
||||
}
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099184.s")
|
||||
|
|
@ -3670,14 +3659,17 @@ void func_80099394(MkTexture *arg0) {
|
|||
var_a1 = 0;
|
||||
for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
|
||||
// wtf is going on here?
|
||||
if (D_8018E118[var_v0^0].textureData == (*var_s1).textureData) {
|
||||
if (D_8018E118[var_v0].textureData == (*var_s1).textureData) {
|
||||
var_a1 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_a1 == 0) {
|
||||
if (var_s1->type == 5) {
|
||||
dma_copy_base_729a30(var_s1->textureData, (u32) ((s32) (var_s1->height * var_s1->width) / 2), &D_8018D9B0[gD_8018E118TotalSize]);
|
||||
//dma_copy_base_729a30(var_s1->textureData, (u32) ((s32) (var_s1->height * var_s1->width) / 2), &D_8018D9B0[gD_8018E118TotalSize]);
|
||||
u8 *tex = LOAD_ASSET(var_s1->textureData);
|
||||
size_t texSize = ResourceGetTexSizeByName(var_s1->textureData);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], tex, texSize);
|
||||
}
|
||||
|
||||
thing = &D_8018E118[gNumD_8018E118Entries];
|
||||
|
|
@ -3745,6 +3737,7 @@ void func_8009969C(MkTexture *arg0) {
|
|||
#ifdef NON_MATCHING
|
||||
// Register allocation nonsense
|
||||
// https://decomp.me/scratch/hwAAp
|
||||
// Load background?
|
||||
void func_800996BC(MkTexture *arg0, s32 arg1) {
|
||||
u16 var_a1_2;
|
||||
s32 var_v0;
|
||||
|
|
@ -3796,7 +3789,8 @@ void func_800996BC(MkTexture *arg0, s32 arg1) {
|
|||
case 1: /* switch 1 */
|
||||
//mio0decode(D_8018D9B4, (u8*)&D_8018D9B0[gD_8018E118TotalSize]);
|
||||
//printf("w: %d, h: %d", texture->width, texture->height);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], texture->textureData, texture->width * texture->height * 2);
|
||||
u8 *tex = (u8 *) LOAD_ASSET(texture->textureData);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], tex, texture->width * texture->height * 2);
|
||||
break;
|
||||
case 0: /* switch 1 */
|
||||
case 2: /* switch 1 */
|
||||
|
|
@ -3808,7 +3802,8 @@ void func_800996BC(MkTexture *arg0, s32 arg1) {
|
|||
if (1) {}
|
||||
//D_8018D9B0[gD_8018E118TotalSize] = &gTextureBackgroundBlueSky;
|
||||
//tkmk00decode(D_8018D9B4, texture->textureData, (u8*)&D_8018D9B0[gD_8018E118TotalSize], var_v0_2);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], texture->textureData, texture->width * texture->height * 2);
|
||||
u8 *tex2 = (u8 *) LOAD_ASSET(texture->textureData);
|
||||
memcpy(&D_8018D9B0[gD_8018E118TotalSize], tex2, texture->width * texture->height * 2);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -3845,6 +3840,7 @@ void func_80099958(MkTexture *arg0, s32 arg1, s32 arg2) {
|
|||
}
|
||||
//dma_copy_base_729a30(temp_v0->textureData, var_a1, D_8018D9B4);
|
||||
//mio0decode(D_8018D9B4, D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array);
|
||||
u8 *tex = LOAD_ASSET(temp_v0->textureData);
|
||||
memcpy(D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array, temp_v0->textureData, temp_v0->width * temp_v0->height * 2);
|
||||
temp_v0++;
|
||||
}
|
||||
|
|
@ -4068,7 +4064,7 @@ void func_80099EC4(void) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099EC4.s")
|
||||
#endif
|
||||
|
||||
void func_8009A238(MkTexture *arg0, s32 arg1) {
|
||||
UNUSED void func_8009A238(MkTexture *arg0, s32 arg1) {
|
||||
s32 var_a3;
|
||||
s32 temp_v1;
|
||||
u64 *sp24;
|
||||
|
|
@ -4082,7 +4078,9 @@ void func_8009A238(MkTexture *arg0, s32 arg1) {
|
|||
}
|
||||
//dma_copy_base_7fa3c0(sp24, var_a3, D_8018D9B4);
|
||||
//tkmk00decode(D_8018D9B4, D_8018D9B8, (u8*) &D_8018D9B0[temp_v1], 1);
|
||||
memcpy(&D_8018D9B0[temp_v1], arg0->textureData, arg0->height * arg0->width * 2);
|
||||
//u8 *tex = (u8 *) LOAD_ASSET(arg0->textureData);
|
||||
size_t texSize = ResourceGetTexSizeByName(arg0->textureData);
|
||||
memcpy(&D_8018D9B0[temp_v1], arg0->textureData, texSize);
|
||||
D_8018E118[arg1].textureData = arg0->textureData;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <assets/ceremony_data.h>
|
||||
#include <assets/mario_raceway_data.h>
|
||||
#include <assets/luigi_raceway_data.h>
|
||||
#include <assets/royal_raceway_data.h>
|
||||
|
||||
// @warning Array contains an extra zero element at the end.
|
||||
KartAIBehaviour *gKartAIBehaviourLUT[] = {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <defines.h>
|
||||
#include <segments.h>
|
||||
#include <mk64.h>
|
||||
#include <courses/royal_raceway/course_displaylists.h>
|
||||
#include <assets/royal_raceway_displaylists.h>
|
||||
|
||||
#include "code_80281780.h"
|
||||
#include "memory.h"
|
||||
|
|
@ -136,16 +136,17 @@ void load_ceremony_cutscene(void) {
|
|||
D_800DC5C8 = (u16)0;
|
||||
gCollisionMesh = (CollisionTriangle *) gNextFreeMemoryAddress;
|
||||
//! @bug these segmented addresses need to be symbols for mobility
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_67E8, -1);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_AEF8, -1);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_A970, 8);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_AC30, 8);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_CE0, 0x10);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_E88, 0x10);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_A618, -1);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_A618, -1);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_23F8, 1);
|
||||
generate_collision_mesh_with_default_section_id(d_course_royal_raceway_packed_dl_2478, 1);
|
||||
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x070067E8), -1);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x0700AEF8), -1);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x0700A970), 8);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x0700AC30), 8);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x07000CE0), 0x10);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x07000E88), 0x10);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x0700A618), -1);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x0700A618), -1);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x070023F8), 1);
|
||||
generate_collision_mesh_with_default_section_id(segmented_gfx_to_virtual(0x07002478), 1);
|
||||
func_80295C6C();
|
||||
debug_switch_character_ceremony_cutscene();
|
||||
func_802818BC();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include <libultraship.h>
|
||||
#include <libultra/gbi.h>
|
||||
#include <courses/royal_raceway/course_displaylists.h>
|
||||
#include <assets/royal_raceway_displaylists.h>
|
||||
|
||||
// Init RDP - RSP (Ceremony)
|
||||
Gfx D_80284EE0[] = {
|
||||
|
|
@ -29,42 +29,43 @@ Gfx D_80284F70[] = {
|
|||
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_67E8),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_AEF8),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_1438),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_A970),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_CE0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_E88),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_A618),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_AC30),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_3728),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_36B8),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_3628),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_3540),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_3DC0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_3E50),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_3F18),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_50B0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_5138),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_55D0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_5B50),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_5C00),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_5D18),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_5DC8),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_5EF8),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_5740),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_57F0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_58E8),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_1788),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_1AA0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_1A30),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_23F8),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_2478),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_3790),
|
||||
|
||||
gsSPDisplayList(0x070067E8),
|
||||
gsSPDisplayList(0x0700AEF8),
|
||||
gsSPDisplayList(0x07001438),
|
||||
gsSPDisplayList(0x0700A970),
|
||||
gsSPDisplayList(0x07000CE0),
|
||||
gsSPDisplayList(0x07000E88),
|
||||
gsSPDisplayList(0x0700A618),
|
||||
gsSPDisplayList(0x0700AC30),
|
||||
gsSPDisplayList(0x07003728),
|
||||
gsSPDisplayList(0x070036B8),
|
||||
gsSPDisplayList(0x07003628),
|
||||
gsSPDisplayList(0x07003540),
|
||||
gsSPDisplayList(0x07003DC0),
|
||||
gsSPDisplayList(0x07003E50),
|
||||
gsSPDisplayList(0x07003F18),
|
||||
gsSPDisplayList(0x070050B0),
|
||||
gsSPDisplayList(0x07005138),
|
||||
gsSPDisplayList(0x070055D0),
|
||||
gsSPDisplayList(0x07005B50),
|
||||
gsSPDisplayList(0x07005C00),
|
||||
gsSPDisplayList(0x07005D18),
|
||||
gsSPDisplayList(0x07005DC8),
|
||||
gsSPDisplayList(0x07005EF8),
|
||||
gsSPDisplayList(0x07005740),
|
||||
gsSPDisplayList(0x070057F0),
|
||||
gsSPDisplayList(0x070058E8),
|
||||
gsSPDisplayList(0x07001788),
|
||||
gsSPDisplayList(0x07001AA0),
|
||||
gsSPDisplayList(0x07001A30),
|
||||
gsSPDisplayList(0x070023F8),
|
||||
gsSPDisplayList(0x07002478),
|
||||
gsSPDisplayList(0x07003790),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_6D0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_4D0),
|
||||
gsSPDisplayList(d_course_royal_raceway_packed_dl_840),
|
||||
gsSPDisplayList(0x070006D0),
|
||||
gsSPDisplayList(0x070004D0),
|
||||
gsSPDisplayList(0x07000840),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#include <decode.h>
|
||||
#include <mk64.h>
|
||||
#include <stubs.h>
|
||||
#include "racing/framebuffer_effects.h"
|
||||
|
||||
#include "networking/networking.h"
|
||||
|
||||
|
|
@ -1222,6 +1223,7 @@ void thread5_iteration(void){
|
|||
}
|
||||
profiler_log_thread5_time(THREAD5_START);
|
||||
config_gfx_pool();
|
||||
FB_CreateFramebuffers();
|
||||
read_controllers();
|
||||
game_state_handler();
|
||||
end_master_display_list();
|
||||
|
|
|
|||
|
|
@ -246,3 +246,13 @@ extern "C" float OTRGetDimensionFromRightEdge(float v) {
|
|||
extern "C" int16_t OTRGetRectDimensionFromRightEdge(float v) {
|
||||
return ((int)ceilf(OTRGetDimensionFromRightEdge(v)));
|
||||
}
|
||||
|
||||
// Gets the width of the current render target area
|
||||
extern "C" uint32_t OTRGetGameRenderWidth() {
|
||||
return gfx_current_dimensions.width;
|
||||
}
|
||||
|
||||
// Gets the height of the current render target area
|
||||
extern "C" uint32_t OTRGetGameRenderHeight() {
|
||||
return gfx_current_dimensions.height;
|
||||
}
|
||||
|
|
@ -32,6 +32,8 @@ class GameEngine {
|
|||
float OTRGetDimensionFromRightEdge(float v);
|
||||
int16_t OTRGetRectDimensionFromLeftEdge(float v);
|
||||
int16_t OTRGetRectDimensionFromRightEdge(float v);
|
||||
uint32_t OTRGetGameRenderWidth();
|
||||
uint32_t OTRGetGameRenderHeight();
|
||||
};
|
||||
#else
|
||||
void GameEngine_ProcessGfxCommands(Gfx* commands);
|
||||
|
|
@ -42,4 +44,6 @@ float OTRGetDimensionFromLeftEdge(float v);
|
|||
float OTRGetDimensionFromRightEdge(float v);
|
||||
int16_t OTRGetRectDimensionFromLeftEdge(float v);
|
||||
int16_t OTRGetRectDimensionFromRightEdge(float v);
|
||||
uint32_t OTRGetGameRenderWidth(void);
|
||||
uint32_t OTRGetGameRenderHeight(void);
|
||||
#endif
|
||||
|
|
@ -800,8 +800,8 @@ UNUSED void func_8029AE14() {
|
|||
|
||||
#include "actors/falling_rock/render.inc.c"
|
||||
|
||||
void spawn_piranha_plants(struct ActorSpawnData *spawnData) {
|
||||
struct ActorSpawnData *temp_s0 = spawnData;
|
||||
void spawn_piranha_plants(const char *spawnData) {
|
||||
struct ActorSpawnData *temp_s0 = (struct ActorSpawnData *) LOAD_ASSET(spawnData);
|
||||
struct PiranhaPlant *temp_v1;
|
||||
UNUSED s32 pad;
|
||||
Vec3f startingPos;
|
||||
|
|
@ -858,7 +858,7 @@ void spawn_palm_trees(struct ActorSpawnData *spawnData) {
|
|||
#include "actors/falling_rock/update.inc.c"
|
||||
|
||||
// Trees, cacti, shrubs, etc.
|
||||
void spawn_foliage(struct ActorSpawnData *arg0) {
|
||||
void spawn_foliage(const char *actor) {
|
||||
UNUSED s32 pad[4];
|
||||
Vec3f position;
|
||||
Vec3f velocity;
|
||||
|
|
@ -868,7 +868,7 @@ void spawn_foliage(struct ActorSpawnData *arg0) {
|
|||
struct Actor *temp_s0;
|
||||
struct ActorSpawnData *var_s3;
|
||||
|
||||
var_s3 = arg0;
|
||||
var_s3 = (struct ActorSpawnData*) LOAD_ASSET(actor);
|
||||
vec3f_set(velocity, 0.0f, 0.0f, 0.0f);
|
||||
rotation[0] = 0x4000;
|
||||
rotation[1] = 0;
|
||||
|
|
@ -937,13 +937,13 @@ void spawn_foliage(struct ActorSpawnData *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void spawn_all_item_boxes(struct ActorSpawnData *spawnData) {
|
||||
void spawn_all_item_boxes(const char *spawnData) {
|
||||
s16 temp_s1;
|
||||
f32 temp_f0;
|
||||
Vec3f startingPos;
|
||||
Vec3f startingVelocity;
|
||||
Vec3s startingRot;
|
||||
struct ActorSpawnData *temp_s0 = spawnData;
|
||||
struct ActorSpawnData *temp_s0 = (struct ActorSpawnData *) LOAD_ASSET(spawnData);
|
||||
//struct ItemBox *itemBox;
|
||||
|
||||
if ((gModeSelection == TIME_TRIALS) || (gPlaceItemBoxes == 0)) { return; }
|
||||
|
|
@ -1028,13 +1028,9 @@ void spawn_course_actors(void) {
|
|||
gNumPermanentActors = 0;
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_MARIO_RACEWAY:
|
||||
struct ActorSpawnData *a_d_course_mario_raceway_tree_spawns = (struct ActorSpawnData *) LOAD_ASSET(d_course_mario_raceway_tree_spawns);
|
||||
struct ActorSpawnData *a_d_course_mario_raceway_piranha_plant_spawns = (struct ActorSpawnData *) LOAD_ASSET(d_course_mario_raceway_piranha_plant_spawns);
|
||||
struct ActorSpawnData *a_d_course_mario_raceway_item_box_spawns = (struct ActorSpawnData *) LOAD_ASSET(d_course_mario_raceway_item_box_spawns);
|
||||
|
||||
spawn_foliage(a_d_course_mario_raceway_tree_spawns);
|
||||
spawn_piranha_plants(a_d_course_mario_raceway_piranha_plant_spawns);
|
||||
spawn_all_item_boxes(a_d_course_mario_raceway_item_box_spawns);
|
||||
spawn_foliage(d_course_mario_raceway_tree_spawns);
|
||||
spawn_piranha_plants(d_course_mario_raceway_piranha_plant_spawns);
|
||||
spawn_all_item_boxes(d_course_mario_raceway_item_box_spawns);
|
||||
vec3f_set(position, 150.0f, 40.0f, -1300.0f);
|
||||
position[0] *= gCourseDirection;
|
||||
add_actor_to_empty_slot(position, rotation, velocity, ACTOR_MARIO_SIGN);
|
||||
|
|
|
|||
|
|
@ -1,180 +1,197 @@
|
|||
// #include <libultraship.h>
|
||||
// #include "framebuffer_effects.h"
|
||||
// #include "mk64.h"
|
||||
// #include <assets/common_data.h>
|
||||
#include <libultraship.h>
|
||||
#include "framebuffer_effects.h"
|
||||
#include "mk64.h"
|
||||
#include <assets/common_data.h>
|
||||
|
||||
|
||||
// int gfx_create_framebuffer(uint32_t width, uint32_t height, uint32_t native_width, uint32_t native_height,
|
||||
// uint8_t resize);
|
||||
int gfx_create_framebuffer(uint32_t width, uint32_t height, uint32_t native_width, uint32_t native_height,
|
||||
uint8_t resize);
|
||||
|
||||
// s32 gPauseFrameBuffer = -1;
|
||||
// s32 gBlurFrameBuffer = -1;
|
||||
// // A framebuffer that should only be used for drawing in the same frame that it is copied too
|
||||
// // i.e. the VisMono and VisFbuf effects
|
||||
// s32 gReusableFrameBuffer = -1;
|
||||
s32 gPauseFrameBuffer = -1;
|
||||
s32 gBlurFrameBuffer = -1;
|
||||
// A framebuffer that should only be used for drawing in the same frame that it is copied too
|
||||
// i.e. the VisMono and VisFbuf effects
|
||||
s32 gReusableFrameBuffer = -1;
|
||||
|
||||
// // N64 resolution sized buffer (320x240), used by picto box and deku bubble
|
||||
// s32 gN64ResFrameBuffer = -1;
|
||||
// N64 resolution sized buffer (320x240), used by picto box and deku bubble
|
||||
s32 gN64ResFrameBuffer = -1;
|
||||
|
||||
// void FB_CreateFramebuffers(void) {
|
||||
// if (gPauseFrameBuffer == -1) {
|
||||
// gPauseFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, true);
|
||||
// }
|
||||
void FB_CreateFramebuffers(void) {
|
||||
if (gPauseFrameBuffer == -1) {
|
||||
gPauseFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, true);
|
||||
}
|
||||
|
||||
// if (gBlurFrameBuffer == -1) {
|
||||
// gBlurFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, true);
|
||||
// }
|
||||
if (gBlurFrameBuffer == -1) {
|
||||
gBlurFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, true);
|
||||
}
|
||||
|
||||
// if (gReusableFrameBuffer == -1) {
|
||||
// gReusableFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, true);
|
||||
// }
|
||||
if (gReusableFrameBuffer == -1) {
|
||||
gReusableFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, true);
|
||||
}
|
||||
|
||||
// if (gN64ResFrameBuffer == -1) {
|
||||
// gN64ResFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, false);
|
||||
// }
|
||||
// }
|
||||
if (gN64ResFrameBuffer == -1) {
|
||||
gN64ResFrameBuffer = gfx_create_framebuffer(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT, false);
|
||||
}
|
||||
}
|
||||
|
||||
// /**
|
||||
// * Copies the current texture data from the source frame buffer to the destination frame buffer
|
||||
// * Setting oncePerFrame ensures that the copy will only happen once every game frame. This
|
||||
// * is important for effects that could be affected by increased frame interpolation (like motion blur).
|
||||
// * A pointer to a boolean is passed to the render for the render to set once the copy has been performed.
|
||||
// * This function uses opcodes from f3dex2 but may be called when s2dex is loaded, such as during shrink window. Make
|
||||
// * sure f3dex2 is loaded before this function is called.
|
||||
// */
|
||||
// Fixed point macros
|
||||
#define FTOFIX(f) ((s32) ((f) *65536.0))
|
||||
#define ITOFIX(i) ((s32) ((i) << 16))
|
||||
#define FIXTOF(x) ((double) ((x) / 65536.0))
|
||||
#define FIXTOI(x) ((s32) ((x) >> 16))
|
||||
|
||||
// void FB_CopyToFramebuffer(Gfx** gfxp, s32 fb_src, s32 fb_dest, u8 oncePerFrame, u8* hasCopied) {
|
||||
#define toFixedInt(f) (FTOFIX(f) >> 16)
|
||||
#define toFrac(f) (FTOFIX(f) & 0xFFFF)
|
||||
|
||||
// Setup a fixed-point matrix using floats or doubles. Recommend using doubles for more precision.
|
||||
#define toFixedPointMatrix(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) \
|
||||
{{((toFixedInt(x1)) << 16) | toFixedInt(x2), ((toFixedInt(x3)) << 16) | toFixedInt(x4), (toFixedInt(x5) << 16) | toFixedInt(x6), (toFixedInt(x7) << 16) | toFixedInt(x8)}, \
|
||||
{((toFixedInt(x9)) << 16) | toFixedInt(x10), ((toFixedInt(x11)) << 16) | toFixedInt(x12), (toFixedInt(x13) << 16) | toFixedInt(x14), (toFixedInt(x15) << 16) | toFixedInt(x16)}, \
|
||||
{((toFrac(x1)) << 16) | toFrac(x2), ((toFrac(x3)) << 16) | toFrac(x4), (toFrac(x5) << 16) | toFrac(x6), (toFrac(x7) << 16) | toFrac(x8)}, \
|
||||
{((toFrac(x9)) << 16) | toFrac(x10), ((toFrac(x11)) << 16) | toFrac(x12), (toFrac(x13) << 16) | toFrac(x14), (toFrac(x15) << 16) | toFrac(x16)}}
|
||||
|
||||
|
||||
|
||||
Mtx gIdentityMtx = {
|
||||
toFixedPointMatrix(1.0, 0.0, 0.0, 0.0,
|
||||
0.0, 1.0, 0.0, 0.0,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0),
|
||||
};
|
||||
|
||||
/**
|
||||
* Copies the current texture data from the source frame buffer to the destination frame buffer
|
||||
* Setting oncePerFrame ensures that the copy will only happen once every game frame. This
|
||||
* is important for effects that could be affected by increased frame interpolation (like motion blur).
|
||||
* A pointer to a boolean is passed to the render for the render to set once the copy has been performed.
|
||||
* This function uses opcodes from f3dex2 but may be called when s2dex is loaded, such as during shrink window. Make
|
||||
* sure f3dex2 is loaded before this function is called.
|
||||
*/
|
||||
void FB_CopyToFramebuffer(Gfx* gfx, s32 fb_src, s32 fb_dest, u8 oncePerFrame, u8* hasCopied) {
|
||||
|
||||
gSPMatrix(gfx++, &gIdentityMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
gDPSetOtherMode(gfx++,
|
||||
G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE |
|
||||
G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
|
||||
G_AC_NONE | G_ZS_PRIM | G_RM_OPA_SURF | G_RM_OPA_SURF2);
|
||||
|
||||
gSPClearGeometryMode(gfx++, G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
|
||||
gSPSetGeometryMode(gfx++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
|
||||
|
||||
gDPSetBlendColor(gfx++, 255, 255, 255, 8);
|
||||
gDPSetPrimDepth(gfx++, 0xFFFF, 0xFFFF);
|
||||
|
||||
gDPSetEnvColor(gfx++, 255, 255, 255, 255);
|
||||
gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0,
|
||||
ENVIRONMENT);
|
||||
|
||||
gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
||||
gDPCopyFB(gfx++, fb_dest, fb_src, oncePerFrame, hasCopied);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Copies a 4:3 slice of the current framebuffer scaled down to 320x240 to a CPU buffer address.
|
||||
* The buffer output will be in RGBA16 format.
|
||||
* Specify the byteswap flag to force the buffer data to be written as BigEndian, which is
|
||||
* required if the buffer is being used as a texture in F3D.
|
||||
*/
|
||||
void FB_WriteFramebufferSliceToCPU(Gfx* gfx, void *buffer, u8 byteSwap) {
|
||||
//Gfx* gfx = *gfxp;
|
||||
printf("write!\n");
|
||||
FB_CopyToFramebuffer(gfx, 0, gReusableFrameBuffer, false, NULL);
|
||||
|
||||
// gSPMatrix(gfx++, &D_0D008E98, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
// Set the N64 resolution framebuffer as the draw target (320x240)
|
||||
gsSPSetFB(gfx++, gN64ResFrameBuffer);
|
||||
// Reset scissor for new framebuffer
|
||||
gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
||||
// gDPSetOtherMode(gfx++,
|
||||
// G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE |
|
||||
// G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
|
||||
// G_AC_NONE | G_ZS_PRIM | G_RM_OPA_SURF | G_RM_OPA_SURF2);
|
||||
int16_t s0 = 0, t0 = 0;
|
||||
int16_t s1 = OTRGetGameRenderWidth();
|
||||
int16_t t1 = OTRGetGameRenderHeight();
|
||||
printf("half!\n");
|
||||
float aspectRatio = OTRGetAspectRatio();
|
||||
float fourByThree = 4.0f / 3.0f;
|
||||
|
||||
// gSPClearGeometryMode(gfx++, G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
|
||||
// gSPSetGeometryMode(gfx++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
|
||||
// Adjust the texture coordinates so that only a 4:3 region from the center is drawn
|
||||
// to the N64 resolution buffer. Currently ratios smaller than 4:3 will just stretch to fill.
|
||||
if (aspectRatio > fourByThree) {
|
||||
int16_t adjustedWidth = OTRGetGameRenderWidth() / (aspectRatio / fourByThree);
|
||||
s0 = (OTRGetGameRenderWidth() - adjustedWidth) / 2;
|
||||
s1 -= s0;
|
||||
}
|
||||
printf("Aspect!\n");
|
||||
gDPSetTextureImageFB(gfx++, 0, 0, 0, gReusableFrameBuffer);
|
||||
gDPImageRectangle(gfx++, 0 << 2, 0 << 2, s0, t0, SCREEN_WIDTH << 2, SCREEN_HEIGHT << 2, s1, t1, G_TX_RENDERTILE,
|
||||
OTRGetGameRenderWidth(), OTRGetGameRenderHeight());
|
||||
|
||||
// gDPSetBlendColor(gfx++, 255, 255, 255, 8);
|
||||
// gDPSetPrimDepth(gfx++, 0xFFFF, 0xFFFF);
|
||||
// Read the final N64 framebuffer back as rgba16 into the CPU-side buffer
|
||||
gDPReadFB(gfx++, gN64ResFrameBuffer, buffer, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, byteSwap);
|
||||
|
||||
// gDPSetEnvColor(gfx++, 255, 255, 255, 255);
|
||||
// gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0,
|
||||
// ENVIRONMENT);
|
||||
gsSPResetFB(gfx++);
|
||||
// Reset scissor for original framebuffer
|
||||
gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
printf("Complete!\n");
|
||||
}
|
||||
|
||||
// gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
/**
|
||||
* Draws the texture data from the specified frame buffer as a full screen image
|
||||
*/
|
||||
void FB_DrawFromFramebuffer(Gfx* gfx, s32 fb, u8 alpha) {
|
||||
|
||||
// gDPCopyFB(gfx++, fb_dest, fb_src, oncePerFrame, hasCopied);
|
||||
gSPMatrix(gfx++, &gIdentityMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
// *gfxp = gfx;
|
||||
// }
|
||||
gDPSetEnvColor(gfx++, 255, 255, 255, alpha);
|
||||
|
||||
// /**
|
||||
// * Copies a 4:3 slice of the current framebuffer scaled down to 320x240 to a CPU buffer address.
|
||||
// * The buffer output will be in RGBA16 format.
|
||||
// * Specify the byteswap flag to force the buffer data to be written as BigEndian, which is
|
||||
// * required if the buffer is being used as a texture in F3D.
|
||||
// */
|
||||
// void FB_WriteFramebufferSliceToCPU(Gfx** gfxp, void* buffer, u8 byteSwap) {
|
||||
// Gfx* gfx = *gfxp;
|
||||
gDPSetOtherMode(gfx++,
|
||||
G_AD_NOISE | G_CD_NOISE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE | G_TD_CLAMP |
|
||||
G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
|
||||
G_AC_NONE | G_ZS_PRIM | G_RM_CLD_SURF | G_RM_CLD_SURF2);
|
||||
|
||||
// FB_CopyToFramebuffer(&gfx, 0, gReusableFrameBuffer, false, NULL);
|
||||
gSPClearGeometryMode(gfx++, G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
|
||||
gSPSetGeometryMode(gfx++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
|
||||
|
||||
// // Set the N64 resolution framebuffer as the draw target (320x240)
|
||||
// gsSPSetFB(gfx++, gN64ResFrameBuffer);
|
||||
// // Reset scissor for new framebuffer
|
||||
// gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0,
|
||||
ENVIRONMENT);
|
||||
|
||||
// int16_t s0 = 0, t0 = 0;
|
||||
// int16_t s1 = OTRGetGameRenderWidth();
|
||||
// int16_t t1 = OTRGetGameRenderHeight();
|
||||
gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
||||
// float aspectRatio = OTRGetAspectRatio();
|
||||
// float fourByThree = 4.0f / 3.0f;
|
||||
gDPSetTextureImageFB(gfx++, 0, 0, 0, fb);
|
||||
gDPImageRectangle(gfx++, OTRGetRectDimensionFromLeftEdge(0) << 2, 0 << 2, 0, 0,
|
||||
OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH) << 2, SCREEN_HEIGHT << 2, OTRGetGameRenderWidth(),
|
||||
OTRGetGameRenderHeight(), G_TX_RENDERTILE, OTRGetGameRenderWidth(), OTRGetGameRenderHeight());
|
||||
|
||||
// // Adjust the texture coordinates so that only a 4:3 region from the center is drawn
|
||||
// // to the N64 resolution buffer. Currently ratios smaller than 4:3 will just stretch to fill.
|
||||
// if (aspectRatio > fourByThree) {
|
||||
// int16_t adjustedWidth = OTRGetGameRenderWidth() / (aspectRatio / fourByThree);
|
||||
// s0 = (OTRGetGameRenderWidth() - adjustedWidth) / 2;
|
||||
// s1 -= s0;
|
||||
// }
|
||||
}
|
||||
|
||||
// gDPSetTextureImageFB(gfx++, 0, 0, 0, gReusableFrameBuffer);
|
||||
// gDPImageRectangle(gfx++, 0 << 2, 0 << 2, s0, t0, SCREEN_WIDTH << 2, SCREEN_HEIGHT << 2, s1, t1, G_TX_RENDERTILE,
|
||||
// OTRGetGameRenderWidth(), OTRGetGameRenderHeight());
|
||||
/**
|
||||
* Similar to FB_DrawFromFramebuffer, but scales the image relative to the center of the screen.
|
||||
* This function uses opcodes from f3dex2 but may be called when s2dex is loaded, such as during shrink window. Make
|
||||
* sure f3dex2 is loaded before this function is called.
|
||||
*/
|
||||
void FB_DrawFromFramebufferScaled(Gfx* gfx, s32 fb, u8 alpha, float scaleX, float scaleY) {
|
||||
|
||||
// // Read the final N64 framebuffer back as rgba16 into the CPU-side buffer
|
||||
// gDPReadFB(gfx++, gN64ResFrameBuffer, buffer, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, byteSwap);
|
||||
gDPSetEnvColor(gfx++, 255, 255, 255, alpha);
|
||||
|
||||
// gsSPResetFB(gfx++);
|
||||
// // Reset scissor for original framebuffer
|
||||
// gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
gDPSetOtherMode(gfx++,
|
||||
G_AD_NOISE | G_CD_NOISE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE | G_TD_CLAMP |
|
||||
G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
|
||||
G_AC_NONE | G_ZS_PRIM | G_RM_CLD_SURF | G_RM_CLD_SURF2);
|
||||
|
||||
// *gfxp = gfx;
|
||||
// }
|
||||
gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0,
|
||||
ENVIRONMENT);
|
||||
|
||||
// /**
|
||||
// * Draws the texture data from the specified frame buffer as a full screen image
|
||||
// */
|
||||
// void FB_DrawFromFramebuffer(Gfx** gfxp, s32 fb, u8 alpha) {
|
||||
// Gfx* gfx = *gfxp;
|
||||
gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
||||
// gSPMatrix(gfx++, &D_0D008E98, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetTextureImageFB(gfx++, 0, 0, 0, fb);
|
||||
|
||||
// gDPSetEnvColor(gfx++, 255, 255, 255, alpha);
|
||||
float x0 = SCREEN_WIDTH * 0.5f * scaleX;
|
||||
float y0 = SCREEN_HEIGHT * 0.5f * scaleY;
|
||||
|
||||
// gDPSetOtherMode(gfx++,
|
||||
// G_AD_NOISE | G_CD_NOISE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE | G_TD_CLAMP |
|
||||
// G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
|
||||
// G_AC_NONE | G_ZS_PRIM | G_RM_CLD_SURF | G_RM_CLD_SURF2);
|
||||
gDPImageRectangle(gfx++, OTRGetRectDimensionFromLeftEdge(x0) << 2, (int)(y0) << 2, 0, 0,
|
||||
OTRGetRectDimensionFromRightEdge((float)(SCREEN_WIDTH - x0)) << 2,
|
||||
(int)((float)(SCREEN_HEIGHT - y0)) << 2, OTRGetGameRenderWidth(), OTRGetGameRenderHeight(),
|
||||
G_TX_RENDERTILE, OTRGetGameRenderWidth(), OTRGetGameRenderHeight());
|
||||
|
||||
// gSPClearGeometryMode(gfx++, G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
|
||||
// gSPSetGeometryMode(gfx++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
|
||||
|
||||
// gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0,
|
||||
// ENVIRONMENT);
|
||||
|
||||
// gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
||||
// gDPSetTextureImageFB(gfx++, 0, 0, 0, fb);
|
||||
// gDPImageRectangle(gfx++, OTRGetRectDimensionFromLeftEdge(0) << 2, 0 << 2, 0, 0,
|
||||
// OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH) << 2, SCREEN_HEIGHT << 2, OTRGetGameRenderWidth(),
|
||||
// OTRGetGameRenderHeight(), G_TX_RENDERTILE, OTRGetGameRenderWidth(), OTRGetGameRenderHeight());
|
||||
|
||||
// *gfxp = gfx;
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * Similar to FB_DrawFromFramebuffer, but scales the image relative to the center of the screen.
|
||||
// * This function uses opcodes from f3dex2 but may be called when s2dex is loaded, such as during shrink window. Make
|
||||
// * sure f3dex2 is loaded before this function is called.
|
||||
// */
|
||||
// void FB_DrawFromFramebufferScaled(Gfx** gfxp, s32 fb, u8 alpha, float scaleX, float scaleY) {
|
||||
// Gfx* gfx = *gfxp;
|
||||
|
||||
// gDPSetEnvColor(gfx++, 255, 255, 255, alpha);
|
||||
|
||||
// gDPSetOtherMode(gfx++,
|
||||
// G_AD_NOISE | G_CD_NOISE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE | G_TD_CLAMP |
|
||||
// G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
|
||||
// G_AC_NONE | G_ZS_PRIM | G_RM_CLD_SURF | G_RM_CLD_SURF2);
|
||||
|
||||
// gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0,
|
||||
// ENVIRONMENT);
|
||||
|
||||
// gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
||||
// gDPSetTextureImageFB(gfx++, 0, 0, 0, fb);
|
||||
|
||||
// float x0 = SCREEN_WIDTH * 0.5f * scaleX;
|
||||
// float y0 = SCREEN_HEIGHT * 0.5f * scaleY;
|
||||
|
||||
// gDPImageRectangle(gfx++, OTRGetRectDimensionFromLeftEdge(x0) << 2, (int)(y0) << 2, 0, 0,
|
||||
// OTRGetRectDimensionFromRightEdge((float)(SCREEN_WIDTH - x0)) << 2,
|
||||
// (int)((float)(SCREEN_HEIGHT - y0)) << 2, OTRGetGameRenderWidth(), OTRGetGameRenderHeight(),
|
||||
// G_TX_RENDERTILE, OTRGetGameRenderWidth(), OTRGetGameRenderHeight());
|
||||
|
||||
// *gfxp = gfx;
|
||||
// }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,17 @@
|
|||
// #include <libultraship.h>
|
||||
#ifndef FRAMEBUFFER_EFFECTS_H
|
||||
#define FRAMEBUFFER_EFFECTS_H
|
||||
|
||||
// void FB_DrawFromFramebuffer(Gfx** gfxp, s32 fb, u8 alpha);
|
||||
// void FB_DrawFromFramebufferScaled(Gfx** gfxp, s32 fb, u8 alpha, float scaleX, float scaleY);
|
||||
#include <libultraship.h>
|
||||
|
||||
extern s32 gPauseFrameBuffer;
|
||||
extern s32 gBlurFrameBuffer;
|
||||
extern s32 gReusableFrameBuffer;
|
||||
extern s32 gN64ResFrameBuffer;
|
||||
|
||||
void FB_CreateFramebuffers(void);
|
||||
void FB_CopyToFramebuffer(Gfx* gfx, s32 fb_src, s32 fb_dest, u8 oncePerFrame, u8* hasCopied);
|
||||
void FB_WriteFramebufferSliceToCPU(Gfx* gfx, void *buffer, u8 byteSwap);
|
||||
void FB_DrawFromFramebuffer(Gfx* gfx, s32 fb, u8 alpha);
|
||||
void FB_DrawFromFramebufferScaled(Gfx* gfx, s32 fb, u8 alpha, float scaleX, float scaleY);
|
||||
|
||||
#endif // FRAMEBUFFER_EFFECTS_H
|
||||
|
|
|
|||
|
|
@ -21,6 +21,9 @@
|
|||
#include <assets/luigi_raceway_displaylists.h>
|
||||
#include <assets/luigi_raceway_vertices.h>
|
||||
#include <assets/luigi_raceway_data.h>
|
||||
#include <assets/royal_raceway_displaylists.h>
|
||||
#include <assets/royal_raceway_vertices.h>
|
||||
#include <assets/royal_raceway_data.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <course_offsets.h>
|
||||
|
|
@ -1489,12 +1492,12 @@ NewCourseTable gNewCourseTable[] = {
|
|||
.displaylists = NULL,
|
||||
.dlSize = 0
|
||||
}, {
|
||||
.data = NULL,
|
||||
.vtx = NULL,
|
||||
.vtxSize = 0,
|
||||
.textures = NULL,
|
||||
.displaylists = NULL,
|
||||
.dlSize = 0
|
||||
.data = d_course_royal_raceway_dl_0,
|
||||
.vtx = d_course_royal_raceway_vertex,
|
||||
.vtxSize = 8306,
|
||||
.textures = royal_raceway_textures,
|
||||
.displaylists = d_course_royal_raceway_packed_dls,
|
||||
.dlSize = 5670
|
||||
}, {
|
||||
.data = d_course_luigi_raceway_dl_0,
|
||||
.vtx = d_course_luigi_raceway_vertex,
|
||||
|
|
@ -1518,15 +1521,15 @@ u8 *load_lakitu_textures_x64(const char** textureList, size_t length) {
|
|||
gNextFreeMemoryAddress += size;
|
||||
size_t offset = 0;
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
u8 *tex = (u8 *) LOAD_ASSET(textureList[i]);
|
||||
//u8 *tex = (u8 *) LOAD_ASSET(textureList[i]);
|
||||
size_t texSize = ResourceGetTexSizeByName(textureList[i]);
|
||||
memcpy(&textures[offset], tex, texSize);
|
||||
printf("\nTEX SIZE: %X\n\n", texSize);
|
||||
memcpy(&textures[offset], textureList[i], texSize);
|
||||
offset += texSize;
|
||||
}
|
||||
return textures;
|
||||
}
|
||||
|
||||
void load_luigi_raceway(void);
|
||||
void load_course(s32 courseId) {
|
||||
printf("Loading Course Data\n");
|
||||
|
||||
|
|
@ -1537,8 +1540,6 @@ void load_course(s32 courseId) {
|
|||
char* displaylists = gNewCourseTable[courseId].displaylists;
|
||||
size_t dlSize = gNewCourseTable[courseId].dlSize;
|
||||
|
||||
testaaa = (Gfx *) LOAD_ASSET(data);
|
||||
|
||||
// Convert course vtx to vtx
|
||||
CourseVtx *cvtx = (CourseVtx *) LOAD_ASSET(vtxData);
|
||||
Vtx *vtx = (Vtx *) allocate_memory(sizeof(Vtx) * vtxSize);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include <defines.h>
|
||||
#include <course.h>
|
||||
#include "../camera.h"
|
||||
#include "framebuffer_effects.h"
|
||||
|
||||
#include "render_courses.h"
|
||||
#include "code_800029B0.h"
|
||||
|
|
@ -23,6 +24,8 @@
|
|||
#include <assets/mario_raceway_displaylists.h>
|
||||
#include <assets/luigi_raceway_data.h>
|
||||
#include <assets/luigi_raceway_displaylists.h>
|
||||
#include <assets/royal_raceway_data.h>
|
||||
#include <assets/royal_raceway_displaylists.h>
|
||||
|
||||
s16 D_802B87B0 = 995;
|
||||
s16 D_802B87B4 = 1000;
|
||||
|
|
@ -845,23 +848,23 @@ void render_royal_raceway(struct UnkStruct_800DC5EC *arg0) {
|
|||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
// d_course_royal_raceway_packed_dl_B030
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x0700B030));
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)segmented_gfx_to_virtual(0x0700B030)));
|
||||
}
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
// d_course_royal_raceway_packed_dl_A648
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x0700A648));
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)segmented_gfx_to_virtual(0x0700A648)));
|
||||
|
||||
render_course_segments((uintptr_t) royal_raceway_dls, arg0);
|
||||
render_course_segments(royal_raceway_dls, arg0);
|
||||
|
||||
// d_course_royal_raceway_packed_dl_11A8
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070011A8));
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)segmented_gfx_to_virtual(0x070011A8)));
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
// d_course_royal_raceway_packed_dl_8A0
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)0x070008A0));
|
||||
gSPDisplayList(gDisplayListHead++, ((uintptr_t)segmented_gfx_to_virtual(0x070008A0)));
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
|
|
@ -911,28 +914,34 @@ void render_luigi_raceway(struct UnkStruct_800DC5EC *arg0) {
|
|||
if (currentScreenSection >= 6) {
|
||||
currentScreenSection = 0;
|
||||
}
|
||||
|
||||
u16 *fb = (u16 *) gSegmentTable[5] + 0xF800;
|
||||
|
||||
//FB_WriteFramebufferSliceToCPU(gDisplayListHead, fb, true);
|
||||
//FB_DrawFromFramebuffer(gDisplayListHead, 0, fb, true);
|
||||
//FB_CopyToFramebuffer(gDisplayListHead, 0, fb, false, NULL);
|
||||
/**
|
||||
* The jumbo television screen is split into six sections each section is copied one at a time.
|
||||
* This is done to fit within the n64's texture size requirements; 64x32
|
||||
*/
|
||||
switch (currentScreenSection) {
|
||||
case 0:
|
||||
copy_framebuffer(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xF800));
|
||||
//copy_framebuffer(D_800DC5DC, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0xF800));
|
||||
break;
|
||||
case 1:
|
||||
copy_framebuffer(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x10800));
|
||||
//copy_framebuffer(D_800DC5DC + 64, D_800DC5E0, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x10800));
|
||||
break;
|
||||
case 2:
|
||||
copy_framebuffer(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x11800));
|
||||
//copy_framebuffer(D_800DC5DC, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x11800));
|
||||
break;
|
||||
case 3:
|
||||
copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x12800));
|
||||
//copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 32, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x12800));
|
||||
break;
|
||||
case 4:
|
||||
copy_framebuffer(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x13800));
|
||||
//copy_framebuffer(D_800DC5DC, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x13800));
|
||||
break;
|
||||
case 5:
|
||||
copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x14800));
|
||||
//copy_framebuffer(D_800DC5DC + 64, D_800DC5E0 + 64, 64, 32, (u16 *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[prevFrame]), (u16 *) PHYSICAL_TO_VIRTUAL(gSegmentTable[5] + 0x14800));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -1525,7 +1534,8 @@ void func_80295D88(void) {
|
|||
255, 255);
|
||||
break;
|
||||
case COURSE_ROYAL_RACEWAY:
|
||||
parse_course_displaylists((uintptr_t) d_course_royal_raceway_addr);
|
||||
TrackSectionsI *section7 = (TrackSectionsI *) LOAD_ASSET(d_course_royal_raceway_addr);
|
||||
parse_course_displaylists(section7);
|
||||
func_80295C6C();
|
||||
D_8015F8E4 = -60.0f;
|
||||
break;
|
||||
|
|
@ -1694,9 +1704,9 @@ void func_802966A0(void) {
|
|||
D_802B87BC = 0xFF;
|
||||
}
|
||||
// d_course_royal_raceway_packed_dl_A6A8
|
||||
find_and_set_tile_size((uintptr_t)0x0700A6A8, 0, D_802B87BC);
|
||||
find_and_set_tile_size((uintptr_t)segmented_gfx_to_virtual(0x0700A6A8), 0, D_802B87BC);
|
||||
// d_course_royal_raceway_packed_dl_A648
|
||||
find_and_set_tile_size((uintptr_t)0x0700A648, 0, D_802B87BC);
|
||||
find_and_set_tile_size((uintptr_t)segmented_gfx_to_virtual(0x0700A648), 0, D_802B87BC);
|
||||
break;
|
||||
case COURSE_DK_JUNGLE:
|
||||
D_802B87BC += 2;
|
||||
|
|
|
|||
|
|
@ -1349,7 +1349,7 @@ void copy_framebuffer(s32 arg0, s32 arg1, s32 width, s32 height, u16 *source, u1
|
|||
|
||||
targetIndex = 0;
|
||||
for (var_v1 = 0; var_v1 < height; var_v1++) {
|
||||
sourceIndex = ((arg1 + var_v1) * 320) + arg0;
|
||||
sourceIndex = ((arg1 + var_v1) * SCREEN_WIDTH) + arg0;
|
||||
for (var_a1 = 0; var_a1 < width; var_a1++, targetIndex++, sourceIndex++) {
|
||||
target[targetIndex] = source[sourceIndex];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x8B9630]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x8A7640]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x89B510]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x8CC900]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x8D8E50]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -639,17 +639,17 @@ d_course_luigi_raceway_unknown_model3:
|
|||
symbol: d_course_luigi_raceway_unknown_model3
|
||||
type: vtx
|
||||
offset: 0xBED0
|
||||
count: 36
|
||||
count: 32
|
||||
d_course_luigi_raceway_unknown_model4:
|
||||
symbol: d_course_luigi_raceway_unknown_model4
|
||||
type: vtx
|
||||
offset: 0xC0D0
|
||||
count: 12
|
||||
count: 18
|
||||
d_course_luigi_raceway_unknown_model5:
|
||||
symbol: d_course_luigi_raceway_unknown_model5
|
||||
type: vtx
|
||||
offset: 0xC1F0
|
||||
count: 12
|
||||
count: 27
|
||||
d_course_luigi_raceway_light1:
|
||||
symbol: d_course_luigi_raceway_light1
|
||||
type: lights
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x90B3E0]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,743 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x06, 0x84ABD0]
|
||||
- [0x07, 0x800000]
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <libultra/gbi.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
references_packed_displaylists: true
|
||||
d_course_royal_raceway_dl_0:
|
||||
symbol: d_course_royal_raceway_dl_0
|
||||
type: gfx
|
||||
offset: 0x0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_258:
|
||||
symbol: d_course_royal_raceway_dl_258
|
||||
type: gfx
|
||||
offset: 0x258
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_360:
|
||||
symbol: d_course_royal_raceway_dl_360
|
||||
type: gfx
|
||||
offset: 0x360
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_470:
|
||||
symbol: d_course_royal_raceway_dl_470
|
||||
type: gfx
|
||||
offset: 0x470
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_6D0:
|
||||
symbol: d_course_royal_raceway_dl_6D0
|
||||
type: gfx
|
||||
offset: 0x6D0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8E0:
|
||||
symbol: d_course_royal_raceway_dl_8E0
|
||||
type: gfx
|
||||
offset: 0x8E0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A48:
|
||||
symbol: d_course_royal_raceway_dl_A48
|
||||
type: gfx
|
||||
offset: 0xA48
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_B40:
|
||||
symbol: d_course_royal_raceway_dl_B40
|
||||
type: gfx
|
||||
offset: 0xB40
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_DA0:
|
||||
symbol: d_course_royal_raceway_dl_DA0
|
||||
type: gfx
|
||||
offset: 0xDA0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_F40:
|
||||
symbol: d_course_royal_raceway_dl_F40
|
||||
type: gfx
|
||||
offset: 0xF40
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_1180:
|
||||
symbol: d_course_royal_raceway_dl_1180
|
||||
type: gfx
|
||||
offset: 0x1180
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_12C0:
|
||||
symbol: d_course_royal_raceway_dl_12C0
|
||||
type: gfx
|
||||
offset: 0x12C0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_1538:
|
||||
symbol: d_course_royal_raceway_dl_1538
|
||||
type: gfx
|
||||
offset: 0x1538
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_1610:
|
||||
symbol: d_course_royal_raceway_dl_1610
|
||||
type: gfx
|
||||
offset: 0x1610
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_1850:
|
||||
symbol: d_course_royal_raceway_dl_1850
|
||||
type: gfx
|
||||
offset: 0x1850
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_19B0:
|
||||
symbol: d_course_royal_raceway_dl_19B0
|
||||
type: gfx
|
||||
offset: 0x19B0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_1BB8:
|
||||
symbol: d_course_royal_raceway_dl_1BB8
|
||||
type: gfx
|
||||
offset: 0x1BB8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_1C40:
|
||||
symbol: d_course_royal_raceway_dl_1C40
|
||||
type: gfx
|
||||
offset: 0x1C40
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_1E88:
|
||||
symbol: d_course_royal_raceway_dl_1E88
|
||||
type: gfx
|
||||
offset: 0x1E88
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_2018:
|
||||
symbol: d_course_royal_raceway_dl_2018
|
||||
type: gfx
|
||||
offset: 0x2018
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_21A8:
|
||||
symbol: d_course_royal_raceway_dl_21A8
|
||||
type: gfx
|
||||
offset: 0x21A8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_2210:
|
||||
symbol: d_course_royal_raceway_dl_2210
|
||||
type: gfx
|
||||
offset: 0x2210
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_2428:
|
||||
symbol: d_course_royal_raceway_dl_2428
|
||||
type: gfx
|
||||
offset: 0x2428
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_25F0:
|
||||
symbol: d_course_royal_raceway_dl_25F0
|
||||
type: gfx
|
||||
offset: 0x25F0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_26F0:
|
||||
symbol: d_course_royal_raceway_dl_26F0
|
||||
type: gfx
|
||||
offset: 0x26F0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_27B8:
|
||||
symbol: d_course_royal_raceway_dl_27B8
|
||||
type: gfx
|
||||
offset: 0x27B8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_29A0:
|
||||
symbol: d_course_royal_raceway_dl_29A0
|
||||
type: gfx
|
||||
offset: 0x29A0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_2B78:
|
||||
symbol: d_course_royal_raceway_dl_2B78
|
||||
type: gfx
|
||||
offset: 0x2B78
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_2C20:
|
||||
symbol: d_course_royal_raceway_dl_2C20
|
||||
type: gfx
|
||||
offset: 0x2C20
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_2DD0:
|
||||
symbol: d_course_royal_raceway_dl_2DD0
|
||||
type: gfx
|
||||
offset: 0x2DD0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_2FE0:
|
||||
symbol: d_course_royal_raceway_dl_2FE0
|
||||
type: gfx
|
||||
offset: 0x2FE0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_31F8:
|
||||
symbol: d_course_royal_raceway_dl_31F8
|
||||
type: gfx
|
||||
offset: 0x31F8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_33B0:
|
||||
symbol: d_course_royal_raceway_dl_33B0
|
||||
type: gfx
|
||||
offset: 0x33B0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3580:
|
||||
symbol: d_course_royal_raceway_dl_3580
|
||||
type: gfx
|
||||
offset: 0x3580
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3748:
|
||||
symbol: d_course_royal_raceway_dl_3748
|
||||
type: gfx
|
||||
offset: 0x3748
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3960:
|
||||
symbol: d_course_royal_raceway_dl_3960
|
||||
type: gfx
|
||||
offset: 0x3960
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3AD8:
|
||||
symbol: d_course_royal_raceway_dl_3AD8
|
||||
type: gfx
|
||||
offset: 0x3AD8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3BA8:
|
||||
symbol: d_course_royal_raceway_dl_3BA8
|
||||
type: gfx
|
||||
offset: 0x3BA8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3D38:
|
||||
symbol: d_course_royal_raceway_dl_3D38
|
||||
type: gfx
|
||||
offset: 0x3D38
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3ED8:
|
||||
symbol: d_course_royal_raceway_dl_3ED8
|
||||
type: gfx
|
||||
offset: 0x3ED8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_3FA0:
|
||||
symbol: d_course_royal_raceway_dl_3FA0
|
||||
type: gfx
|
||||
offset: 0x3FA0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4048:
|
||||
symbol: d_course_royal_raceway_dl_4048
|
||||
type: gfx
|
||||
offset: 0x4048
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_41D8:
|
||||
symbol: d_course_royal_raceway_dl_41D8
|
||||
type: gfx
|
||||
offset: 0x41D8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4380:
|
||||
symbol: d_course_royal_raceway_dl_4380
|
||||
type: gfx
|
||||
offset: 0x4380
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4438:
|
||||
symbol: d_course_royal_raceway_dl_4438
|
||||
type: gfx
|
||||
offset: 0x4438
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_44C0:
|
||||
symbol: d_course_royal_raceway_dl_44C0
|
||||
type: gfx
|
||||
offset: 0x44C0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_45A0:
|
||||
symbol: d_course_royal_raceway_dl_45A0
|
||||
type: gfx
|
||||
offset: 0x45A0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_46A0:
|
||||
symbol: d_course_royal_raceway_dl_46A0
|
||||
type: gfx
|
||||
offset: 0x46A0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4750:
|
||||
symbol: d_course_royal_raceway_dl_4750
|
||||
type: gfx
|
||||
offset: 0x4750
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4800:
|
||||
symbol: d_course_royal_raceway_dl_4800
|
||||
type: gfx
|
||||
offset: 0x4800
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4930:
|
||||
symbol: d_course_royal_raceway_dl_4930
|
||||
type: gfx
|
||||
offset: 0x4930
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4A38:
|
||||
symbol: d_course_royal_raceway_dl_4A38
|
||||
type: gfx
|
||||
offset: 0x4A38
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4AE0:
|
||||
symbol: d_course_royal_raceway_dl_4AE0
|
||||
type: gfx
|
||||
offset: 0x4AE0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4BA8:
|
||||
symbol: d_course_royal_raceway_dl_4BA8
|
||||
type: gfx
|
||||
offset: 0x4BA8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4D00:
|
||||
symbol: d_course_royal_raceway_dl_4D00
|
||||
type: gfx
|
||||
offset: 0x4D00
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4DF8:
|
||||
symbol: d_course_royal_raceway_dl_4DF8
|
||||
type: gfx
|
||||
offset: 0x4DF8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4EC0:
|
||||
symbol: d_course_royal_raceway_dl_4EC0
|
||||
type: gfx
|
||||
offset: 0x4EC0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_4F80:
|
||||
symbol: d_course_royal_raceway_dl_4F80
|
||||
type: gfx
|
||||
offset: 0x4F80
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_50F0:
|
||||
symbol: d_course_royal_raceway_dl_50F0
|
||||
type: gfx
|
||||
offset: 0x50F0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_51D0:
|
||||
symbol: d_course_royal_raceway_dl_51D0
|
||||
type: gfx
|
||||
offset: 0x51D0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_52F0:
|
||||
symbol: d_course_royal_raceway_dl_52F0
|
||||
type: gfx
|
||||
offset: 0x52F0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_53B8:
|
||||
symbol: d_course_royal_raceway_dl_53B8
|
||||
type: gfx
|
||||
offset: 0x53B8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_54F8:
|
||||
symbol: d_course_royal_raceway_dl_54F8
|
||||
type: gfx
|
||||
offset: 0x54F8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5598:
|
||||
symbol: d_course_royal_raceway_dl_5598
|
||||
type: gfx
|
||||
offset: 0x5598
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_56C0:
|
||||
symbol: d_course_royal_raceway_dl_56C0
|
||||
type: gfx
|
||||
offset: 0x56C0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5758:
|
||||
symbol: d_course_royal_raceway_dl_5758
|
||||
type: gfx
|
||||
offset: 0x5758
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5890:
|
||||
symbol: d_course_royal_raceway_dl_5890
|
||||
type: gfx
|
||||
offset: 0x5890
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5900:
|
||||
symbol: d_course_royal_raceway_dl_5900
|
||||
type: gfx
|
||||
offset: 0x5900
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5A40:
|
||||
symbol: d_course_royal_raceway_dl_5A40
|
||||
type: gfx
|
||||
offset: 0x5A40
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5B28:
|
||||
symbol: d_course_royal_raceway_dl_5B28
|
||||
type: gfx
|
||||
offset: 0x5B28
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5CA0:
|
||||
symbol: d_course_royal_raceway_dl_5CA0
|
||||
type: gfx
|
||||
offset: 0x5CA0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5D08:
|
||||
symbol: d_course_royal_raceway_dl_5D08
|
||||
type: gfx
|
||||
offset: 0x5D08
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5EB8:
|
||||
symbol: d_course_royal_raceway_dl_5EB8
|
||||
type: gfx
|
||||
offset: 0x5EB8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_5FD8:
|
||||
symbol: d_course_royal_raceway_dl_5FD8
|
||||
type: gfx
|
||||
offset: 0x5FD8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_6118:
|
||||
symbol: d_course_royal_raceway_dl_6118
|
||||
type: gfx
|
||||
offset: 0x6118
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_61B0:
|
||||
symbol: d_course_royal_raceway_dl_61B0
|
||||
type: gfx
|
||||
offset: 0x61B0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_6378:
|
||||
symbol: d_course_royal_raceway_dl_6378
|
||||
type: gfx
|
||||
offset: 0x6378
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_6538:
|
||||
symbol: d_course_royal_raceway_dl_6538
|
||||
type: gfx
|
||||
offset: 0x6538
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_6780:
|
||||
symbol: d_course_royal_raceway_dl_6780
|
||||
type: gfx
|
||||
offset: 0x6780
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_68C8:
|
||||
symbol: d_course_royal_raceway_dl_68C8
|
||||
type: gfx
|
||||
offset: 0x68C8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_6BC0:
|
||||
symbol: d_course_royal_raceway_dl_6BC0
|
||||
type: gfx
|
||||
offset: 0x6BC0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_6E20:
|
||||
symbol: d_course_royal_raceway_dl_6E20
|
||||
type: gfx
|
||||
offset: 0x6E20
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_70C0:
|
||||
symbol: d_course_royal_raceway_dl_70C0
|
||||
type: gfx
|
||||
offset: 0x70C0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_72B8:
|
||||
symbol: d_course_royal_raceway_dl_72B8
|
||||
type: gfx
|
||||
offset: 0x72B8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_75C0:
|
||||
symbol: d_course_royal_raceway_dl_75C0
|
||||
type: gfx
|
||||
offset: 0x75C0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_7778:
|
||||
symbol: d_course_royal_raceway_dl_7778
|
||||
type: gfx
|
||||
offset: 0x7778
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_78E8:
|
||||
symbol: d_course_royal_raceway_dl_78E8
|
||||
type: gfx
|
||||
offset: 0x78E8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_7AD0:
|
||||
symbol: d_course_royal_raceway_dl_7AD0
|
||||
type: gfx
|
||||
offset: 0x7AD0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_7BD8:
|
||||
symbol: d_course_royal_raceway_dl_7BD8
|
||||
type: gfx
|
||||
offset: 0x7BD8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_7DB0:
|
||||
symbol: d_course_royal_raceway_dl_7DB0
|
||||
type: gfx
|
||||
offset: 0x7DB0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_7ED8:
|
||||
symbol: d_course_royal_raceway_dl_7ED8
|
||||
type: gfx
|
||||
offset: 0x7ED8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8068:
|
||||
symbol: d_course_royal_raceway_dl_8068
|
||||
type: gfx
|
||||
offset: 0x8068
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_81C0:
|
||||
symbol: d_course_royal_raceway_dl_81C0
|
||||
type: gfx
|
||||
offset: 0x81C0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8398:
|
||||
symbol: d_course_royal_raceway_dl_8398
|
||||
type: gfx
|
||||
offset: 0x8398
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_84A0:
|
||||
symbol: d_course_royal_raceway_dl_84A0
|
||||
type: gfx
|
||||
offset: 0x84A0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8620:
|
||||
symbol: d_course_royal_raceway_dl_8620
|
||||
type: gfx
|
||||
offset: 0x8620
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8770:
|
||||
symbol: d_course_royal_raceway_dl_8770
|
||||
type: gfx
|
||||
offset: 0x8770
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8838:
|
||||
symbol: d_course_royal_raceway_dl_8838
|
||||
type: gfx
|
||||
offset: 0x8838
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_88B0:
|
||||
symbol: d_course_royal_raceway_dl_88B0
|
||||
type: gfx
|
||||
offset: 0x88B0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8930:
|
||||
symbol: d_course_royal_raceway_dl_8930
|
||||
type: gfx
|
||||
offset: 0x8930
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_89F0:
|
||||
symbol: d_course_royal_raceway_dl_89F0
|
||||
type: gfx
|
||||
offset: 0x89F0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8C58:
|
||||
symbol: d_course_royal_raceway_dl_8C58
|
||||
type: gfx
|
||||
offset: 0x8C58
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8CD8:
|
||||
symbol: d_course_royal_raceway_dl_8CD8
|
||||
type: gfx
|
||||
offset: 0x8CD8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8EB8:
|
||||
symbol: d_course_royal_raceway_dl_8EB8
|
||||
type: gfx
|
||||
offset: 0x8EB8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_8FA8:
|
||||
symbol: d_course_royal_raceway_dl_8FA8
|
||||
type: gfx
|
||||
offset: 0x8FA8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_9218:
|
||||
symbol: d_course_royal_raceway_dl_9218
|
||||
type: gfx
|
||||
offset: 0x9218
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_92D0:
|
||||
symbol: d_course_royal_raceway_dl_92D0
|
||||
type: gfx
|
||||
offset: 0x92D0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_94E8:
|
||||
symbol: d_course_royal_raceway_dl_94E8
|
||||
type: gfx
|
||||
offset: 0x94E8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_9678:
|
||||
symbol: d_course_royal_raceway_dl_9678
|
||||
type: gfx
|
||||
offset: 0x9678
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_9900:
|
||||
symbol: d_course_royal_raceway_dl_9900
|
||||
type: gfx
|
||||
offset: 0x9900
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_99A0:
|
||||
symbol: d_course_royal_raceway_dl_99A0
|
||||
type: gfx
|
||||
offset: 0x99A0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_9B30:
|
||||
symbol: d_course_royal_raceway_dl_9B30
|
||||
type: gfx
|
||||
offset: 0x9B30
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_9D58:
|
||||
symbol: d_course_royal_raceway_dl_9D58
|
||||
type: gfx
|
||||
offset: 0x9D58
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_9FE8:
|
||||
symbol: d_course_royal_raceway_dl_9FE8
|
||||
type: gfx
|
||||
offset: 0x9FE8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A0A8:
|
||||
symbol: d_course_royal_raceway_dl_A0A8
|
||||
type: gfx
|
||||
offset: 0xA0A8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A200:
|
||||
symbol: d_course_royal_raceway_dl_A200
|
||||
type: gfx
|
||||
offset: 0xA200
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A478:
|
||||
symbol: d_course_royal_raceway_dl_A478
|
||||
type: gfx
|
||||
offset: 0xA478
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A600:
|
||||
symbol: d_course_royal_raceway_dl_A600
|
||||
type: gfx
|
||||
offset: 0xA600
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A728:
|
||||
symbol: d_course_royal_raceway_dl_A728
|
||||
type: gfx
|
||||
offset: 0xA728
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A8A8:
|
||||
symbol: d_course_royal_raceway_dl_A8A8
|
||||
type: gfx
|
||||
offset: 0xA8A8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_A9D0:
|
||||
symbol: d_course_royal_raceway_dl_A9D0
|
||||
type: gfx
|
||||
offset: 0xA9D0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_AB28:
|
||||
symbol: d_course_royal_raceway_dl_AB28
|
||||
type: gfx
|
||||
offset: 0xAB28
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_AC28:
|
||||
symbol: d_course_royal_raceway_dl_AC28
|
||||
type: gfx
|
||||
offset: 0xAC28
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_AD90:
|
||||
symbol: d_course_royal_raceway_dl_AD90
|
||||
type: gfx
|
||||
offset: 0xAD90
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_AE70:
|
||||
symbol: d_course_royal_raceway_dl_AE70
|
||||
type: gfx
|
||||
offset: 0xAE70
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_AFB0:
|
||||
symbol: d_course_royal_raceway_dl_AFB0
|
||||
type: gfx
|
||||
offset: 0xAFB0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_B040:
|
||||
symbol: d_course_royal_raceway_dl_B040
|
||||
type: gfx
|
||||
offset: 0xB040
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_B188:
|
||||
symbol: d_course_royal_raceway_dl_B188
|
||||
type: gfx
|
||||
offset: 0xB188
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_B230:
|
||||
symbol: d_course_royal_raceway_dl_B230
|
||||
type: gfx
|
||||
offset: 0xB230
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_B2E0:
|
||||
symbol: d_course_royal_raceway_dl_B2E0
|
||||
type: gfx
|
||||
offset: 0xB2E0
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_B3E8:
|
||||
symbol: d_course_royal_raceway_dl_B3E8
|
||||
type: gfx
|
||||
offset: 0xB3E8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_B508:
|
||||
symbol: d_course_royal_raceway_dl_B508
|
||||
type: gfx
|
||||
offset: 0xB508
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_unknown_waypoints:
|
||||
symbol: d_course_royal_raceway_unknown_waypoints
|
||||
offset: 0xB5B8
|
||||
count: 78
|
||||
type: mk64:TRACK_WAYPOINTS
|
||||
d_course_royal_raceway_track_waypoints:
|
||||
symbol: d_course_royal_raceway_track_waypoints
|
||||
offset: 0xB828
|
||||
count: 903
|
||||
type: mk64:TRACK_WAYPOINTS
|
||||
d_course_royal_raceway_tree_model:
|
||||
symbol: d_course_royal_raceway_tree_model
|
||||
type: vtx
|
||||
offset: 0xD460
|
||||
count: 4
|
||||
d_course_royal_raceway_dl_tree:
|
||||
symbol: d_course_royal_raceway_dl_tree
|
||||
type: gfx
|
||||
offset: 0xD4A0
|
||||
d_royal_raceway_peaches_castle_tree_model:
|
||||
symbol: d_royal_raceway_peaches_castle_tree_model
|
||||
type: vtx
|
||||
offset: 0xD538
|
||||
count: 4
|
||||
d_course_royal_raceway_dl_castle_tree:
|
||||
symbol: d_course_royal_raceway_dl_castle_tree
|
||||
type: gfx
|
||||
offset: 0xD578
|
||||
d_course_royal_raceway_piranha_plant_tlut:
|
||||
symbol: d_course_royal_raceway_piranha_plant_tlut
|
||||
type: texture
|
||||
offset: 0xD610
|
||||
width: 16
|
||||
height: 16
|
||||
format: rgba16
|
||||
ctype: u16
|
||||
d_course_royal_raceway_piranha_plant_model:
|
||||
symbol: d_course_royal_raceway_piranha_plant_model
|
||||
type: vtx
|
||||
offset: 0xD810
|
||||
count: 4
|
||||
d_course_royal_raceway_dl_piranha_plant:
|
||||
symbol: d_course_royal_raceway_dl_piranha_plant
|
||||
type: gfx
|
||||
offset: 0xD850
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_dl_D8E8:
|
||||
symbol: d_course_royal_raceway_dl_D8E8
|
||||
type: gfx
|
||||
offset: 0xD8E8
|
||||
otr_mode: index
|
||||
d_course_royal_raceway_piranha_plant_spawn:
|
||||
symbol: d_course_royal_raceway_piranha_plant_spawn
|
||||
type: mk64:spawn_data
|
||||
count: 17
|
||||
offset: 0xD9F0
|
||||
d_course_royal_raceway_tree_spawn:
|
||||
symbol: d_course_royal_raceway_tree_spawn
|
||||
type: mk64:spawn_data
|
||||
count: 33
|
||||
offset: 0xDA80
|
||||
d_course_royal_raceway_item_box_spawns:
|
||||
symbol: d_course_royal_raceway_item_box_spawns
|
||||
type: mk64:spawn_data
|
||||
count: 21
|
||||
offset: 0xDB88
|
||||
d_course_royal_raceway_addr:
|
||||
symbol: d_course_royal_raceway_addr
|
||||
type: mk64:track_sections
|
||||
offset: 0xDC28
|
||||
count: 119
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
:config:
|
||||
vram:
|
||||
addr: 0x800E8700 # not used for anything
|
||||
offset: 0x8FAFF0
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <libultra/gbi.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
d_course_royal_raceway_packed_dls:
|
||||
symbol: d_course_royal_raceway_packed_dls
|
||||
type: blob
|
||||
offset: 0x8FAFF0
|
||||
size: 0x3643
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x8EC390]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x91B980]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
:config:
|
||||
segments:
|
||||
- [0x0F, 0x8C2510]
|
||||
no_compression: true
|
||||
header:
|
||||
code:
|
||||
- '#include <libultraship.h>'
|
||||
|
|
|
|||
Loading…
Reference in New Issue