162 Commits

Author SHA1 Message Date
Dragorn421 a683b41bda [Object Analyzer] XML import: Handle <Version> elements (#38) nightly 2026-09-19 07:04:18 +02:00
Dragorn421 485cb1c40c Add version_name_decomp to version config (#36) 2026-09-19 06:13:32 +02:00
Dragorn421 bc32f1632d GHA: Update softprops/action-gh-release to v3 (#35) 2026-04-12 10:05:34 +02:00
Dragorn421 882812366a Update NLog-Debug.config: silence some Avalonia trace (#34) 2026-03-27 15:19:14 +01:00
Dragorn421 df8b7635a7 Update GHAs used actions (#33) 2026-03-13 16:16:06 +01:00
Dragorn421 5a1115651a Bump version to 3.1.1 (#32) v3.1.1 2026-02-15 14:24:25 +01:00
Dragorn421 728fc03363 Fix fatal exceptions not logged to file (#31) 2026-02-15 14:17:31 +01:00
Dragorn421 80bf2c7ec4 Fixups for xml importing and MM compatibility (#30)
* Do not call analyze funcs twice when using --object-analyzer

* Wrap automatic object analysis in try catch and show exception if any instead of crashing

* fixup xml import: also detect SPBranchList as ending a DL

* Acknowledge unimplemented resources TextureAnimation, KeyFrameAnimation, KeyFrameSkel (allows importing MM gkeep xml)

* fixup xml import: add and link collision data holders to collision headers
2026-02-15 14:14:46 +01:00
Dragorn421 7b74f15e3b Bump version to 3.1.0 (#29) v3.1.0 2026-02-14 19:51:06 +01:00
Dragorn421 f618db1ce9 Fixups: README markdown and use Ubuntu runner for format check (#28)
* Fixup README markdown mistake

* Formatting: use ubuntu as runner
2026-02-14 19:43:07 +01:00
Dragorn421 1be0144c22 Skeleton viewer: animations list: add offset column and filter text box (#27) 2025-06-30 13:03:51 +02:00
Dragorn421 2768df2b46 Implement XML importing (#26) 2025-06-30 11:31:08 +02:00
Dragorn421 19592325c7 GHA: Suffix release archives with tag instead of sha (#25) 2025-06-29 19:06:47 +02:00
Dragorn421 9ca24bcde6 Bump version to 3.0.0 (#24) v3.0.0 2025-06-29 18:35:31 +02:00
Dragorn421 80885041de GHA: Add release on tag push (#23)
* GHA: Add release on tag push

* document release process in readme
2025-06-29 18:33:36 +02:00
Dragorn421 ee4bb869f6 GHA: Make .zip as well as .tar.gz (#22) 2025-06-29 15:10:35 +02:00
Dragorn421 8a7a89188c Port UI to Avalonia (#20)
* Avalonia take 2

* fix replace-all

* fix

* format

* some SkeletonViewer cleanup

* SkelViewer fixes

* fix types passed to AvaloniaProperty.Register

* debugger.break in utils.assert on failed

* do not crash on failure to parse image, more details on image holders

* Implement segments config UI

* restore ShowGLInfo functionality

* use EnumComboBox for render settings RenderMode

* redecode and rerender on segments config change

* less ugly code

* commit to what ToAvaloniaBitmap is

* release nightly-avalonia on re_avalonia branch

* also build linux builds

* Fix GHA: target the .csproj instead of the .sln

* refine HexTextBox scrolling, allow using up/down keys, customizable scroll behavior

* cleanup usings in Views/ and ViewModels/

* Better MVVM/DI pattern (fix AVLN3001 warnings)

* cleanup DL viewer text

* Better MVVM/DI pattern 2 (fix remaining AVLN3001 warnings)

* skelviewer: implement limb highlighting

* misc, formatting

* skelviewer: implement render settings (easy copypaste from the dlist viewer)

* skelviewer: implement segments config (easy copypaste from the dlist viewer)

* cleanup: .NET naming style, MVVM/DI pattern

* icons in MainWindow menu

* skelviewer: icons for play forwards/backwards

* better default segments config: 4=gkeep, 8-15=empty DL

* add "Load Player Animations" menu item

* implement opening any file in object analyzer without loading a rom

* Add load external anims menu items, from ROM and from external file

* add AnimationError for when parsing anims fails

* skelviewer: make play forwards/backwards buttons show pause icon while playing

* light cleanup

* Collision viewer: implement render settings and cleanup

* main window: implement export rom FS

* main window: implement save rom as

* main window: implement file inject

* main window: implement save file

* main window: implement file rename

* main window: implement export/import file names list

* auto-analyze on object analyzer open, misc

* cleanup namespaces 1

* cleanup namespaces 2

* cleanup namespaces 3

* cleanup namespaces 4

* skelviewer: work around datagrid extending over UI and beyond window

* cleanup

* CRLF to LF (new files only)

* object analyzer: implement export/import json

* fix async commands to return Task and use [RelayCommand] wrapping so exceptions are re-thrown

see https://github.com/AvaloniaUI/Avalonia/discussions/19149

* remove disassembly menu items from dlist viewer and skeleton viewer (acceptable regression from WinForms Z64Utils)

* update README

* GHA: remove nightly-avalonia-release

* add back LoadNvApi hack (with documentation this time...)

* skelviewer: fix anims continuing to "play" once closed

* main window: better suggested segment id on open object analyzer

* ROMRAM conversion window: use EnumComboBox and misc

* bump avalona version to 11.2.8 (stay on 11.2 for stability)
2025-06-29 14:33:13 +02:00
Dragorn421 e234aafc8b Update NLog levels (#21) 2025-06-26 12:54:10 +02:00
Dragorn421 04a3bd8cf2 Use NLog for logging and move away from Debug.Assert (#19) 2025-06-16 08:20:55 +02:00
Dragorn421 a9b376aafd GHA: Automated nightly releases (#18) 2025-06-16 06:55:21 +02:00
Dragorn421 8cdba313a1 Refactor Skeleton viewer: externalize skelanime computations (#17) 2025-06-15 22:49:59 +02:00
Dragorn421 0f1c17309a Refactor skeleton viewer external animations handling (#16) 2025-06-15 22:44:10 +02:00
Dragorn421 5e53c31d39 Cleanup around version handling (#15)
* Cleanup around version handling

* attempt
2025-03-05 12:24:39 +01:00
Dragorn421 7327caab9d Upgrade to OpenTK 4 (#5)
* Bump OpenTK version to 4.9.3

* fix

* fix attempt port to openTK4

* debugging

* fixdbg

* format

* fixdbg2

* add opentk to csproj explicitly

* fixup in case of null Context

* fix warning
2025-03-05 11:09:37 +01:00
Dragorn421 af1912211d Modernize collision drawing code (but lose config) (#14)
Improvements:

    no longer uses antique opengl style (glbegin/end)
    shaded rendering, drawing in solid (now default) no longer looks flat

Worsened UI:

    no config for colors, the "render settings" button instead directly toggles wireframe
2025-03-04 22:36:30 +01:00
Dragorn421 d44deca5a1 Rendering fixups (#13)
- rdpvtx -> rdpVtx to support case-sensitive filesystems
- set clear color before clearing
2025-03-04 19:49:50 +01:00
Dragorn421 87c3abf226 CI: update config location (#12)
* CI: update config location

* set repo to always pull config data from upstream
2025-03-04 18:17:53 +01:00
Dragorn421 a39042fdaa Update README (#11) 2025-03-04 17:58:06 +01:00
Dragorn421 49fb5ead37 Enable nullable project-wide (#10) 2025-03-04 17:20:13 +01:00
Dragorn421 949ff45274 Fix loading versions data (#9)
There was too much asserting
2025-03-04 16:40:14 +01:00
Dragorn421 b38abac434 Make null-related warnings errors (#8) 2025-03-04 15:34:08 +01:00
Dragorn421 eac90d851b Enable Nullable 2 (#7)
* nullable enable 8

* nullable enable 9

* fixes

* nullable enable 10

* fix

* nullable enable 11

* format

* nullable enable 12

* format

* nullable enable 13

* fixes

* fixes2
2025-03-04 15:30:25 +01:00
Dragorn421 3197297bdc Enable Nullable 1 (#6)
* nullable enable 1

* nullable enable 2

* nullable enable 3

* nullable enable 4

* nullable enable 5

* fixes

* nullable enable 6

* nullable enable 7
2025-03-04 12:36:34 +01:00
Dragorn421 5c71c0f1dc Bump .NET from version 5 to 6 (#4)
* build with github actions

* fixup gha

* silence CA1416 warning

* remove unused vars

* bump to .NET 6

* fix obsolete uses

* format
2025-03-03 03:00:59 +01:00
Dragorn421 6ea1a5ada6 Format and check with CI (#3)
* make CI check formatting

* format

* Revert "format"

This reverts commit 4c481ba8c2.

* format

* fix one pathological formatting thing

* fix job name
2025-03-03 02:54:45 +01:00
Dragorn421 1a82b510f1 CI build and some cleanup (#2)
* build with github actions

* fixup gha

* silence CA1416 warning

* remove unused vars
2025-03-03 02:32:45 +01:00
tom-overton a960313b7c Add very basic support for Animal Forest 2023-06-10 16:24:19 -07:00
tom-overton fff02b8334 Better handling of segments for external animations 2022-12-09 17:44:48 -08:00
Random d075b390de add ability to switch between hex <-> data in object analyzer 2022-10-14 17:15:02 -07:00
Random c85577251d don't assume texel0 is always going to be used 2022-10-14 17:00:35 -07:00
Random 739482be37 texel1 hack + add search bar in object analyzer 2022-10-14 17:00:17 -07:00
tom-overton 9d8d917fd5 Bump version v2.2.1 2022-10-13 03:45:16 -07:00
tom-overton 89ac4ed300 Start collision viewer in wireframe mode 2022-10-13 03:16:28 -07:00
tom-overton da588cb20f Improvements to collision viewer 2022-10-13 02:26:28 -07:00
tom-overton bebeadea95 Port tharo/collision-view to this branch 2022-10-12 23:57:29 -07:00
tom-overton ad35a77801 Add support for disabling render of certain limbs 2022-10-11 16:07:08 -07:00
tom-overton 8d40454d8d Add double-click shortcuts 2022-10-02 01:44:54 -07:00
tom-overton 7be523bf89 Add warning when animation is glitchy 2022-10-02 01:22:02 -07:00
tom-overton c0cc377fe0 Bump version 2022-09-18 18:23:02 -07:00
tom-overton 45944e4a34 Add support for viewing player animations in the Skeleton Viewer 2022-09-18 04:24:13 -07:00