diff options
| author | coco875 <59367621+coco875@users.noreply.github.com> | 2024-09-17 17:32:50 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-17 09:32:50 -0600 |
| commit | 203090e5913f79df01ee273e40dea03b294f061e (patch) | |
| tree | 2ee78c50742b20238c07610b8ba9f7f93c3a80e1 /src/racing | |
| parent | d36d7dcd604d0f85b6b547a85e9b7a4fe3e59b5c (diff) | |
update with the decomp (#97)
* Update menus.c (#634)
* Update common_data.yml (#635)
* Renames for screenId and other changes (#636)
* screenId renames
* Rename surface map to collision mesh (#637)
* Rename some stack vars (#638)
* Fix syntax error (#639)
* Rename some stack vars
* Update collision.c
* Collision Documentation (#640)
* Collision related renames
* update doxygen (#649)
* change bool (#644)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Update (#642)
* Delete trig_tables_bss.c (#650)
* fix typo audio (#656)
* fix typo src actor (#657)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix typo include (#658)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix course (#659)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix typo debug (#660)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix typo data (#661)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* replace number with const (#665)
* fix typo buffers (#655)
* fix typo buffers
* tweak ld file
* rename to sMemoryPool
* add a warning
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix typo src (#654)
* fix typo src
* fix non matcing
* Update code_80091750.c
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix typo racing (#653)
* fix typo racing
* get it match
* replace G_LINE3D to G_QUAD
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix typo src (#652)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* fix ending typo (#651)
* Action more info when it doesn't match and fix first diff (#662)
* Update linux-compile.yml
* fix first-diff
* Update first-diff.py
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* document texture of kart (#663)
* document texture of kart
* change screenPlayerId to screenId
* some documentation around object
* Revert "some documentation around object"
This reverts commit cbb39078e036bf2a417bed67359e910213acab28.
* more rename
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Make evaluate_collision_players_palm_tree better (#667)
This matches just the same as before, but using those two casts instead of
shifts seems more likely to be accurate to the original source code
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
* add fedora instruciton (#666)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* start documenting animation (#668)
* start documenting animation
* Update course_data.c
* change comment
* update libultra asm (#648)
* update libultra asm
* fix gcc __osThreadTail
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Document Vehicles (#641)
* start doc collision
* fix merge
* finish rename fonction related to vehicle
* document around waypoint of vehicle
* make some modification
* make some change and rename one
* copy_ to oldPos
* doc smoke ferry and train
* some rename
* fix some renaming
* precise index
* rename a funciton
* simplify waypoint_vehicles
* change some name
* change some name
* rename move_to_point_direction
* fix some conflict
* Update code_80005FD0.c
* Update code_80005FD0.h
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Label a save info loop (#645)
* save info
* more gcc progress
* fix a value and do a rename (#669)
* update clang and add action (#664)
* update clang and add action
* try clang on course folder only
* forget two file
* Update course_displaylists.inc.c
* forget few other file
* Update course_vertices.inc.c
* format all code while get it match
* second pass
* format other dir
* disable clang format on bad ido code
* fix some tabulation
* revert format on tool dir
* Update clang-format.yml
* ignore gbi.h
* add some read me instruction
* fix error
* format and fixing error
* Update README.md
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Update linkonly_generator.py (#670)
* some rename for torch (#588)
* rename gBombKartSpawns, and fix cup ID
* Update doxygen_syms.md
* rename for gCourseIndexInCup and his constant
* rename to gCupSelectedCourseIndex
* forget a change in constant
* fix compilation issue
* Update Dockerfile to latest Ubuntu LTS + fixed missing cmake (#674)
* Fix color font matrix function (#676)
* Fix label variables used in menus (#675)
* Fix label variables used in menus
* split D_800F2BDC and clang format menu.c
---------
Co-authored-by: coco875 <pereira.jannin@gmail.com>
* Fix some libultra struct types (#677)
* Uintptr (#671)
* Update render_courses.c
* Update math_util.c
* Update math_util.c
* Update math_util.h
* Update render_courses.c
* Clang suggest (#678)
* add clang suggestion
* Update clang-format-suggest.yml
* Update clang-format-suggest.yml
* simplify
* switch to ubuntu
* Update clang-format-suggest.yml
* update ubuntu
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* Clang pr (#679)
* Create clang-pr.yml
* Update clang-pr.yml
* Update osCreateMesgQueue.c
* Update osCreateMesgQueue.c
* Update clang-pr.yml
* Update clang-pr.yml
* Update clang-format.yml
* clang format (#680)
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
* some rename in ceremony (#647)
* rename ceremony
* apply some suggestion
* some rename
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* clang format (#681)
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
* Rename Object Timing Related Code (#673)
* start making models extraction with blender
* finishing extract model
* Update fast64
* extract course
* Update fast64
* Update fast64
* simplify import of course_displaylists and course_textures and remplace adress with texture
* Update fast64
* change data format and simplify the thread queue
* move in a blender folder
* remove fast64
* re add fast64
* add model_extract and fast64_blender in makefile
* multithread with make file split the models into multiple json and add course segment
* Update fast64
* remove old model_extract
* remove the error when he don't find blender
* start rename around course section
* rename around object
* update submodule fast64
* fix compilation issue and add some model to extract
* Update fast64
* remove fast64
* re add fast64
* update submodule
* fix compilation issue
* add other collision gfx and prepare reorganise file
* re arrange json
* Create README.MD
* Update README.MD
* Update README.MD
* update fast64
* rename to initiate_next_state
* Revert "Merge branch '3d-objects' into general-object"
This reverts commit f5347b38cc75af4d10ee3726dc1524c1c71d6849, reversing
changes made to a353c4d954fb5b50c8b48fe3f9d67c95ccaab299.
* revert the revert...
* revert 3d-models PR
* finish some revert
* Update code_80005FD0.c
* fix code_80091750.c
* Update code_80091750.c
* rename isTimerRunning to isTimerActive and set_object_timer_running to set_object_timer_state
* rename to initialize_next_state
* rename to object_next_state
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* extract models with blender (#577)
* start making models extraction with blender
* finishing extract model
* Update fast64
* extract course
* Update fast64
* Update fast64
* simplify import of course_displaylists and course_textures and remplace adress with texture
* Update fast64
* change data format and simplify the thread queue
* move in a blender folder
* remove fast64
* re add fast64
* add model_extract and fast64_blender in makefile
* multithread with make file split the models into multiple json and add course segment
* Update fast64
* remove old model_extract
* remove the error when he don't find blender
* start rename around course section
* update submodule fast64
* fix compilation issue and add some model to extract
* Update fast64
* remove fast64
* re add fast64
* update submodule
* fix compilation issue
* add other collision gfx and prepare reorganise file
* re arrange json
* Create README.MD
* Update README.MD
* Update README.MD
* update fast64
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* other
* fix some error of compilation
* finish fix all error
---------
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
Co-authored-by: Gabriel Ravier <gabravier@gmail.com>
Co-authored-by: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com>
Co-authored-by: AloXado320 <38191089+AloXado320@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Diffstat (limited to 'src/racing')
| -rw-r--r-- | src/racing/math_util.c | 2 | ||||
| -rw-r--r-- | src/racing/math_util.h | 3 | ||||
| -rw-r--r-- | src/racing/race_logic.c | 6 | ||||
| -rw-r--r-- | src/racing/render_courses.c | 87 |
4 files changed, 49 insertions, 49 deletions
diff --git a/src/racing/math_util.c b/src/racing/math_util.c index 44e07e6aa..a243a066e 100644 --- a/src/racing/math_util.c +++ b/src/racing/math_util.c @@ -419,7 +419,7 @@ void func_802B5CAC(s16 arg0, s16 arg1, Vec3f arg2) { } void func_802B5D30(s16 arg0, s16 arg1, s32 arg2) { - func_802B5D64(0x9000000, arg0, arg1, arg2); + func_802B5D64((Lights1*) 0x9000000, arg0, arg1, arg2); } void func_802B5D64(Lights1* addr, s16 arg1, s16 arg2, s32 arg3) { diff --git a/src/racing/math_util.h b/src/racing/math_util.h index e322724ad..a9c396ad6 100644 --- a/src/racing/math_util.h +++ b/src/racing/math_util.h @@ -4,6 +4,9 @@ #include <libultraship.h> #include <common_structs.h> +// #define sins(x) gSineTable[(u16) (x) >> 4] +// #define coss(x) gCosineTable[(u16) (x) >> 4] + // #define min(a, b) ((a) <= (b) ? (a) : (b)) // #define max(a, b) ((a) > (b) ? (a) : (b)) diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index b73833fc5..4f7ea8c50 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -144,16 +144,16 @@ void func_8028E3A0(void) { if (D_80150120) { - if (gCupCourseSelection == CUP_COURSE_FOUR) { + if (gCourseIndexInCup == COURSE_FOUR) { gGotoMode = ENDING; } else { D_800DC544++; - gCupCourseSelection++; + gCourseIndexInCup++; gGotoMode = RACING; } } else { D_800DC544++; - gCupCourseSelection++; + gCourseIndexInCup++; gGotoMode = RACING; } } diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index 9ce24b7d3..00283ca8c 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -78,7 +78,7 @@ extern u32 isFlycam; void render_course_segments(const char* addr[], struct UnkStruct_800DC5EC* arg1) { Player* player = arg1->player; Camera* camera = arg1->camera; - s16 var_a3; + s16 direction; s16 index; s16 sp1E; s16 temp_v0_3; @@ -86,31 +86,31 @@ void render_course_segments(const char* addr[], struct UnkStruct_800DC5EC* arg1) if (gIsMirrorMode) { rot = (u16) camera->rot[1]; if (rot < 0x2000) { - var_a3 = 2; + direction = SOUTH; } else if (rot < 0x6000) { - var_a3 = 3; + direction = WEST; } else if (rot < 0xA000) { - var_a3 = 0; + direction = NORTH; } else if (rot < 0xE000) { - var_a3 = 1; + direction = EAST; } else { - var_a3 = 2; + direction = SOUTH; } } else { rot = (u16) camera->rot[1]; if (rot < 0x2000) { - var_a3 = 2; + direction = SOUTH; } else if (rot < 0x6000) { - var_a3 = 1; + direction = EAST; } else if (rot < 0xA000) { - var_a3 = 0; + direction = NORTH; } else if (rot < 0xE000) { - var_a3 = 3; + direction = WEST; } else { - var_a3 = 2; + direction = SOUTH; } } - arg1->playerDirection = var_a3; + arg1->playerDirection = direction; if (D_80152300[camera - camera1] == 1) { sp1E = get_track_section_id(camera->collision.meshIndexZX); @@ -176,7 +176,7 @@ void render_course_segments(const char* addr[], struct UnkStruct_800DC5EC* arg1) } arg1->pathCounter = index; - index = ((index - 1) * 4) + var_a3; + index = ((index - 1) * 4) + direction; gSPDisplayList(gDisplayListHead++, addr[index]); if (CVarGetInteger("gDisableLod", 0) == 1 && gCurrentCourseId == COURSE_BOWSER_CASTLE && @@ -530,7 +530,7 @@ void func_8029122C(struct UnkStruct_800DC5EC* arg0, s32 playerId) { void render_mario_raceway(struct UnkStruct_800DC5EC* arg0) { UNUSED s32 pad; u16 sp22 = arg0->pathCounter; - u16 temp_t0 = arg0->playerDirection; + u16 playerDirection = arg0->playerDirection; gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -551,20 +551,20 @@ void render_mario_raceway(struct UnkStruct_800DC5EC* arg0) { case 1: case 2: case 17: - if ((temp_t0 == 2) || (temp_t0 == 1)) { + if ((playerDirection == 2) || (playerDirection == 1)) { func_802911C4(); } break; case 3: - if (temp_t0 != 0) { + if (playerDirection != 0) { func_802911C4(); } break; case 4: - if (temp_t0 == 0) { + if (playerDirection == 0) { func_80291198(); } else { - if (temp_t0 == 1) { + if (playerDirection == 1) { func_80291198(); } func_802911C4(); @@ -572,7 +572,7 @@ void render_mario_raceway(struct UnkStruct_800DC5EC* arg0) { break; case 5: case 6: - if ((temp_t0 == 2) || (temp_t0 == 3)) { + if ((playerDirection == 2) || (playerDirection == 3)) { func_802911C4(); } else { func_80291198(); @@ -580,37 +580,37 @@ void render_mario_raceway(struct UnkStruct_800DC5EC* arg0) { break; case 7: func_80291198(); - if ((temp_t0 == 2) || (temp_t0 == 3)) { + if ((playerDirection == 2) || (playerDirection == 3)) { func_802911C4(); } break; case 8: case 9: - if (temp_t0 != 1) { + if (playerDirection != 1) { func_802911C4(); } /* fallthrough */ case 10: - if (temp_t0 != 2) { + if (playerDirection != 2) { func_80291198(); } break; case 11: - if (temp_t0 == 0) { + if (playerDirection == 0) { func_802911C4(); func_80291198(); - } else if (temp_t0 == 3) { + } else if (playerDirection == 3) { func_802911C4(); } break; case 12: - if ((temp_t0 == 0) || (temp_t0 == 3)) { + if ((playerDirection == 0) || (playerDirection == 3)) { func_802911C4(); } break; case 13: case 14: - if (temp_t0 != 1) { + if (playerDirection != 1) { case 15: case 16: func_802911C4(); @@ -712,7 +712,7 @@ void render_bowsers_castle(struct UnkStruct_800DC5EC* arg0) { if (D_802B87BC > 255) { D_802B87BC = 0; } - render_course_segments(bowsers_castle_dls, arg0); + render_course_segments((uintptr_t) bowsers_castle_dls, arg0); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); @@ -785,7 +785,7 @@ void render_yoshi_valley(struct UnkStruct_800DC5EC* arg0) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_MODULATEI); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - render_course_segments(yoshi_valley_dls, arg0); + render_course_segments((uintptr_t) d_course_yoshi_valley_dl_list, arg0); gDPPipeSync(gDisplayListHead++); } @@ -804,7 +804,7 @@ void render_frappe_snowland(struct UnkStruct_800DC5EC* arg0) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); - render_course_segments(frappe_snowland_dls, arg0); + render_course_segments((uintptr_t) d_course_frappe_snowland_dl_list, arg0); } void render_koopa_troopa_beach(struct UnkStruct_800DC5EC* arg0) { @@ -824,7 +824,7 @@ void render_koopa_troopa_beach(struct UnkStruct_800DC5EC* arg0) { gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); // d_course_koopa_troopa_beach_packed_dl_9688 gSPDisplayList(gDisplayListHead++, segmented_gfx_to_virtual(0x07009688)); - render_course_segments(koopa_troopa_beach_dls1, arg0); + render_course_segments(d_course_koopa_troopa_beach_dl_list1, arg0); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); @@ -971,7 +971,7 @@ void render_luigi_raceway(struct UnkStruct_800DC5EC* arg0) { void render_moo_moo_farm(struct UnkStruct_800DC5EC* arg0) { UNUSED s32 pad[13]; s16 temp_s0 = arg0->pathCounter; - s16 temp_s1 = arg0->playerDirection; + s16 playerDirection = arg0->playerDirection; func_802B5D64(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -988,53 +988,50 @@ void render_moo_moo_farm(struct UnkStruct_800DC5EC* arg0) { render_course_segments(moo_moo_farm_dls, arg0); if ((temp_s0 < 14) && (temp_s0 > 10)) { - if ((temp_s1 == 2) || (temp_s1 == 3) || (temp_s1 == 1)) { + if ((playerDirection == 2) || (playerDirection == 3) || (playerDirection == 1)) { gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_13FF8); } } else if (temp_s0 < 16) { gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_13FF8); } else if (temp_s0 < 19) { - if (temp_s1 != 2) { + if (playerDirection != 2) gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_13FF8); - } } else if (temp_s0 < 20) { - if (temp_s1 == 0) { + if (playerDirection == 0) gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_13FF8); - } } gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_MODULATEI); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); if ((temp_s0 >= 16) && (temp_s0 < 24)) { - if ((temp_s1 == 2) || (temp_s1 == 3)) { + if ((playerDirection == 2) || (playerDirection == 3)) { // d_course_moo_moo_farm_packed_dl_5410 gSPDisplayList(gDisplayListHead++, segmented_gfx_to_virtual(0x07005410)); } } else if (temp_s0 < 9) { - if (temp_s1 == 2) { + if (playerDirection == 2) { // d_course_moo_moo_farm_packed_dl_5410 gSPDisplayList(gDisplayListHead++, segmented_gfx_to_virtual(0x07005410)); } } if (temp_s0 < 4) { - if (temp_s1 != 0) { + if (playerDirection != 0) { gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060); } } else if (temp_s0 < 8) { - if (temp_s1 == 2) { + if (playerDirection == 2) { gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060); } } else if (temp_s0 >= 22) { gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060); } else if (temp_s0 >= 18) { - if ((temp_s1 == 0) || (temp_s1 == 3)) { + if ((playerDirection == 0) || (playerDirection == 3)) gSPDisplayList(gDisplayListHead++, d_course_moo_moo_farm_dl_14060); - } } gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); @@ -1056,7 +1053,7 @@ void render_toads_turnpike(struct UnkStruct_800DC5EC* arg0) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_PASS2); gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2); - render_course_segments(toads_turnpike_dls, arg0); + render_course_segments((uintptr_t) d_course_toads_turnpike_dl_list, arg0); gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2); gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_PASS2); @@ -1111,7 +1108,7 @@ void render_sherbet_land(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_MODULATEI); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); - render_course_segments(sherbet_land_dls, arg0); + render_course_segments((uintptr_t) sherbet_land_dls, arg0); } void render_rainbow_road(UNUSED struct UnkStruct_800DC5EC* arg0) { @@ -1275,7 +1272,7 @@ void render_dks_jungle_parkway(struct UnkStruct_800DC5EC* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); - render_course_segments(dks_jungle_parkway_dls, arg0); + render_course_segments((uintptr_t) d_course_dks_jungle_parkway_unknown_dl_list, arg0); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } |
