Commit Graph

36 Commits

Author SHA1 Message Date
coco875 5b79a1c910
Improve cmake, make release need less dependancy and clean up some file (#584)
* Update CMakeLists.txt

* try something to use less dependancy

* improve script

* Delete addr_to_sym.py

* restore dockerfile

* move the docker for release and a script to execute it to script

* Delete build.sh

* move more script to script folder

* add the new docker in the CI

* Update vcpkg.json

* fix windows and macos in theory
2025-12-08 08:49:21 -07:00
MegaMech 6585333092
Camera Refactor --> Adds Track Tour Camera (#568)
* Impl SpawnParams

* Added json submodule

* Update json

* Update

* Works

* Remove comment

* Works refactor

* Snowman and thwomp working

* Impl hot air balloon

* More progress

* All OObjects are done

* cleanup

* Refactor 2Dpath to normal path

* Update nlohmann json & fix compile

* Rest of actors

* MORE CHANGES

* Finish actors

* Done PR, some fix to collision viewer

* Impl falling rocks

* Add const

* wip editor refactor

* Property work

* continue

* Overridable editor properties

* Actor saving/loading works now

* Fix light alignment

* Clarification

* Impl penguin

* params impl signs

* properties impl falling rock

* More property impls

* impl air balloon

* Add spawnParams to OObject Translate

* Snowman translate better

* impl hedgehog properly

* properties impl trophy

* thwomp progress

* Finish impl properties

* Fix compile

* Fix cursor collisions

* Move registered actors

* Rename pathPoint XYZ to xyz

* Fix editor pause bug

* Clean up

* Review comments

* Remove SpawnParams struct from actor classes

* Rename

* Player Label First Iteration

* Work now

* Working 3d text

* Fix boo bug

* Finish AText actor

* Fix spawnparams compile

* Register AText

* Finish Text Actor

* Fix thwomp interpolation

* Fix compile

* Fix crab and hedgehog

* Fix loading flagpole

* Fix Hot Air Balloon

* Turn zbuffer on for AText

* Update

* Camera Refactor

* Camera Refactor Complete

* Place Lookbehind behind a CVar

* Make Tour CVar

* Fix Tour Camera Billboarding

* micro optimization

* Impl tour cam in imgui editor and add to scenefile

* As per review

* Revert cleanWorld change as per review

* Cleanup SceneManager

* Func rename

* Proper enabling of freecam and wip zoom fix

* Couple fix

* Fix credits

* Fix podium ceremony

* Stop music on reset & label new play sequence func

* Rename func_800C8EF8 to play_sequence2

* Rename func_800CA414 to play_sequences

* Fix compile

* Label play_sequences

* Clean up

* Verify lakitu access

* Renames

* Fix tour enable logic

* Add Audio

* tour camera impl ending transition

* As per review

* Fix linux compile, probably

* Update TourCamera.cpp

* Update TourCamera.cpp

* Update TrackProperties.cpp

* Update TrackProperties.cpp

* Update Game.cpp

* Update SceneManager.cpp

* Update camera.c

* Update render_objects.h

* Update render_objects.h

* Update code_80057C60.h

* fixing compile

* addition

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-07 13:14:45 -07:00
coco875 5d4c01b296
Add basic documentation (#416)
* add basic documentation

* Update modding.md

* rename file

* Update custom-characters.md

* Update custom-characters.md

* Update custom-characters.md

* add detail about Scripting
2025-07-04 19:30:04 -06:00
Thomas Rohloff fd5acc8c9a Merge remote-tracking branch 'upstream/main' into docker 2025-07-04 13:10:26 +02:00
Nikita 8132405bab
Add vcpkg.json, change MacOS CI to use that (#346)
* add vcpkg support for installing dependencies

* Change macos CI to use vcpkg for dependencies

* actually fix CI for macos

* fix SDL_net linking

SDL_net was being linked twice

* update baseline
2025-06-24 10:50:46 -06:00
Thomas Rohloff 39b7b7d319 CI: Add Docker build
Signed-off-by: Thomas Rohloff <v10lator@myway.de>
2025-06-24 14:13:51 +02:00
KiritoDv d65d58922a Fixed MacOS Build 2025-03-07 18:32:15 -06:00
KiritoDv 5f8550790a Fixed compilation 2025-03-07 18:00:41 -06:00
KiritoDv 91292d3757 Updated cmake again 2025-02-08 10:54:19 -06:00
inspectredc 058b8e9b19
O2R Support (#158)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-01-18 09:20:38 -07:00
coco875 9cf1f9e1d7
[Modding] start add wasm integration (#84)
* start add wasm integration

* some test

* some improvement

* try more language

* expend try with python

* update

* half working python

* improve and extend test

* get py2wasm work but not so well

* convert to use in cpp

* start prepare multimodule

* improve a little by using cpp (but still not great)

* Update wasm.cpp

* try ocaml

* add a working example of python with a not complete function

* remove type to be even more curse

* start add a proper mod loader

* allow mod to communicate between

* example of hook

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2024-10-05 15:49:07 -06:00
coco875 203090e591
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>
2024-09-17 09:32:50 -06:00
coco875 63b1d0f0c6
Update .gitignore (#26)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2024-07-28 17:32:21 -06:00
MegaMech 532ad5a4c0
Renames & seg 3 & 5 texture fixes (#19)
* Remove tools/torch

* Auto compile torch and extract

* Re-implement soh's implementation of lus implementation of an array

* Fix static actors in mr

* Update

* Updated torch

* Updated lus

* uncomment

* Fix collision

* Renames

* More renaming

* Collision Renames

* Update collision.c

* Collision Documentation (#640)

* Collision related renames

* Update

* update lus

* Bug fixes

* remove tabs

* fixes

* fixes

* Fix kart textures

* Networking

* net

* Add networking

* Update

* Cleanup

* Fix balloon rendering

* Fix lakitu and red shell

* fixes

* Implement new random system

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-07-26 11:29:35 -06:00
MegaMech b594f112e0
Update lus (#16)
* Updates
2024-06-11 09:49:44 -06:00
MegaMech 78a7d156c9
Changes for OTR (#15)
* Bunch of fixes
2024-05-22 19:19:16 -06:00
KiritoDv 1fbf28a78d Fixed more errors, we are rendering the logo, Yay 2024-05-03 18:20:20 -06:00
KiritoDv a2c3feb67a WIP Compilation 2024-05-01 10:09:49 -06:00
coco875 e2c19fd4bc
use github actions instead (#605)
* Create actions
2024-04-12 18:54:59 -06:00
MegaMech 3da5a4f343
Add ymls for Torch code generator (#497)
* Add torch

* update jenkinsfile
2024-04-09 21:29:57 -06:00
coco875 4c4cb36b4d
add compatibilty for Windows build (#564)
* Add Windows Support
* Modify readme instructions for windows building
* Remove unused files
* Modified extract_assets.py, new_extract_assets.py, and build.py to work on windows
2024-02-22 08:33:46 -07:00
MegaMech 7b408209af
docs first setup (#542) 2024-01-13 18:32:53 -07:00
coco875 f1befa8bcd
fix doxygen syms (#506)
* fix doxygen syms

* add the markdown file
2023-12-24 15:42:20 -07:00
Tyler McGavran fcbd54ff8b
Proper linkage for textures in course display lists (#443)
* Proper linkage for textures in course display lists

* Does not use new_extract_assets. This tool is small and easy to maintain on its own.

* Auto generate the linkonly files

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-11-09 06:30:19 -07:00
coco875 d71e1c7b70
finish setup doxygen (#458)
* update and setup doxygen file

* move to docs/html

* Readme - Add link to the documentation
2023-10-13 21:04:33 -06:00
Tyler McGavran 1b67ee01df
New asset extraction utility (#306)
* Add new asset extraction tool. Changes motivated by the quirks of how kart animation frames are stored
 in the ROM.

    each frame has a palette that is actually
    composed of 2 other, incomplete palettes. As such, the existent
    extract.py isn't really able to handle them.

* Move a variety of assets to new extract tool
---------

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-06-17 15:13:06 -06:00
Tyler McGavran e1976267f3
Add a utility that aids in generating m2c output (#279)
* Add a utility to help generate m2c output

* Make a small change to an OS file which fixes a small issue when using m2ctx

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-12-09 19:03:30 -07:00
MegaMech 489e897147
Update gitignore & match more actor funcs (#206)
* import random_u16 to sm64

* rand math decomp

* Match func_80298AC0

* Match some actor funcs

* Renames

* update gitignore for .bin textures

* update player struct member 34 to Vec3f

* Named and documented actor destroy funcs
2022-05-19 13:20:39 -07:00
CoderStig f959f03184
Matched some memory.c and other (#55)
* Matched some memory.c

* And more
2021-11-16 02:39:33 -07:00
CoderStig 1de64dcbe2
Fixed permuter link files (#51) 2021-11-05 14:32:07 -06:00
Faris Awan 5c23113592
Match/split all of libultra (#23)
* libultra from sm64 integrated; 3 libultra functions matched

* All of libultra done!

authored-by: farisawan-2000 <farisawan.2000@gmail.com>
2021-04-27 22:35:30 -06:00
CoderStig 5ef48aa2eb Refresh 1 2021-03-02 01:48:17 -07:00
farisawan-2000 9912b0fd5e updated gitignore 2020-10-15 16:19:50 -04:00
farisawan-2000 d952e14552 added exception for IDO libs 2020-10-15 11:08:49 -04:00
farisawan-2000 69af69fce8 fixed permissions errors in IDO 2020-10-15 01:40:06 -04:00
n64 1c84a90d5e Initial commit 2020-10-14 21:13:33 -07:00