Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,235 changes: 618 additions & 617 deletions ASM/build/asm_symbols.txt

Large diffs are not rendered by default.

Binary file modified ASM/build/bundle.o
Binary file not shown.
1,197 changes: 600 additions & 597 deletions ASM/build/c_symbols.txt

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions ASM/c/get_items.c
Original file line number Diff line number Diff line change
Expand Up @@ -926,6 +926,11 @@ uint8_t item_give_collectible(uint8_t item, z64_link_t* link, z64_actor_t* from_
uint16_t resolved_item_id = resolve_upgrades(collectible_override);
item_row_t* item_row = get_item_row(resolved_item_id);

// If we picked an ice trap, show the ice model instead of the fake item model.
if (item_id == GI_ICE_TRAP) {
pItem->model.graphic_id = 0xA4;
}

// Set the collectible flag
Set_NewFlag(&flag);
//if (item == ITEM00_HEART_PIECE || item == ITEM00_SMALL_KEY) { // Don't allow heart pieces or small keys to be collected a second time. This is really just for the "Drop" types.
Expand Down
14 changes: 14 additions & 0 deletions ASM/c/item_draw_functions.c
Original file line number Diff line number Diff line change
Expand Up @@ -829,3 +829,17 @@ void draw_gi_deku_nut_with_flame(z64_game_t* game, uint32_t draw_id) {

draw_gi_deku_nut(game, draw_id);
}

void draw_ice_trap(z64_game_t* game, uint32_t draw_id) {
z64_gfx_t* gfx = game->common.gfx;
static const float scale = 0.5f;

translate_sys_matrix(0, -25.f, 0, 1);
scale_sys_matrix(scale, scale, scale, 1);
append_setup_dl_25_to_xlu(gfx);
gSPSegment(gfx->poly_xlu.p++, 0x08,
gen_double_tile(gfx, G_TX_RENDERTILE, 0, (0 - game->common.state_frames) % 128, 32, 32, 1, 0, (game->common.state_frames * -2) % 128, 32, 32));
gSPMatrix(gfx->poly_xlu.p++, append_sys_matrix(gfx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetEnvColor(gfx->poly_xlu.p++, 0, 50, 100, 255);
gSPDisplayList(gfx->poly_xlu.p++, item_draw_table[draw_id].args[0].dlist);
}
1 change: 1 addition & 0 deletions ASM/c/item_draw_functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,6 @@ void draw_gi_magic_meter(z64_game_t* game, uint32_t draw_id);
void draw_gi_flame(z64_disp_buf_t* dl, z64_game_t *game, colorRGBA8_t prim, colorRGBA8_t env, z64_xyzf_t translation, z64_xyzf_t scale);
void draw_gi_xlu_with_flame(z64_game_t *game, uint32_t draw_id);
void draw_gi_deku_nut_with_flame(z64_game_t* game, uint32_t draw_id);
void draw_ice_trap(z64_game_t* game, uint32_t draw_id);

#endif
1 change: 1 addition & 0 deletions ASM/c/item_draw_table.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ item_draw_table_entry_t item_draw_table[] = {
[0xA0] = { draw_gi_xlu_with_flame, { 0x060004D0, 0xC0C0C0FF, 0xC0C0C0FF } }, // Deku Stick Upgrade w/ Smoke Effect
[0xA1] = { draw_gi_deku_nut_with_flame, { 0x06000E90, 0xC0C0C0FF, 0xC0C0C0FF } }, // Deku Nut Upgrade w/ Smoke Effect
[0xA2] = { draw_gi_magic_meter, { 0x06000000, 0x06000CC0, 0x06000F08, 0x060014E8, 0x286428FF, 0x000000FF } }, // Magic Meter Scroll 2
[0xA3] = { draw_ice_trap, { 0x04034380 } }, // Ice trap
};

void base_draw_gi_model(z64_game_t* game, uint32_t draw_id) {
Expand Down
2 changes: 1 addition & 1 deletion ASM/c/item_table.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ item_row_t item_table[GI_RANDO_MAX] = {
[GI_DEKU_NUT_UPGRADE_30] = ITEM_ROW(0x53, BROWN_CHEST, 0x9A, -1, 0x00A7, 0x00BB, 0xA2, no_upgrade, no_effect, -1, -1, NULL), // Deku Nut Upgrade (30)
[GI_DEKU_NUT_UPGRADE_40] = ITEM_ROW(0x53, BROWN_CHEST, 0x9B, -1, 0x00A8, 0x00BB, 0xA2, no_upgrade, no_effect, -1, -1, NULL), // Deku Nut Upgrade (40)
[GI_BULLET_BAG_50] = ITEM_ROW(0x53, GILDED_CHEST, 0x49, -1, 0x006C, 0x017B, 0x73, no_upgrade, no_effect, -1, -1, NULL), // Bullet Bag (50)
[GI_ICE_TRAP] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9002, 0x0000, 0x00, no_upgrade, ice_trap_effect, -1, -1, NULL), // Ice Trap
[GI_ICE_TRAP] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9002, 0x0000, 0xA4, no_upgrade, ice_trap_effect, -1, -1, NULL), // Ice Trap

[GI_CAPPED_PIECE_OF_HEART] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x41, -1, 0x90C2, 0x00BD, 0x14, no_upgrade, full_heal, -1, -1, NULL), // Capped Piece of Heart
[GI_CAPPED_HEART_CONTAINER] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x41, -1, 0x90C6, 0x00BD, 0x13, no_upgrade, full_heal, -1, -1, NULL), // Capped Heart Container
Expand Down
2 changes: 1 addition & 1 deletion data/generated/patch_symbols.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading