Giter VIP home page Giter VIP logo

retro's People

Contributors

archez avatar briaguya-ai avatar dcvz avatar greatargorath avatar kiritodv avatar purplehato avatar twanvanb1 avatar xoascf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

retro's Issues

Texture corrupt with latest version.

I made a thread in the Support channel covering my issue.
Using an older version fixed it, so i think the Async Processing might have broken the Texture compiling.

Multiple files with the same name in different folders break .otr generation

For context: I used the Darunias Joy package to create a custom .otr and the 0.0.2 version of Retro.

In this package there are multiple files with the same file name in different folders, ex. Gym Theme.seq in Black-White, Diamond-Perl-Platinum and Heart Gold - Soul Silver folder. Generating an .otr works flawless if only one of them exists.

But if multiple files with the same name exist, even in different folders, Retro shows them multiple times for each folder and generating the .otr gets stuck. The green circle spins infinitely and generation never stops. I let it run for over an hour and nothing happened.

Here's some screenshots to better show the problem:
Path into one of the folders to show it works normally:
image

Multiple files with the same name in different folders and showing the folders to showcase that the file only exists once:
image

Maybe there's some way to handle this aside from having to manually rename multiple files with the same name.
Even a small error message that an .otr can't be generated because multiple files with the same name exist would help I imagine.

I thought I did something wrong using the program until I saw that files existed multiple times in the list and through trial-and-error found the cause.

Add Mod Metadata to Patch OTRs

We should add the ability to add metadata to patch OTRs such as: name, author, version number and an icon.

We should do something similar to what Minecraft does. Having a file for the metadata and one for the icon.

OTR inspection view searchability

Finding an item in the OTR inspection view is close to impossible, long term this can be solved with a searching mechanism, short term you could just allow the output to be copy-able, so that I can paste it into something that allows me to search.

Can't build on Linux

No idea how the heck to use this but.

