176 Commits
Author SHA1 Message Date
Waterdish 5cadb5923d Modern Menu GUI Scaling Hacks 2024-11-14 23:12:27 -08:00
Waterdish f51b428de4 Bump version in config files 2024-11-14 21:18:02 -08:00
Waterdish 7fb49b5e01 1.1.1 Update 2024-11-14 20:59:31 -08:00
ArchezandGitHub 5a735395da Merge pull request #853 from HarbourMasters/develop-satoko
develop-satoko -> develop
2024-11-13 23:49:02 -05:00
ArchezandGitHub dda4e4b5c9 Bump Satoko Bravo (#852) 2024-11-13 22:10:44 -05:00
ArchezandGitHub 6d76ce9f5e Fix crashing with modern menu and UIWidgets with no tooltips (#851)
* Fix crashing with modern menu and UIWidgets when null is passed for tooltips

* move to shiputils
2024-11-13 20:13:54 -05:00
ArchezandGitHub e0ed28543b Improve extended culling options and account for song cutscene fading (#850)
* Improve extended culling options and account for song cutscene fading

* unify actor distance sliders into one
2024-11-13 17:49:47 -05:00
ArchezandGitHub 1afe496fed Fix clock spinning violently from undefined behavior with bad casting (#849) 2024-11-13 14:18:47 -05:00
ArchezandGitHub 31685557d2 Fix linux auto rom detection for built-in extractor (#842) 2024-11-12 11:13:44 -05:00
ArchezandGitHub cf92349436 Fix skip intro and skip first cycle logic running when it shouldn't (#846) 2024-11-12 11:00:45 -05:00
MalkierianandGitHub 8a74695a74 Cleanup Controller Navigation Option in Menu (#847)
* Change references of menubar in controller navigation option to menu, and change SOH to 2s2h.

* 2s2h to 2Ship
2024-11-12 10:50:19 -05:00
ArchezandGitHub ebb9e3fc8e Fix modern menu not interacting properly with some mouse events (#844) 2024-11-12 10:39:29 -05:00
ArchezandGitHub 01b127b7f3 Fix GfxPrint for Japanese UTF8 characters (#843) 2024-11-12 10:30:27 -05:00
ArchezandGitHub 422839dea4 Fix linux crash with KeepExpressMail (#840) 2024-11-12 10:15:30 -05:00
ArchezandGitHub a2e93687f6 Fix crash when toggling alt assets while paused (#839) 2024-11-12 10:06:35 -05:00
ArchezandGitHub fab4340461 Various fixes for spelling and save editor time change lightning state (#841)
* Set lightning off when changing save time

* various typo fixes
2024-11-12 10:01:16 -05:00
Garrett CoxandGitHub b7a607b765 Fix some issues caused by the extended scene geometry enhancement by patching DLs (#830) 2024-11-11 22:43:03 -06:00
MalkierianandGitHub 4669337a3f Bump LUS to OpenGL Patch commit. (#837) 2024-11-11 23:06:50 -05:00
EbloandGitHub 7b11b129f7 Use global player for sword magic form check hook (#828) 2024-11-11 10:19:07 -05:00
EbloandGitHub b18eb6b649 Use correct CVar name for modern menu climb speed (#833) 2024-11-10 23:19:18 -05:00
Waterdish 0879154432 Bump Version to 1.1.0 2024-11-10 18:19:45 -08:00
Waterdish f1698ae721 Merge Upstream 2024-11-10 17:45:18 -08:00
Garrett CoxandGitHub ad50070aba Bump for Satoko Alfa (#825) 2024-11-09 20:43:03 -06:00
ArchezandGitHub 449a2ebc70 Archive version checking and regeneration (#822)
* Add archive version checking and regeneration

* update building docs and copy assets for visual studio
2024-11-09 20:15:10 -06:00
be70a5a123 Item tracker (#707)
* Core tracker code mostly done.

* Format

* Clean up enums.

* Format

* Header cleanup

* Update

* use CVars

* format

* Add editor to modern menu

* format

* Fix item tracker cvar loading/saving and add item tracker button for modern menu

* update button label

---------

Co-authored-by: Archez <archez39@me.com>
2024-11-08 11:51:58 -05:00
ArchezandGitHub d1bbba626d Add alt assets toggle to menus (#824)
* Add alt assets toggle to menus

* Add toggle to control alt asset hotkey
2024-11-07 18:08:37 -05:00
ArchezandGitHub 2141922ee3 Fix authentic overflowed textures (#794)
* fix authentic overflow textures

* Add overflow assets and enable patching them
2024-11-05 23:25:31 -05:00
ArchezandGitHub c2ec2f2cc3 Fix installed macports detection for github runner (#821) 2024-11-05 23:17:14 -05:00
EbloandGitHub 207df24ffd Fix bug with two-handed sword magic and dance (#819) 2024-11-03 15:13:09 -06:00
Garrett CoxandGitHub 0966633d2a Implement simple notifications system (#816)
* Implement simple notifications system

* Remove demoWindow call

* Fix initializer order
2024-11-02 15:44:21 -05:00
50bc007d46 Adds an option to the save editor to invert Stone Tower (#812)
* add option to invert st in save editor

* only allow inverting in stone tower scenes

* change tooltip to disabledTooltip

Co-authored-by: Archez <Archez@users.noreply.github.com>

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-10-31 00:37:24 -04:00
Garrett CoxandGitHub 941b48b802 Add swordsman school options (#779) 2024-10-26 14:28:08 +09:00
louist103andGitHub cbc89b8af4 Fix item id type (#813)
* fix wrong type

* Update z_kaleido_item.c
2024-10-21 10:51:47 -05:00
MegaMechandGitHub 9cd2f6e784 Update BUILDING.md (#810) 2024-10-15 17:39:07 +00:00
EbloandGitHub 64ebfa222e [Enhancement] Two-handed sword spin attacks (#679)
* Enhancement to enable magic for 2-handed swords

Create a new magic charge size for the two-handed swords
Add utility method for determining if the held item's button is being pressed, not just B

* Clean up two-handed sword spin attacks

Add hook for thunder matrix transformation, move that logic into TwoHandedSwordSpinAttack
Move held item button press function into TwoHandedSwordSpinAttack.cpp
Add enhancement to the searchable menu
Clean up logic for magic spin attack form check
Use variadic args for hooks

* Remove redundant includes from TwoHandedSwordSpinAttack.cpp

* Use extern on TwoHandedSwordSpinAttack structs
2024-10-10 14:38:51 -05:00
Garrett CoxandGitHub 0129959d7b Fix fairy container and seahorse rendering (#804) 2024-10-10 13:38:58 -05:00
EbloandGitHub 3ebfdb3928 [Enhancement] Skip the scarecrow song (#723)
* Add enhancement to skip the scarecrow song

* Update SkipScarecrowSong to use variadic args
2024-10-10 10:51:05 -05:00
bb386e25a0 [Enhancement] Enable putaway as Fierce Deity (#717)
* Add enhancement to enable putaway as Fierce Deity

* Fix hooks for putaway and FD sword wield

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-10-10 07:51:05 -05:00
balloondude2andGitHub 4d3c39224c [Enhancement] Add First Cycle Skip (#716)
* add option to skip first cycle

* nest cycle skip in intro skip

* set persistant flags from first cycle

* better comments

* missed a flag

* add modern menu option

* clang format

* add entrance cutscene flags
2024-10-09 23:48:21 -05:00
EbloandGitHub 0b16bced84 [Cheat] Allow Elegy of Emptiness anywhere (#712)
* Add cheat to allow Elegy of Emptiness anywhere

* Use modern menu for Elegy Anywhere, rename VB

Removed redundant null from Elegy scene check
Moved ElegyAnywhere enhancement's menu order

* Remove extraneous widgets from ElegyAnywhere menu
2024-10-09 23:46:05 -05:00
balloondude2andGitHub b7d7a2d9bf [Enhancement] Add option to always get the Cremia Hug Cutscene after completing the milk run (#688)
* Cremia always gives hugs after getting Romani Mask. Adds enhancement option but the option doesn't change anything yet

* moved cremia enhancement out of cutscene files

* hook works now

* change enhancement to picklist

* cleaned conditional

* move to minigame section and add modern menu item

* clang format
2024-10-08 23:26:13 -05:00
ArchezandGitHub fa702ed90c Extract pause maps and minimaps, support alt assets, fix pause map icons (#780)
* extract pause maps and minimaps and support alt assets

* Fix missing door transitions on pause menu map
2024-10-07 13:05:17 -04:00
mckinleeandGitHub 7e10b1315e [Enhancement] Disable Takkuri Steal (#776)
* simple and works

* implement proxy's feedback
Co-authored-by: Garrett Joe Cox <garrettjcox@gmail.com>

* forgot to remove unneeded check from testing

* remove null arg

* simple and works

* implement proxy's feedback
Co-authored-by: Garrett Joe Cox <garrettjcox@gmail.com>

* forgot to remove unneeded check from testing

* remove null arg

* changes

* bump lus

* add checkbox to modern menu

* clang

* archez feedback

* proxy feedback
2024-10-07 11:02:36 -05:00
ArchezandGitHub cae9c27c62 Add HD support for Igos room curtains (#783) 2024-10-07 10:25:34 -05:00
Garrett CoxandGitHub cd4ee56d48 Implement faster song playback enhancement (#801) 2024-10-07 10:25:09 -05:00
Garrett CoxandGitHub 790d36bfbc Add options for first person aiming (#596) 2024-10-06 20:55:16 -05:00
MalkierianandGitHub da793a5bf2 Fix Sidebar Search (#796)
* Ensures the sidebar search gets added if on at boot.
Searches the sidebar entries to find an entry with a label that matches the searchSidebarEntry label to delete when disabling sidebar search, just in case something goes wrong and it's not actually where it's supposed to be (sidebarSearchIndex).

* ... clang...
2024-10-05 12:54:23 -04:00
ArchezandGitHub 69edc89292 [Enhancement] Keep Express Mail in the same cycle (#791)
* Add enhancement for reusing letter to mama in one cycle

* add menu widget item for express mail
2024-10-05 12:54:00 -04:00
Garrett CoxandGitHub a93f011253 Move GameInteractor & NameTag src up to root of 2s2h (#799) 2024-10-05 10:33:10 -05:00
4c670ad342 Use glob_recurse across all of 2s2h/ (#797)
* Use glob_recurse across all of 2s2h/

* Update mm/CMakeLists.txt

Co-authored-by: Archez <Archez@users.noreply.github.com>

* Remove old source_group calls

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-10-05 10:13:31 -05:00
Garrett CoxandGitHub d9d6dbdf51 Remove unnecessary headers in favor of directory headers (#800) 2024-10-05 10:06:49 -05:00
Garrett CoxandGitHub da04b7f859 Change GI_VB_ to VB_ (#798) 2024-10-05 10:02:53 -05:00
Garrett CoxandGitHub 8e0b482b23 Fix crash when search contains only spaces (#795) 2024-10-05 10:25:10 -04:00
ArchezandGitHub d3933591b5 Simplify Pause Warp confirming logic and message handling (#793) 2024-10-04 15:30:10 -04:00
Garrett CoxandGitHub f31674a12e Add fix for ikana great fairy fountain color (#788) 2024-10-03 16:02:51 -04:00
c474a82a94 Mirror Mode (#535)
* Mirror mode initial version

* Update mm/src/code/z_actor.c

Co-authored-by: Archez <Archez@users.noreply.github.com>

* mirror mode support for minimaps and dungeon pause map

* mirror mode support overworld pause map and song of soaring

* mirror mode support for various remaining things

* mirror mode support pause warp enhancement

* Add searchable menu item

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
Co-authored-by: Archez <archez39@me.com>
2024-10-02 23:44:36 -04:00
71c2c94ece Modern menu (#701)
* Start the framework.

* Start header bar.

* Header buttons now toggle. Sections show accordingly.
Basic audio section done. Needs subdividing for sane widget widths.

* Add fonts and multiple sizes.
Add graphics settings to menu.

* Finalized fonts, more sizes.

* Modularized the menu structure. Has an errant EndChild somewhere.

* Finished first step modularization.
Parameterized menu height.

* Some adaptive menu size.

* Moved all enhancements over and organized.
Tried to add button option for sidebar entries.

* Finished Enhancements Menu.
Sidebar window button still broken (can't reference window variables properly, not drawing in the right place).

* Developer Tools header started.
Menu now pops out with a checkbox in Developer Tools.
Menu sizing works for smaller game sizes.
Popout docking disabled.
Port bool added for disallowing popout regardless of cvar.

* Better auto-sizing. Columns collapse to 1 below 800 window width, and scroll.

* Move inside of HudEditorWindow::DrawElement to DrawContents, and call DrawContents from DrawElement.

* Menu resizability complete.
Menu popout complete.
Menu popout position/size is retained when popped in.
Apply HUD editor changes, draw contents in menu if window is closed.
All child sizes properly calculated.
SidebarEntry drawing separated into its own custom element.

* Split header entries into separate widget.
Header now dynamically sized and shows scrollbar when necessary.

* Modify EventLog to be drawable with the DrawContents setup.
Prevent menu from covering other windows (always in back).

* Add reset, close menu, and quit buttons to the header.

* Fix reset and quit button placement.

* Swap Actor Viewer, Collision Viewer, Save Editor to DrawContents concept.
Change reset icon to FA_ICON_UNDO (single arrow) and quit icon to FA_ICON_POWER_OFF.
Add button to close menu button tooltip, add parentheses to button for reset tooltip.

* Custom InputEditorWindow to work with menu.
Fix LUS references in Menu.cpp for Window backend changes.
Implement gamepad navigation and forced cursor visibility checkboxes.
Toggle cursor visibility according to menu status and forced visibility CVar.

* clang-format

* Swap std for fmt (runner build error).
Ensure cursor visibility is restored if started in full screen with the menu open.

* Oops, still had #include <format>

* Swap to LUS GetMenu() functionality.
Add option to hide "F1 to open enhancements menu" text at startup if menus aren't open.

* Remove last vestiges of pre-LUS-menu functionality.

* cleanup

* Adapt to GuiElement, GuiWindow changes on the menu support PR.

* LUS PR bump.
Adapt to cursor visibility changes in LUS.
Adapt to menu toggle changes in LUS.
Fix input editor not hiding in menu when popped out.

* Add new enhancements and cheats to Modern Menu from rebase.

* clang

* Apply Graphics Menu Lag Fix to Menu structure.

* Remove unnecessary window children to simplify controller navigation.

* clang

* Add `UpdateWindowBackendObjects()` call to backend combobox.

* Rebase to latest develop. Remove redundant window backend stuff that exists now in BenMenuBar.

* Search Enhancement (#2)

* 90% complete, Commit for review.

* Updated remaining Menu Entries, Reverted Backends and other Window Buttons for now.

Motion Blur copied to Search Menu.

* Did I mention I dislike this clang thing? lol

* Updating MotionBlur options and reverting soem things.

* Integrates .disabled and .disabledTooltip to the constructors. Allows for multiple qualifications to be checked against for disabling widgets and for setting the tooltip accordingly.

* Updated Disabled Reasoning

* Better Disabled State registration system

* Clean up from testing

* Expand WidgetOptions to be able to handle string and float values. bool and uint32_t are handled through int32_t.
Numerous renames.
Added several data structures to allow for dynamic updating of CVars for DisableOptions, as well as dynamic evaluation of status with enumerated conditions (less than, greater than, equal to).
Added menuThemeIndex variable to store state of menu theme selection instead of having all the individual calls to CVarGetInteger for it. Updated once per frame.

* Changed color vector to map with enum as key and UIWidget::Colors as the value.
More renames.
Moved float slider values into case block.

* Add Color_RGB8 and Color_RGBA8 to CVarVariant in preparation for adding color widgets to menu item system.
Not happy it required comparison operator overrides, but it is what it is.

* Changed disable conditions to lambdas.

* Convert Stats and Collision Viewer to menu item system.
Swap out DisableOption vector for activeDisables and a lambda function for evaluating disabled and hidden. Set the precedent to still use the DisableInfo system.

* Add DisableOption for both camera settings being off.
Put Debug Camera in Free Look column, disable common widgets for both cameras, hide widgets specific to either if off.

* Moved more widgets to MenuItem system. Some need proper initialization routines because of Ship::Context references.

* Convert menu items to nested vector setup.
Remove MenuItem enum.
Add menu item location display to search results.

* Partial removal of SidebarEntryIndex enum.

* Finish removing SidebarEntryIndex.
Rework drawing code to handle the change back to direct vector access.
Add tooltips to search.

* Fix Graphics enhancements section title.

* Copy added menu items to modern menu system.

* clang

* Add some documentation for the menu system components.

* Revert change to std::map

* `size_t` because GCC has to be happy

* Fixed HUD Editor Widescreen mode not displaying the sliders properly.
Changed all windows to full-section-width display.

* Revert changes to MotionBlur.cpp

* Add non-CVar variants of checkbox, combobox, and the sliders.
Fix motion blur functionality with new non-CVar widgets.

* Add non-CVar variants of checkbox, combobox, and the sliders.
Fix motion blur functionality with those non-CVar widgets.
Add size and labelPosition to widgetOptions, implemented on button and checkbox/combobox/sliders.
Change window popout buttons to inline size type.

* Rename SearchMenu.h to SearchableMenuItems.h and move to BenGui folder.

* Forgot to change the include XD

* Change `modifierFunc` to `preFunc`, updated documentation for that and including `postFunc`.

* Modify code to require variable for non-CVar widget initialization when necessary. Check for `valuePointer` being nullptr, and preventing widget drawing with a debug assert and error log entry.
Remove all `has_variant` calls and wrap entire widget type switch in `SearchMenuGetItem` with a try/catch on `std::bad_variant_access` with another error log and debug assert.

* More review changes.

* Implement `isPercentage`, `format`, and `showButtons` for sliders.
Pull values of those over from menubar.
Add documentation on `widgetOptions` for those and others added for previous review changes.
Move Fast Magic Arrow and Instant Fin Recall to Gameplay section.

* Modify header and sidebar "buttons" to match theming of regular buttons.

* Add precision clamping to SliderFloat value. At least 1.0 seems to be consistent at "100%".
Change IR slider to be percentage.

* Mention weirdness with SDL and pad menu button in controller nav tooltip.

* Move Menu files to 2s2h/BenGui.

* Add Warp Points to Developer Tools.
Make "Press F1" prompt show only when a menu isn't registered.

* clang

* Make search input take focus when search menu is open.

* Forgot include.

* Global search (#3)

* Restore Sidebar search entry, but lock it behind a checkbox in Settings. Dynamically adds or removes the sidebar entry, and header search is toggled inversely.

* Make menu toggle its visibility when using the button in the menu to close. Couldn't handle Alt+F4 without a hook I didn't want to add.
Remove unneeded commented code.

---------

Co-authored-by: Caladius <Caladius@users.noreply.github.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-10-02 20:25:26 -04:00
ArchezandGitHub 75bc685360 Fix pr-artifacts fetch script after version update (#786) 2024-10-01 15:32:03 -04:00
ArchezandGitHub 200aaf7be8 bump lus (#782) 2024-10-01 12:15:30 -04:00
Garrett CoxandGitHub f33f994adc Update pr-artifacts for node20 (#784) 2024-10-01 12:15:16 -04:00
ArchezandGitHub b1eea9ca76 Use variadic arguments with GameInteractor_Should (#766)
* PoC of using variadic arguments with GameInteractor_Should

* va_list boilerplate in SHOULD macro

* drop opt arg in favor of variadic arg changes

* account for default type promotion

* remove demo code
2024-09-26 12:39:05 -04:00
ArchezandGitHub 1475e6af7b Fix 3ds clock fill texture position (#772) 2024-09-19 18:47:28 -07:00
ArchezandGitHub 25887952c9 [Enhancement] Actor Nametags (#746)
* add new GI hooks

* move collision viewer to draw hook

* actor viewer tweaks; prevent crash when actors are killed

* add ShipUtils

* add actor name tags

* add debug name tags to actor viewer

* fixes

* headers?

* cleanup actor viewer

* Add more options for actor name tags

* headers

* headers

* ditch fmt::join cause linux package managers use old spdlog/fmt

* just a little more cleanup
2024-09-13 10:10:59 -04:00
ArchezandGitHub 137ca0de12 fix zora magic shield alpha (#768) 2024-09-12 16:32:19 -04:00
ArchezandGitHub a5059beaeb fix enum value for woodfall restoration (#769) 2024-09-12 14:32:09 -04:00
balloondude2andGitHub 4d1ddff798 Fix some Fierce Diety interactions in Clock Town (#730)
* fix fd town archery softlock

* allow FD to leave town
2024-09-08 19:01:02 -04:00
ArchezandGitHub bbfa903a99 fix more incorrect dpad handling for hud updates (#764) 2024-09-08 18:54:11 -04:00
ArchezandGitHub 6ff3be97de fix some actor shadow textures not updating (#758) 2024-09-08 18:45:54 -04:00
ArchezandGitHub 466a716222 Add restoration for woodfall mountain cleared state (#765)
* Add restoration for woodfall mountain cleared state

* enum
2024-09-08 18:27:36 -04:00
185e761f78 [Enhancement] Fierce Deity Anchored Backwalk Animation (#670)
* Add Fierce Deity anchored backwalk enhancement

* adjust ztarget hook to clamp speed instead of modifying animation frame logic

---------

Co-authored-by: Archez <archez39@me.com>
2024-09-03 23:00:11 -04:00
balloondude2andGitHub ea8809ddd0 Allow non-ascii characters in filepath on Windows (#743) 2024-09-03 22:41:16 -04:00
MalkierianandGitHub 13035d72a4 Change recommended build tools from 142 to 143, minimum VS to 2022. (#762) 2024-08-30 14:46:04 -04:00
MothsteryandGitHub 136a928883 [Enhancement] Custom Zora Egg Count (#624)
* initial commit of relevant files

* attempt to appease clang formatting

* fix edge case of marine researcher dialogue being wrong with low egg counts

* refactored to better use hooks and no longer touch main mm code directly

* undo GameInteractor.h changes

* removed useless egg checks, only need the researcher

* trigger remote build

* removing useless includes leftover from the old approach.

* move UIWidgets for egg into existing section
2024-08-24 12:22:30 -04:00
ArchezandGitHub 0c2a51c9f4 Various custom asset support (#756)
* use asset paths for better custom asset support

* fix keyframe animation timings

* display title cards as a full texture

* asset support for gfxprint

* support pause menu overworld map

* fix more resources that need to be loaded

* pr feedback
2024-08-23 17:19:41 -04:00
d74699740e [Enhancement] Instant Recall (#589)
* Instant Recall

* clang it

* Moved to Category "Equipment"

* pr review feedback

---------

Co-authored-by: Archez <archez39@me.com>
2024-08-18 23:24:14 -04:00
ArchezandGitHub 542feb038e Implement save backups and better invalid json detection (#749) 2024-08-18 18:04:25 -04:00
HoeloeandGitHub b0ca99f18c [Enhancement] MM3D style clock (#713) 2024-08-18 17:55:02 -04:00
Garrett CoxandGitHub 53faf37dc1 Add persistent bunny mask enhancement (#537) 2024-08-18 11:41:17 -04:00
ArchezandGitHub 63ffddb67b Bump LUS (#754) 2024-08-14 18:41:31 -04:00
Garrett CoxandGitHub 4a57bdbc5f Add widescreen actor culling option (#652) 2024-08-09 16:42:34 -04:00
mckinleeandGitHub 0ec23b34ba [Enhancement] Pause Owl Warp (#620)
* Add Pause Owl Warp Enhancement

- **mm/2s2h/BenGui/BenMenuBar.cpp**: Updated menu to include new enhancement options.
- **mm/2s2h/Enhancements/Enhancements.cpp**: Registered the new Pause Owl Warp enhancement.
- **mm/2s2h/Enhancements/Enhancements.h**: Declared functions for the new enhancement.
- **mm/2s2h/Enhancements/Songs/PauseOwlWarp.cpp**: Implemented the Pause Owl Warp functionality.
- **mm/2s2h/Enhancements/Songs/PauseOwlWarp.h**: Header file for the Pause Owl Warp implementation.
- **mm/include/functions.h**: Added function declarations related to the new enhancement.
- **mm/src/overlays/kaleido_scope/ovl_kaleido_map.c**: Modified to support the new enhancement.
- **mm/src/overlays/kaleido_scope/ovl_kaleido_scope_NES.c**: Modified to support the new enhancement.

* ran clang-format script

* Additional logic and bug fixes

* Fix PauseOwlWarp cursor logic triggering on dungeon map
-Added a check to ensure PauseOwlWarp's cursor logic is only triggered when not in a dungeon.

* Add Song of Soaring check
- To make it more in line with vanilla, you are now required to have the Song of Soaring to use this enhancement.

* bug fix and ran clang-format script
-My previous commit had a extra condition that wasn't needed that caused a bug where the world map points locations pointed to activated owl statues.

* added more checks

* Simplified complex conditional statements

* possibly fix macos build issue?

* index warping logic added

* implement feedback from Archez

* shot in the dark macos build fix?

* how bout now?

* revert back to previous commit

* if this fixed the macos build issue it'll be thanks to cclark25... let's pray

* add debugeditor check - thanks archez!

* Moved debugEditor check to prevent triggering ALL pauseOwlWarp logic. wtf was I thinking earlier
2024-08-05 15:18:52 -04:00
d0caa0f78c [Cheat] Stop time in Temples and Dungeons (#700)
* add cheat to stop time in temples

* better tooltip

* adds option to stop time in dungeons

* clean up

* add other pirate fortress scenes

* add new hook

* update tooltips

* rename hook

* add clarification

Co-authored-by: Archez <Archez@users.noreply.github.com>

* clean combobox

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-08-05 15:12:08 -04:00
51af06463f Item drops 3D! (#633)
* Initial 3D Item Drops Toggle

* Use generic hooks and other tweaks

* 3d drop fixes and changes

* move slime item draw to VB hook; fix arrow GID

* whitespacing

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Co-authored-by: Archez <archez39@me.com>
2024-07-23 21:39:25 -04:00
Waterdish 17dd587241 Bump 1.0.2 2024-07-14 12:14:10 -07:00
ArchezandGitHub 57cb5d2b51 Merge develop-rika -> develop
Merge develop-rika -> develop
2024-07-11 22:36:55 -04:00
Archez 24d8d47ab2 Merge remote-tracking branch 'origin/develop' into merge-develop-rika 2024-07-11 22:05:15 -04:00
aa1b0108f4 [Enhancement] Preseve time speed during cycle reset (#658)
* preseve time speed during cycle reset enhancement

* clang format

* update variable assignment

Co-authored-by: Archez <Archez@users.noreply.github.com>

* add default value

* better initial value

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-07-11 21:44:08 -04:00
ArchezandGitHub e0731a194c Bump Rika Charlie (#739) 2024-07-11 15:08:32 -04:00
ArchezandGitHub 0455c0f053 Fixes for cycle reset, fairy bottle, auto save, and save editor equips (#740)
* fixes for cycle reset, fairy bottle, and save editor equips

* prevent auto save during minigames

* prevent crash with fast mask transform
2024-07-10 13:02:02 -04:00
ArchezandGitHub 5984bdea19 Fix crash with graphics menu index out of bounds (#738) 2024-07-08 23:47:42 -04:00
ArchezandGitHub 2bb149b367 Tweak: Improve Save Editor time options (#729)
* improve save editor time options

* set gPlayState after early returns to avoid dangling ptr

* avoid crash with day 0 on daytelop
2024-07-08 17:57:17 -04:00
ArchezandGitHub 7458760c75 Fix rumble lasting too long (#736) 2024-07-08 17:50:03 -04:00
MalkierianandGitHub dcc38678a6 Eliminate Graphics Menu Lag (#733)
* Moved non-dynamic window backend data to external variables and update function called on init and combobox change.

* clang
2024-07-05 23:33:05 -04:00
ArchezandGitHub f201a494d2 Fix: Clean up flags when using debug warp (#728)
* Fix: Clean up flags when using debug warp

* comments
2024-06-28 17:48:24 -04:00
ArchezandGitHub 6af9227293 Fix: Add reset func for cucco storm (#725) 2024-06-28 12:02:26 -04:00
ArchezandGitHub 36f31463f3 add reset func for EnBats actor (#724) 2024-06-28 11:01:00 -04:00
ArchezandGitHub da76b32433 Fix incorrect flag setting in save editor (#722) 2024-06-27 09:19:20 -04:00
ArchezandGitHub 00403e452f Tweak FreeLock reset logic (#721) 2024-06-26 18:37:21 -04:00
ArchezandGitHub 03a33628cb fix skybox textures not reloading (#719) 2024-06-26 17:45:50 -04:00
ArchezandGitHub 60673fac35 Fix: Prevent crash on loading OOB info panel textures in kaleido (#720) 2024-06-26 10:36:05 -04:00
ArchezandGitHub 72f6fd158c Fix Dawn Of screen crashing with 4th glitch (#718) 2024-06-25 23:40:51 -04:00
2e4710c6c2 Tweaks to warp point (#666)
* Tweaks to warp point

* wait for console logo exit

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-06-25 00:16:10 -04:00
MalkierianandGitHub 1f3ca038a8 PowerShell clang fix (#714)
* Fixes script running in commandline mode by adding System.Net inclusion at the top.
Also adds clang-format.exe to gitignore.

* Change System.Net namespace to System.
2024-06-24 23:42:12 -04:00
791064e870 Add Basic README (#664)
* Add basic readme

* Update README.md

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-06-24 23:17:36 -04:00
balloondude2andGitHub 3ef3e7a239 [Enhancement] Fix Fierce Deity interactions with Bombers (#674)
* Allow FD to talk to Bomber Jim. Adds comments to unknown data.

* fd works with blue bombers and guard bomber

* clang format
2024-06-24 20:46:58 -04:00
louist103andGitHub 0d4e554ac6 Save editor temple clear fix (#709) 2024-06-24 09:34:40 -04:00
louist103andGitHub a933d73589 Fix the check for preventing a HESS crash. (#710)
* Fix the check

* Change style

* Another fix in SKelanime.

* Format
2024-06-23 17:11:21 -04:00
ArchezandGitHub a38b9daa6d Add HUD Editor support for horse carrots (#704) 2024-06-23 15:19:33 -04:00
ArchezandGitHub 120562952c bump lus with color combiner fixes (#711) 2024-06-23 14:51:57 -04:00
ArchezandGitHub fc309f5eaa bump lus with ucode change (#708) 2024-06-22 15:05:32 -04:00
inspectredcandGitHub e87d7c6954 Delete z_message_tables.inc (#685) 2024-06-18 20:01:17 -04:00
ArchezandGitHub 8b2b12dbe8 Bump latest lus and bring over Array resource (#689)
* bump latest lus and bring over array resource

* use upstream otrexporter
2024-06-18 20:00:16 -04:00
ArchezandGitHub c2199dddcf Fix: Add reset func for moon crash giants cutscene (#694) 2024-06-15 15:52:42 -04:00
justawayofthesamuraiandGitHub cc3e015f12 Added a fix for the moonjump so it doesn't crash the game when changing the day. (#693) 2024-06-15 15:02:30 -04:00
inspectredcandGitHub a383b4b330 Fix Fast Text Not Working on Instant Textboxes (#662)
* Fix Fast Text Not Working on Instant Textboxes

* format
2024-06-14 20:55:24 -04:00
inspectredcandGitHub df81f97e43 Add Free Look Camera Reset (#663) 2024-06-14 20:55:05 -04:00
inspectredcandGitHub e60ca15ae6 Merge pull request #683 from HarbourMasters/develop-rika
`develop-rika` -> `develop`
2024-06-10 11:51:48 +01:00
briaguyaandGitHub 84b9b4218a ci: wget sdl from gh release (#677)
fix that worked from https://github.com/HarbourMasters/2ship2harkinian/pull/676 but pointing to the right branch
2024-06-08 21:53:14 +01:00
Garrett CoxandGitHub 6fd7fc3a9d Merge pull request #659 from HarbourMasters/develop-rika
`develop-rika` -> `develop`
2024-06-04 07:42:49 -05:00
51a6d9d926 [Enhancement] Fast Deku Flower Launch (#549)
* Add fast deku flower launch enhancement

Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>

* Migrate to a hook

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-04 01:58:32 -05:00
ArchezandGitHub 4b36181ee2 Fix dungeon map palette loading (#653) 2024-06-04 01:57:47 -05:00
5e17828cc4 [Cheat] Longer Deku Flower Gliding (#548)
* Add Longer Flower Glide enhancement

Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>

* Tweak to just modify an array

* Update mm/2s2h/Enhancements/Cheats/LongerFlowerGlide.cpp

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-04 00:02:48 -05:00
d2a11f1476 [Enhancement] Instant Putaway (#547)
* Instant Putaway Enhancement

Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>

* Tweak some things and merge with Player Movement

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-03 22:38:29 -05:00
Garrett CoxandGitHub f8f00e6d9b Add draw distance enhancements for actors and scene geometry (#539) 2024-06-02 23:15:33 -05:00
2d8bc175fe [Enhancement] Blast Mask with Powder Keg (#642)
* Blast Mask adds Powder Keg explosive property.

* Alphabetical Menu Listing + clang

* Apply suggestions from code review

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 22:27:33 -05:00
5de6a9ac8f Add 2ship-specific BUILDING.md and supportedHashes.json. (#551)
* Add 2ship-specific BUILDING.md and supportedHashes.json.

* Somehow missed N64 hash.
Shipwright -> 2ship2harkinian
Ship.sln -> 2s2h.sln

* Mac dependencies

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>

---------

Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
2024-06-02 21:54:36 -05:00
03a597d44c [Enhancement] Banker - Adds Min Max Functionality (#591)
* Adds min and max functionality by pressing the R and Z buttons while the Deposit Rupees dialogue box is opened.

* Place functionality behind a cvar.

* clangified

* I slished when i shoulda slashed!

* removal of src/

* Typo in tooltip

* Updated to dynamic hook registration and fix sfx spam.

* clang

* Remove double assignment.

* Update to HOOK_ID and adds Withdrawal functionaility.

* Updated currentTextId's to actual format.

* Clangs

* Move to dialogue menu

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 21:52:30 -05:00
139a240ed3 [Graphics] Disable Black Bar Letterboxes (#590)
* Black Bars be gone

* Move it to draw/apply functions

Updates in real time now

* Added return instead

* added space

* Update mm/2s2h/Enhancements/Enhancements.cpp

* Update mm/2s2h/Enhancements/Enhancements.cpp

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 21:32:19 -05:00
26321c9a17 Adds Dungeon Items to the Save Editor (#585)
* Adds Dungeon Items to the Save Editor

* clang'd up

* Update mm/include/z64save.h

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Move a few static arrays

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 21:18:17 -05:00
888b8fe24a Skip Magic Arrow Equip Animation (#546)
* Recreate Magic Equip Animation Skip PR for new Fork.

* After Running Clang Powershell Script

* Delete clang-format.exe

* Apply suggestions from code review

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 20:18:16 -05:00
Garrett CoxandGitHub 53e76c5aeb Add time-moves-when-you-move mode (#536) 2024-06-02 20:10:08 -05:00
Waterdish f64cf9d56d 1.0.1 Update app values 2024-06-02 15:34:41 -07:00
Waterdish 43ebcd0305 Update to 2S2H 1.0.1 2024-06-02 15:18:22 -07:00
WaterdishandGitHub 07ac8c2a1b Update README.md 2024-06-02 14:36:26 -07:00
Waterdish 891fcafa57 Update 1.0.0.1 2024-06-02 14:27:08 -07:00
Waterdish 8e3a447798 F1 toggle button 2024-06-02 14:27:08 -07:00
Waterdish 41ace195cd Prepare for future gyro support 2024-06-02 14:27:08 -07:00
Waterdish c0593af8db ImGui fixes in LUS 2024-06-02 14:27:08 -07:00
Waterdish 4770f538a9 Ignore release folder 2024-06-02 14:27:08 -07:00
Waterdish 5dedbc45c1 Copy asset files during build 2024-06-02 14:27:08 -07:00
Waterdish bb6c6f5995 SDL cleanup 2024-06-02 14:27:08 -07:00
Waterdish d0dd8c2786 Bump min version to Android 7. Rest in peace Android 6 users 2024-06-02 14:27:08 -07:00
Garrett CoxandGitHub b54542494e Add various tweaks and a warning to debug mode toggle (#643) 2024-06-02 12:50:32 -05:00
ArchezandGitHub eae50e33e3 Fix the PRNG not being seeded when opening intro is skipped (#640) 2024-06-02 12:23:06 -05:00
Garrett CoxandGitHub 04e5ac449d Merge pull request #631 from HarbourMasters/develop-rika
`develop-rika` -> `develop`
2024-05-31 23:36:54 -05:00
inspectredcandGitHub 50b06bff0b lus fix metal crash (#628) 2024-05-31 23:36:17 -05:00
Garrett CoxandGitHub 3a86bdf2dc Version bump Rika Bravo (#626) 2024-05-31 19:51:23 -05:00
Garrett CoxandGitHub 78f0525ec0 Bump LUS (#625) 2024-05-31 19:50:36 -05:00
inspectredcandGitHub a3add6092b Fix Dpad Ocarina L Btn & GI Dpad Stuff (#578) 2024-05-31 19:21:57 -05:00
Jacob ErlyandGitHub a39a9a58e9 Adds sanity checks for bottle duping over items and prevents the issue causing Big Goron to not give the player the Keg License. (#605)
* Update Infinite.cpp

Adds sanity checks for bottle duping and prevents the issue causing Big Goron to not give the player the Keg License.

* Update Infinite.cpp

Formatting.

* Update Infinite.cpp

* Update Infinite.cpp

More formatting trying to work around this Clang stuff while working from Github.
2024-05-31 18:13:42 -04:00
ArchezandGitHub 7bf60f6771 fix hud editor position bugs (#622) 2024-05-31 17:39:26 -04:00
MalkierianandGitHub 63c293f78a Implement Alt Assets Variable LUS (#619)
* Bump LUS to `94b755b77c0c0f566686c9d23fa4c15e23473a0c`.
Remove `CVAR_ALT_ASSETS` from LUS cvars cmake.
Change all pertinent `CVarGetInteger` calls for `CVAR_ALT_ASSETS` to `ResourceManager::IsAltAssetsEnabled`.
Implement frame-end toggle of `mAltAssetsEnabled`.

* Remove `ShouldClearTextureCacheAtEndOfFrame`.
Move prevAltAssets check to end of `Gfx_ProcessGfxCommands`.

* Missed initial `mAltAssetsEnabled` set.
2024-05-31 17:26:04 -04:00
Garrett CoxandGitHub 57d4e62ed0 Fix issue where skipping clock tower cutscene would not return you correctly (#618) 2024-05-30 23:21:18 -05:00
Reinhardt R. GamingandGitHub 877d7f732b Display a MSAA value of 1x as "Off" (#597)
* Change terminology for MSAA setting + tooltip

* Update BenMenuBar.cpp
2024-05-30 22:46:41 -05:00
inspectredcandGitHub 47e98e8ee9 Fix GC Warning Labels (#529) 2024-05-30 22:46:07 -05:00
briaguyaandGitHub 65870f3c07 update to latest lus main (#614)
* update to latest lus main

* upstream otrexporter and zapdtr submodules

* upstream LUS submodule
2024-05-30 23:30:05 -04:00
Garrett CoxandGitHub 464c55fcbb Tweaks to autosaves and pause saves to always persist them, along with preventing saves when it's too early or late in the game (#616) 2024-05-30 23:20:29 -04:00
Garrett CoxandGitHub 8ac7dc6b7d Fix play as kafei by swapping out resources later (#617) 2024-05-30 23:10:45 -04:00
QloneverandGitHub e484e0ba82 fix control code logic (#586) 2024-05-30 22:36:14 -04:00
briaguyaandGitHub f32bccc5b9 ci(linux): install libzip without crypto, bump sdl from 2.28.5 -> 2.30.3 (#588)
* ci(linux): install libzip without crypto, bump sdl from 2.28.5 -> 2.30.3

* just install libzip with apt for otr gen

* copy the .so to a place linuxdeploy looks for it

* but do it in the right place
2024-05-30 22:21:24 -04:00
ArchezandGitHub c7aafb65fd Fix o2r file copy (#592)
* fix o2r file copy script

* move script to cmake folder
2024-05-30 22:12:14 -04:00
ArchezandGitHub 6ff53d4827 fix taking transformation mask off setting unexpected flags (#612) 2024-05-30 22:03:29 -04:00
ArchezandGitHub 73c468d5cf Fix Skybox star colors (#608)
* Fix Skybox star colors

* switch to Color_RGBA8 solution
2024-05-30 21:56:08 -04:00
Garrett CoxandGitHub 74afca9bf7 Remove path sanitize for file drops (#611) 2024-05-30 15:01:55 -05:00
AltoXorgandGitHub 3590cfa118 Append appShortName in savesFolderPath for non-portable builds (#593) 2024-05-29 23:42:17 -04:00
ArchezandGitHub c2e1c56413 Fix crash with Deku King during credits (#601) 2024-05-29 17:01:52 +01:00
MalkierianandGitHub e2fb954d99 Disabled checkbox fix (#498)
* Prevent style change and toggle when disabled.

* Fix performance issues for disabled elements being drawn.

* Move `BeginDisabled` to after visible window check to avoid potential mismatch issues.
2024-05-29 12:33:55 +01:00
inspectredcandGitHub 63def6f8df Display GC Version String On Title (#579)
* Display GC Version String On Title

* remove uncompressed case
2024-05-28 23:50:03 -05:00
inspectredcandGitHub eb208233e2 Fix Free Look On Woodfall Lilypads/Water (#587) 2024-05-28 19:37:26 -05:00
inspectredcandGitHub 291973fffe Use HOOK_ID typedef (#581) 2024-05-28 13:14:39 -05:00
Garrett CoxandGitHub 01ae001de5 Merge pull request #564 from HarbourMasters/develop-rika
develop-rika -> develop THIRD TIMES THE CHARM
2024-05-27 21:19:23 -05:00
Garrett CoxandGitHub 788c74a19e Fix PR artifacts (#563) 2024-05-27 21:18:14 -05:00
ArchezandGitHub 711b02be55 Merge pull request #554 from HarbourMasters/develop-rika
develop-rika -> develop
2024-05-27 20:47:57 -04:00
ArchezandGitHub 41e35ff3ee Fix macports cache (#543)
* fix macports cache

* cache key obey os version

* more tweaks

* fix sccache and try mac gtar replacement

* oh a custom gtar wrapper..

* comments and different test

* update

* soh otr after main build

* cache bust

* 2ship o2r builder

* change install path

* bust cache

* sccache cmake fixes

* dont list 2ship.o2r in pr artifacts
2024-05-27 17:58:30 -05:00
Garrett CoxandGitHub 513e89c073 Merge pull request #540 from HarbourMasters/develop-rika
develop-rika -> develop
2024-05-27 11:40:47 -05:00
ArchezandGitHub 0eaa533f25 Use GH artifacts (#511)
* use gh artifacts

* update nightly links
2024-05-27 00:01:54 -05:00
1634 changed files with 13023 additions and 80196 deletions
+1 -1
View File
@@ -1 +1 @@
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
# Call the original gtar executable with sudo for macports cache restoration to root folder
exec sudo /opt/homebrew/bin/gtar.orig "$@"
+182 -218
View File
@@ -98,74 +98,8 @@ jobs:
# source-dir: _packages # source-dir: _packages
# destination-dir: ./ # destination-dir: ./
# generate-2ship-otr: generate-2ship-otr:
# runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# - name: ccache
# uses: hendrikmuhs/ccache-action@v1.2.11
# with:
# key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-otr-ccache-${{ github.ref }}
# ${{ runner.os }}-otr-ccache
# - name: Install dependencies
# run: |
# sudo apt-get update
# sudo apt-get install -y $(cat .github/workflows/apt-deps.txt)
# - name: Cache build folders
# uses: actions/cache@v4
# with:
# key: ${{ runner.os }}-otr-build-${{ github.ref }}-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-otr-build-${{ github.ref }}
# ${{ runner.os }}-otr-build
# path: |
# build-cmake
# SDL2-2.28.5
# tinyxml2-10.0.0
# - name: Install latest SDL
# run: |
# export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
# if [ ! -d "SDL2-2.28.5" ]; then
# wget https://www.libsdl.org/release/SDL2-2.28.5.tar.gz
# tar -xzf SDL2-2.28.5.tar.gz
# fi
# cd SDL2-2.28.5
# ./configure --enable-hidapi-libusb
# make -j 10
# sudo make install
# sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/
# - name: Install latest tinyxml2
# run: |
# sudo apt-get remove libtinyxml2-dev
# export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
# if [ ! -d "tinyxml2-10.0.0" ]; then
# wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
# tar -xzf 10.0.0.tar.gz
# fi
# cd tinyxml2-10.0.0
# mkdir -p build
# cd build
# cmake ..
# make
# sudo make install
# - name: Generate 2ship.o2r
# run: |
# export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
# cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
# cmake --build build-cmake --config Release --target Generate2ShipOtr -j3
# - uses: actions/upload-artifact@v4
# with:
# name: 2ship.o2r
# path: 2ship.o2r
# retention-days: 1
build-macos:
# needs: generate-2ship-otr
runs-on: macos-14
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@@ -173,105 +107,30 @@ jobs:
- name: ccache - name: ccache
uses: hendrikmuhs/ccache-action@v1.2.13 uses: hendrikmuhs/ccache-action@v1.2.13
with: with:
create-symlink: true key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }}
key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-14-ccache-${{ github.ref }} ${{ runner.os }}-otr-ccache-${{ github.ref }}
${{ runner.os }}-14-ccache ${{ runner.os }}-otr-ccache-
- name: Cache MacPorts
id: cache-macports
uses: actions/cache@v4
with:
path: /opt/local/
key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}
restore-keys: |
${{ runner.os }}-macports
- name: Install MacPorts (if necessary)
run: |
if [ -d /opt/local/ ]; then
echo "MacPorts already installed"
else
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg
sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target /
fi
echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH
- name: Install dependencies
run: |
brew uninstall --ignore-dependencies libpng
sudo port install $(cat .github/workflows/macports-deps.txt)
brew install ninja
# - name: Download 2ship.o2r
# uses: actions/download-artifact@v4
# with:
# name: 2ship.o2r
# path: build-cmake/mm
- name: Build 2Ship
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
cmake --build build-cmake --config Release --target Generate2ShipOtr --parallel 10
cmake --build build-cmake --config Release --parallel 10
(cd build-cmake && cpack)
mv _packages/*.dmg 2Ship.dmg
mv README.md readme.txt
# - name: Upload build
# if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
# uses: actions/upload-artifact@v4
# with:
# name: 2ship-mac
# path: |
# 2Ship.dmg
# readme.txt
- name: Zip build
run: |
mkdir -p _release
zip -qq _release/2ship-mac.zip 2ship.dmg readme.txt
- name: Upload build
if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
uses: ryand56/r2-upload-action@latest
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
r2-bucket: ${{ secrets.R2_BUCKET }}
source-dir: _release
destination-dir: ./
build-linux:
# needs: generate-2ship-otr
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) libzip-dev zipcmp zipmerge ziptool
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.11
with:
key: linux-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: |
linux-ccache-${{ github.ref }}
linux-ccache
- name: Cache build folders - name: Cache build folders
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
key: linux-build-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-otr-build-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
linux-build-${{ github.ref }} ${{ runner.os }}-otr-build-${{ github.ref }}
linux-build ${{ runner.os }}-otr-build-
path: | path: |
build-cmake
SDL2-2.28.5 SDL2-2.28.5
SDL2_net-2.2.0
tinyxml2-10.0.0 tinyxml2-10.0.0
- name: Install latest SDL - name: Install latest SDL
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "SDL2-2.28.5" ]; then if [ ! -d "SDL2-2.28.5" ]; then
wget https://www.libsdl.org/release/SDL2-2.28.5.tar.gz wget https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-2.28.5.tar.gz
tar -xzf SDL2-2.28.5.tar.gz tar -xzf SDL2-2.28.5.tar.gz
fi fi
cd SDL2-2.28.5 cd SDL2-2.28.5
@@ -293,28 +152,162 @@ jobs:
cmake .. cmake ..
make make
sudo make install sudo make install
- name: Install latest SDL_net - name: Generate 2ship.o2r
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "SDL2_net-2.2.0" ]; then cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz cmake --build build-cmake --config Release --target Generate2ShipOtr -j3
tar -xzf SDL2_net-2.2.0.tar.gz - uses: actions/upload-artifact@v4
with:
name: 2ship.o2r
path: 2ship.o2r
retention-days: 1
build-macos:
needs: generate-2ship-otr
runs-on: macos-14
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.13
with:
create-symlink: true
key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-14-ccache-${{ github.ref }}
${{ runner.os }}-14-ccache-
# Needed to apply sudo for macports cache restore
- name: Install gtar wrapper
run: |
sudo mv /opt/homebrew/bin/gtar /opt/homebrew/bin/gtar.orig
sudo cp .github/workflows/gtar /opt/homebrew/bin/gtar
sudo chmod +x /opt/homebrew/bin/gtar
- name: Cache MacPorts
id: cache-macports
uses: actions/cache@v4
with:
path: /opt/local/
key: ${{ runner.os }}-14-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}
restore-keys: |
${{ runner.os }}-14-macports-
# Updated PATH applies to the next step and onwards
- name: Install MacPorts (if necessary)
run: |
if command -v /opt/local/bin/port 2>&1 >/dev/null; then
echo "MacPorts already installed"
else
echo "Installing MacPorts"
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg
sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target /
fi fi
cd SDL2_net-2.2.0 echo "/opt/local/bin:/opt/local/sbin" >> "$GITHUB_PATH"
./configure - name: Install dependencies
run: |
brew uninstall --ignore-dependencies libpng
sudo port install $(cat .github/workflows/macports-deps.txt)
brew install ninja
- name: Download 2ship.o2r
uses: actions/download-artifact@v4
with:
name: 2ship.o2r
path: build-cmake/mm
- name: Build 2Ship
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
cmake --build build-cmake --config Release --parallel 10
(cd build-cmake && cpack)
mv _packages/*.dmg 2Ship.dmg
mv README.md readme.txt
- name: Upload build
uses: actions/upload-artifact@v4
with:
name: 2ship-mac
path: |
2Ship.dmg
readme.txt
build-linux:
needs: generate-2ship-otr
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt)
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.13
with:
key: linux-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: |
linux-ccache-${{ github.ref }}
linux-ccache-
- name: Cache build folders
uses: actions/cache@v4
with:
key: linux-build-${{ github.ref }}-${{ github.sha }}
restore-keys: |
linux-build-${{ github.ref }}
linux-build-
path: |
SDL2-2.30.3
tinyxml2-10.0.0
libzip-1.10.1
- name: Install latest SDL
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "SDL2-2.30.3" ]; then
wget https://github.com/libsdl-org/SDL/releases/download/release-2.30.3/SDL2-2.30.3.tar.gz
tar -xzf SDL2-2.30.3.tar.gz
fi
cd SDL2-2.30.3
./configure --enable-hidapi-libusb
make -j 10 make -j 10
sudo make install sudo make install
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/
# - name: Download 2ship.o2r - name: Install latest tinyxml2
# uses: actions/download-artifact@v4 run: |
# with: sudo apt-get remove libtinyxml2-dev
# name: 2ship.o2r export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
# path: build-cmake/mm if [ ! -d "tinyxml2-10.0.0" ]; then
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
tar -xzf 10.0.0.tar.gz
fi
cd tinyxml2-10.0.0
mkdir -p build
cd build
cmake ..
make
sudo make install
- name: Install libzip without crypto
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "libzip-1.10.1" ]; then
wget https://github.com/nih-at/libzip/releases/download/v1.10.1/libzip-1.10.1.tar.gz
tar -xzf libzip-1.10.1.tar.gz
fi
cd libzip-1.10.1
mkdir -p build
cd build
cmake .. -DENABLE_COMMONCRYPTO=OFF -DENABLE_GNUTLS=OFF -DENABLE_MBEDTLS=OFF -DENABLE_OPENSSL=OFF
make
sudo make install
sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
- name: Download 2ship.o2r
uses: actions/download-artifact@v4
with:
name: 2ship.o2r
path: build-cmake/mm
- name: Build 2Ship - name: Build 2Ship
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_REMOTE_CONTROL=1 cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_REMOTE_CONTROL=1
cmake --build build-cmake --config Release --target Generate2ShipOtr -j3
cmake --build build-cmake --config Release -j3 cmake --build build-cmake --config Release -j3
(cd build-cmake && cpack -G External) (cd build-cmake && cpack -G External)
@@ -323,32 +316,16 @@ jobs:
env: env:
CC: gcc-12 CC: gcc-12
CXX: g++-12 CXX: g++-12
# Temporarily replaced with an upload to R2 until we go public
# - name: Upload build
# uses: actions/upload-artifact@v4
# with:
# name: 2ship-linux
# path: |
# 2ship.appimage
# readme.txt
# Remove Zip step when uploading directly to GH artifactory
- name: Zip build
run: |
mkdir -p _release
zip -qq _release/2ship-linux.zip 2ship.appimage readme.txt
- name: Upload build - name: Upload build
if: ${{ startsWith(github.ref, 'refs/heads/develop') }} uses: actions/upload-artifact@v4
uses: ryand56/r2-upload-action@latest
with: with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} name: 2ship-linux
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} path: |
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} 2ship.appimage
r2-bucket: ${{ secrets.R2_BUCKET }} readme.txt
source-dir: _release
destination-dir: ./
build-windows: build-windows:
# needs: generate-2ship-otr needs: generate-2ship-otr
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Install dependencies - name: Install dependencies
@@ -359,60 +336,47 @@ jobs:
with: with:
submodules: true submodules: true
- name: ccache - name: ccache
uses: hendrikmuhs/ccache-action@v1.2.11 uses: hendrikmuhs/ccache-action@v1.2.13
with: with:
variant: sccache variant: sccache
max-size: "1G" max-size: "1G"
key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-ccache1-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-ccache-${{ github.ref }} ${{ runner.os }}-ccache1-${{ github.ref }}
${{ runner.os }}-ccache ${{ runner.os }}-ccache1-
- name: Cache build folder - name: Cache build folder
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
save-always: true save-always: true
key: ${{ runner.os }}-build-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-build1-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-build-${{ github.ref }} ${{ runner.os }}-build1-${{ github.ref }}
${{ runner.os }}-build ${{ runner.os }}-build1-
path: | path: |
build-windows build-windows
vcpkg vcpkg
- name: Configure Developer Command Prompt - name: Configure Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1 uses: ilammy/msvc-dev-cmd@v1
# - name: Download 2ship.o2r - name: Download 2ship.o2r
# uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
# with: with:
# name: 2ship.o2r name: 2ship.o2r
# path: build-windows/mm path: build-windows/mm
- name: Build 2Ship - name: Build 2Ship
env: env:
VCPKG_ROOT: ${{github.workspace}}/vcpkg VCPKG_ROOT: ${{github.workspace}}/vcpkg
run: | run: |
set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH"
cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
cmake --build build-windows --config Release --target Generate2ShipOtr --parallel 10
cmake --build build-windows --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10
(cd build-windows && cpack) (cd build-windows && cpack)
cd .. cd ..
mv _packages/*.zip _packages/2ship-windows.zip mv _packages/*.zip _packages/2ship-windows.zip
# Temporarily replaced with an upload to R2 until we go public - name: Unzip package
# - name: Unzip package run: Expand-Archive -Path _packages/2ship-windows.zip -DestinationPath 2ship-windows
# run: Expand-Archive -Path _packages/2ship-windows.zip -DestinationPath 2ship-windows
# - name: Upload build
# if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
# uses: actions/upload-artifact@v4
# with:
# name: 2ship-windows
# path: 2ship-windows
- name: Upload build - name: Upload build
if: ${{ startsWith(github.ref, 'refs/heads/develop') }} uses: actions/upload-artifact@v4
uses: ryand56/r2-upload-action@latest
with: with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} name: 2ship-windows
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} path: 2ship-windows
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
r2-bucket: ${{ secrets.R2_BUCKET }}
source-dir: _packages
destination-dir: ./
+8 -6
View File
@@ -12,7 +12,7 @@ jobs:
if: ${{ github.event.workflow_run.event == 'pull_request' }} if: ${{ github.event.workflow_run.event == 'pull_request' }}
steps: steps:
- id: 'pr-number' - id: 'pr-number'
uses: actions/github-script@v6 uses: actions/github-script@v7
with: with:
result-encoding: string result-encoding: string
script: | script: |
@@ -20,8 +20,9 @@ jobs:
const pullHeadSHA = '${{github.event.workflow_run.head_sha}}'; const pullHeadSHA = '${{github.event.workflow_run.head_sha}}';
const pullUserId = ${{github.event.sender.id}}; const pullUserId = ${{github.event.sender.id}};
const prNumber = await (async () => { const prNumber = await (async () => {
const pulls = await github.rest.pulls.list({owner, repo}); for await (const { data } of github.paginate.iterator(
for await (const {data} of github.paginate.iterator(pulls)) { github.rest.pulls.list, { owner, repo }
)) {
for (const pull of data) { for (const pull of data) {
if (pull.head.sha === pullHeadSHA && pull.user.id === pullUserId) { if (pull.head.sha === pullHeadSHA && pull.user.id === pullUserId) {
return pull.number; return pull.number;
@@ -36,7 +37,7 @@ jobs:
return prNumber; return prNumber;
- id: 'artifacts-text' - id: 'artifacts-text'
uses: actions/github-script@v6 uses: actions/github-script@v7
with: with:
result-encoding: string result-encoding: string
script: | script: |
@@ -48,12 +49,13 @@ jobs:
return allArtifacts.data.artifacts.reduce((acc, item) => { return allArtifacts.data.artifacts.reduce((acc, item) => {
if (item.name === "assets") return acc; if (item.name === "assets") return acc;
if (item.name === "2ship.o2r") return acc;
acc += ` acc += `
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip?h=20a00267c7ffeb2eb80ab31f356f2ba5f120f43c)`; - [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
return acc; return acc;
}, '### Build Artifacts'); }, '### Build Artifacts');
- id: 'add-to-pr' - id: 'add-to-pr'
uses: garrettjoecox/pr-section@3.1.0 uses: garrettjoecox/pr-section@4.0.0
with: with:
repo-token: '${{ secrets.GITHUB_TOKEN }}' repo-token: '${{ secrets.GITHUB_TOKEN }}'
pr-number: ${{ steps.pr-number.outputs.result }} pr-number: ${{ steps.pr-number.outputs.result }}
+1
View File
@@ -66,3 +66,4 @@ _packages/
/mm/src/boot/build.c /mm/src/boot/build.c
/mm/windows/properties.h /mm/windows/properties.h
/clang-format.exe
+1
View File
@@ -14,6 +14,7 @@ captures/
.cxx/ .cxx/
*.apk *.apk
output.json output.json
app/release/
# IntelliJ # IntelliJ
*.iml *.iml
+5 -5
View File
@@ -14,17 +14,17 @@ android {
if (buildAsApplication) { if (buildAsApplication) {
applicationId "com.dishii.mm" applicationId "com.dishii.mm"
} }
minSdkVersion 19 minSdkVersion 24
targetSdkVersion 31 targetSdkVersion 31
versionCode 1 versionCode 4
versionName "1.0.0" versionName "1.1.1"
externalNativeBuild { externalNativeBuild {
//ndkBuild { //ndkBuild {
// arguments "APP_PLATFORM=android-23" // arguments "APP_PLATFORM=android-23"
// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
//} //}
cmake { cmake {
arguments "-DANDROID_APP_PLATFORM=android-23","-DSDL_SHARED=ON", "-DANDROID_STL=c++_static", "-DHAVE_LD_VERSION_SCRIPT=OFF",'-DUSE_OPENGLES=ON',"-DCVAR_IMGUI_CONTROLLER_NAV=1" arguments "-DSDL_SHARED=ON", "-DANDROID_STL=c++_static", "-DHAVE_LD_VERSION_SCRIPT=OFF",'-DUSE_OPENGLES=ON'
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
//abiFilters 'arm64-v8a' //abiFilters 'arm64-v8a'
} }
@@ -79,7 +79,7 @@ dependencies {
} }
task wrapper(type: Wrapper) { task wrapper(type: Wrapper) {
gradleVersion = '7.3' gradleVersion = '7.0.3'
} }
task prepareKotlinBuildScriptModel { task prepareKotlinBuildScriptModel {
+2 -2
View File
@@ -4,8 +4,8 @@
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dishii.mm" package="com.dishii.mm"
android:versionCode="1" android:versionCode="4"
android:versionName="1.0.0" android:versionName="1.1.1"
android:installLocation="auto"> android:installLocation="auto">
<!-- OpenGL ES 3.0 --> <!-- OpenGL ES 3.0 -->
+2
View File
@@ -0,0 +1,2 @@
# Extractor Assets Copied by CMake during buildtime
assets/
@@ -1,8 +0,0 @@
<Root>
<SymbolMap File="symbols/SymbolMap_MM.txt"/>
<ActorList File="symbols/ActorList_MM.txt"/>
<ObjectList File="symbols/ObjectList_MM.txt"/>
<EnumData File="EnumData.xml"/>
<ExternalXMLFolder Path="assets/extractor/xmls/GC_US/"/>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
</Root>
@@ -1,8 +0,0 @@
<Root>
<SymbolMap File="symbols/SymbolMap_MM.txt"/>
<ActorList File="symbols/ActorList_MM.txt"/>
<ObjectList File="symbols/ObjectList_MM.txt"/>
<EnumData File="EnumData.xml"/>
<ExternalXMLFolder Path="assets/extractor/xmls/N64_US/"/>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
</Root>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More