rena@greymon:…/Retro/retro-0.0.4/linux> cmake .
-- The CXX compiler identification is GNU 12.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Checking for module 'gtk+-3.0'
--   Found gtk+-3.0, version 3.24.37
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.76.1
-- Checking for module 'gio-2.0'
--   Found gio-2.0, version 2.76.1
-- The C compiler identification is GNU 12.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) at _deps/stormlib-src/CMakeLists.txt:11 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'BUILD_SHARED_LIBS'.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at _deps/stormlib-src/CMakeLists.txt:12 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'STORM_SKIP_INSTALL'.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")  
-- Found BZip2: /usr/lib/libbz2.so (found version "1.0.8") 
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Linking against dependent libraries statically
-- Configuring done (2.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/rena/games/Shipwright/Retro/retro-0.0.4/linux

rena@greymon:…/Retro/retro-0.0.4/linux> make
[  0%] Generating ephemeral/libflutter_linux_gtk.so, ephemeral/flutter_linux/fl_basic_message_channel.h, ephemeral/flutter_linux/fl_binary_codec.h, ephemeral/flutter_linux/fl_binary_messenger.h, ephemeral/flutter_linux/fl_dart_project.h, ephemeral/flutter_linux/fl_engine.h, ephemeral/flutter_linux/fl_json_message_codec.h, ephemeral/flutter_linux/fl_json_method_codec.h, ephemeral/flutter_linux/fl_message_codec.h, ephemeral/flutter_linux/fl_method_call.h, ephemeral/flutter_linux/fl_method_channel.h, ephemeral/flutter_linux/fl_method_codec.h, ephemeral/flutter_linux/fl_method_response.h, ephemeral/flutter_linux/fl_plugin_registrar.h, ephemeral/flutter_linux/fl_plugin_registry.h, ephemeral/flutter_linux/fl_standard_message_codec.h, ephemeral/flutter_linux/fl_standard_method_codec.h, ephemeral/flutter_linux/fl_string_codec.h, ephemeral/flutter_linux/fl_value.h, ephemeral/flutter_linux/fl_view.h, ephemeral/flutter_linux/flutter_linux.h, _phony_
Unhandled exception:
RangeError (index): Invalid value: Only valid value is 0: 1
#0      _Array.[] (dart:core-patch/array.dart:10:36)
#1      main (file:///opt/flutter/packages/flutter_tools/bin/tool_backend.dart:12:37)
#2      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#3      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:192:26)
make[2]: *** [flutter/CMakeFiles/flutter_assemble.dir/build.make:93: flutter/ephemeral/libflutter_linux_gtk.so] Error 255
make[1]: *** [CMakeFiles/Makefile2:200: flutter/CMakeFiles/flutter_assemble.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Error on Linux

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Invalid argument(s): Failed to load dynamic library 'libstorm.so.9.22.0': libbz2.so.1.0: cannot open shared object file: No such file or directory
#0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11)
#1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:22)
#2      _dylib.<anonymous closure> (package:flutter_storm/flutter_storm.dart:257)
#3      _dylib (package:flutter_storm/flutter_storm.dart:263)
#4      _bindings (package:flutter_storm/flutter_storm.dart)
#5      new MPQArchive.open (package:flutter_storm/flutter_storm.dart)
#6      processOTR (package:retro/features/create/create_replace_textures/create_replace_textures_viewmodel.dart:215)
#7      compute.<anonymous closure> (package:flutter/src/foundation/_isolates_io.dart:18)
#8      _RemoteRunner._run (dart:isolate:954)
#9      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:300)
#10     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:192)

Certian textures ripped are broken.

Some textures dumped by the tool are black and white and static. For example I was replacing all the Gerudo symbols in the game with the 1.0 textures I dumped from my cartridge, the symbol on the stair case at the entrance of spirit temple didn't have a properly dumped texture. It was black and white and unrecognizable, even when I managed to trace it down, replacing it resulted in a messed up texture in game. there are a few more examples of this as well.

Certain texture png's automatically turn new png to grayscale

The example I did was Link's tunic. When trying to change the texture with something that had different colors on it, it would just make it all gray scale in game. I'm not sure if this is the right place for this issue, but I figured with it so new, I'd start here. I will attach the OTR with the mentioned texture replacement in the zip folder below, along with the screenshot on this post.

image
TunicColorTest.zip

Image attributes not preserved in extracted textures

Using the 0.0.5 alpha.2 appimage to extract textures from the otr produced by SoH 7.1.0 and the OoT N64 PAL 1.1 rom (sha1sum: cfbb98d392e4a9d39da8285d10cbef3974c2f012), I get a large amount of textures where the alpha channel has been removed, or where the image has been converted to grayscale. The otr produced by SoH appears to be fine as the game plays as expected, so I'm assuming that the issue is in retro's extraction. An example of both cases, along with the the output from Imagemagick's 'identify' for each texture is provided here. The files extracted by retro are suffixed with '_retro' and the reference images were dumped from gliden64 (and correspond with popular texture repacks).

Many textures appear to be fine, with or without alpha channels, so I've been unable to rectify this programmatically in post. I really hope that you can rectify this as it would streamline community asset creation.

Sequences: BGM fallback not accounting for blank lines in .meta files

If a .meta file is missing the "type" line, we make the assumption that it is a bgm type. The code that does this checks for a third line, if it exits, it uses that as the type, otherwise fallback to "bgm".
Problem is some .meta files have the third line, but its blank. This causes files to be named wrong, and so they don't play probably in SoH. Reported here: https://discord.com/channels/808039310850130000/1047785921799520296/1051710976849879171

This check should account for empty lines as well in the fallback logic.

String type = metadata.length > 2 ? metadata[2].toLowerCase().trim() : "bgm";

Remember import/export paths

It would make testing and developing mods so much easier if I didn't have to navigate to the files/mods directory every time I build the OTR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.