Git Product home page Git Product logo

apicula's People

Contributors

jenna1337 avatar nicklashj avatar scurest avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apicula's Issues

Viewer: Pattern animations: tracks target the wrong materials

The tracks in a pattern animation pick materials in a model and change the texture/palette they use, but I haven't figured out how they know which material to pick.

Here's an example with mi/wd/wd_al.d/al_04a.nsbmd and mi/wd/wd_al.d/al_04a.nsbtp from Days

Obviously the material for the torch flames is supposed to be targeted (instead of the wall material) and the non-targeted materials should all be left alone ( ̄▼ ̄*)

Picross 3d Has empty models and animation files

I feel that these models and animtion data are suppose to be for Picasso Block from the game. i dumped it twice and it came out the same. Sorry if this is normal or very simple to fix im new to dumping models.

Exporting all textures

Hey there, so I have this model which has 4 different textures (same model shared between 4 different-colored characters). I seem to be only able to extract the first textures. Though, when fiddling around in the texture/palette viewer, I can see all of them. I thought I would take a screen capture of it and use it as if, but there's this black outline which is covering a pixel all around the image, resulting in a 62x62 texture instead of a 64x64.
image

Is there anyway to export all different textures from a .nbstx? And optionally, would it be possible for the texture viewer not to cover part of the texture? Thanks.

"Couldn't find texture named ..."

So I've been trying to extract models from The Legend of Zelda: Phantom Hourglass. I extracted everything into the same folder and add apicula to that folder as well. No matter the .nsbmd I'm trying to view, it always throws an exception that it couldn't find the texture.

./apicula.exe view gd_boomerang

Found 1 model. Found 0 animations. ERROR:apicula::viewer::draw: error generating texture for material 0: Error(Msg("couldn\'t find texture named gd_Boomerang"), State { next_error: None, backtrace: None })

NSBTX textures don't get converted to PNGs

When I try to convert the .nsbtx format to a .png using the command:
"apicula convert filename.nsbtx --more-textures --output mapname"
it doesn't output the textures as png, in the commandline it does show that it found the textures and the amount of
palettes but it doesn't output them as png.

[Suggestion] Viewer movement speed

Instead of using shift to speed it up by a fixed amount, could you make it so you can use the +/- or number keys (optionally in combination with shift) to adjust the speed to how you want it?

Thanks

Refuses to start

When I click in the program a cmd window opens for 1 second and then it closes, I have rust 1.34 installed.

Maintain FileSystem structure?

It would be ideal if extracting and converting each model could maintain the file structure of the given game.

For example, Mario Kart DS contains the structure:
mkds/root/data/Course/airship_course.carc/airship_course.carc
So it would be great if the .nsbxx's could be found in:
extract-folder/root/data/Course/airship_course.carc/airship_course/airship_course.nsbxx
This would make it far easier to navigate and know which files are required for each nsbmd

The same could be done for converting too, making the models self contained!

Scale blows up at model extremities

Some models blow-up at the extremities (the title screen model from Heart Gold, reported here; some characters from Dark Dawn)

blowup

Think it has to do with how TRS transforms are calculated; every bone has a scale of 2, so the scale blows up exponentially with distance from the root bone. Accoridng to EveryFileExplorer, I think the TRS transform is supposed to be TS^{-1}RS when a bit in the unknown field of render command 0x26 is set. Have to see it that fixes it...

weird uv / unsupported feature in spirit tracks models in viewer and exported models

hello
at least 1 model in spirit tracks seems to use some kind of offset that apicula doesnt seem to support
image
the line in the grass here should be lined up with the rest of the grass to give it a smooth transition to sand
image
and here in the desert
it does not do this ingame
dumped model do the same

using what i know in blender i can easily fix this on exported models
image
image
but without a material editor of some kind
i dont know what is correct and what isnt without having the game right beside me

extract to the same dir

Is it possible to extract files to the same dir?
I'd like to control files storing with cmd.

Can't export fbx with the UV mirrored

Hi scurest,
Good job for your tool and thanks for the sharing. But I'm encountering a problem when it comes to solving the UV with the mirror feature, as it is mentioned here:
https://github.com/scurest/apicula/wiki/IMPORT:-Maya

In 3ds max, I've found the same feature than in maya:
http://image.noelshack.com/fichiers/2020/16/4/1587053644-rotated.png

After that, I export the correct 3d model, but it seems the fbx format doesn't save that parameter I just changed, because when I re-open it in 3ds max, all the uv's are misplaced, while the .max format doesn't suffer of that.
I was thinking about directly editing the texture, but I don't know what transformation I have to do, I mean horizontal flip doesn't solve the problem in 3ds max. I need to change the texture, to avoid the fbx lack of saving about mirror feature. Do you know what I mean? Thanks in advance =)

SM64DS seems to yield no results?

As described, SM64DS yields no results when it comes to extracting models from the rom, is this a known issue with the sm64ds game or is it just my rom?

image

NSBTX file doesn't get converted to PNG

Hello,

When I try convert a .nsbtx file to .png file using this command (EX):
apicula convert ww.nsbtx --more-textures -o test
or
apicula convert ww.nsbtx -o test

The program acknowledges the textures in the nsbtx file, but it won't actually extract anything to png.
It doesn't really matter what I name the file. The same result happens.

Using apicula convert *.nsbtx -o test also outputs the same result.

Case if you need the file: https://www.mediafire.com/file/znpnv4vocdmghhj/ww.nsbtx/file
(It's original name is h_kage.110.nsbtx)

Extracting Sequenced animations

While attempting to extract the models from Pictocross 3D, I discovered that some models are exported in a slightly odd way, with multiple overlapping meshes. The one interesting feature I noticed is that they contain multiple 0x02 render commands.

My best guess for what the 0x02 render command actually does is apply an animation to the model, identified by the first parameter. The second parameter actually identifies whether this call is the final one, so every call is zero, except the final one.

Add support for compressed files in "convert" (LZ77)

I am currently working on a related tool and extracted the files myself, I then ran these on this tool.

Issue:
apicula convert does not recognize the file-prefix "LZ77", which is used for compressed files.

It seems (did not test it), that the apicula extract does have support for it though.

Expected behavior/suggestion:
Make the apicula convert check if a file has the prefix "LZ77", then unpack that file and check the prefix again.

Crashes when minimizing

Something marginally similar has been reported before, but apicula completely bricks Windows if I minimize the viewer. It seems exponential: as soon as I minimize, all of windows drastically slows down. If I can click on the taskbar to bring apicula up again quickly enough, everything is instantly fixed. However, if I leave it minimized for more than 3 seconds, everything is halted beyond salvation. Nothing on the screen responds whatsoever and a forced restart is the only option. I've tried this on two seperate machines, one with Windows 8 and one with Windows 10, both with the exact same issue. It surprises me that this hasn't been reported before considering it effects both my machines.
It might have something to do with my tendency to open many models at once.

macOS: command not found

Hi, I've followed the build instructions and I'm getting this error:
zsh: command not found: apicula

If it helps, I get this warning when I build it:
image

Things seem to work if I run it like this with the file in the release folder:
image

Let me know if you need more details on my end, I might just be missing a step. It's not a huge deal if I have to use it like this.

Export named animation, and data dump

Hello, I've been exporting animations to collada for blender, and having to use the daesplitter.py script. I saw in another issue that you don't really want to do this splitting yourself, but would it be possible to add a console argument to export a single, named/indexed animation into the dae?

(I'm exporting from a game that has lots of animations applied to lots of models; to get a given animation, i have to --all-animations the entire ROM to attach them, then split the .dae to get the single animation I wanted. The first time I did this it filled up my hard drive.)

Secondly, as a game dev, it'd be amazingly helpful if you could do a general data dump exporter, that also exported the pattern and material animation data, to something like JSON, or something easy to parse into OpenGL.

Thanks for the awesome tool!

Unable to just extract textures from NSBTX

Pokemon games usually have a separate narcs for map textures and models, however it's tedious to find them without extracting all the textures at once, which Apicula can't extract textures from just NSBTX files.

Unable to get animations from a certain DS game

I tried extracting models and animations from Spider-Man: Web of Shadows (DS) and it worked beautifully. Me and my friends were amazed, but the animations weren't extracted for some reason.

I tried extracting from both the EU and US versions with no luck.

Can somebody help me?

Crashes when minimizing/restoring the viewer window several times

$ apicula view */*.nsb*
Got 110 models, 127 textures, 127 palettes, 73 animations, 0 pattern animations.
--------
Controls
--------
  WASD         Forward/Left/Back/Right
  EQ           Up/Down
  L.Shift      Increase Speed
  L.Ctrl       Decrease Speed
  L.Mouse      Free Look
  ,.           Prev/Next Model
  OP           Prev/Next Animation
  []           Single-step Animation
  KL           Prev/Next Pattern Animation
  Space        Print Info

[INFO] Guessed window DPI factor: 1
thread 'main' panicked at 'The aspect ratio cannot be below zero, found: NaN', C:\Users\appveyor\.cargo\registry\src\github.com-1ecc6299db9ec823\cgmath-0.16.1\src\projection.rs:114:9
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
Illegal instruction

This crash occurs after minimizing and restoring the window 3 to 5 times
I'm on a Windows 7 64-bit PC

Converting to DAE combining meshes together

Hi,

I used apicula back around 2019 (I think) and I was able to extract the player model with its customizable hairs, clothes etc separate to the model and had polygon0 to polygon18 in blender.

But I tried to do it again to that same file (and a few others) and the entire model is combined into 1 mesh. Was just wondering if there's a way to fix this or something causing it?

I'm using blender 2.79 and always have done... thank you :)

Extract a single animation from a .nsbca file

Hey there!

Thank you for your software, it is so nice and I'm having a blast with it so far. I was wondering if there was any way of extracting only a certain animation out of a .nsbca file. Once again, my example is with Phantom Hourglass. I am able to see all animations of a model by using view, but when converting to .dae it only appears to give me the first one. I want the last one. Is there any way of doing that?

[Suggestion] More info on space

It'd be nice if pressing space listed every single file open for that particular model. The big one for me is showing which nsbtx is being used, since some of them don't have the same filename as the model.

Native Animation Decompression + NSBVA/NSBMA Support?

In Sonic Rush, some of the different animations are compressed into one NSBCA file. I use a daesplitter python script found in this VGResource thread. Will there be native support for separating these animations?

On almost the same topic, will it be possible to export NSBVA and NSBMA files sometime in the future? Sonic rush uses a ton of it, and for some cutscenes, they're compressed like joint animations. I'm pretty sure that MKDSCM has support for these file formats that you can look into.

All model UVs are flipped

I’ve noticed that all the game model I’ve tried so far had flipped uv.
It’s cod black ops/mw3, captain america, kingdom hearts.
Having “FlipUV” as an option or hard coded flip of uv wouldn’t be much of a trouble?

Doesn't find proper palette for texture (Pokemon Follower Overworlds)

For a few .BTX0 files in Pokemon games (specifically overworld Pokemon Sprites, see 201-206, or 297+ on a/0/8/1 -> 1_NUM.BTX0 in Pokemon HeartGold or SoulSilver for example), they use a palette naming scheme not implemented yet:

image

Palette 0 is for normal pokemon, Palette 1 is used for shiny pokemon.
I've gotten around this by editing the code to accept len == 2 on line 91 of image_namer.rs, as well as a second check to force palette 1 if a new flag I added (--shiny) is used, but I know this is very case specific.
Hoping for an actual solution to be created instead of my hack, possibly an argument to specify which palette index to force?

Could not compile `stb_truetype`.

I am on a linux mint, i lost something?

apicula> cargo b --release
Compiling arrayvec v0.4.10
Compiling stb_truetype v0.2.5
Compiling rand_isaac v0.1.1
Compiling rand_hc v0.1.0
error: Edition 2018 is unstable and only available for nightly builds of rustc.

error: Could not compile stb_truetype.
warning: build failed, waiting for other jobs to finish...
error: build failed

Others games.

Hi, you can verify othres? for example: Prince of Persia The Forgotten Sands and Battles of Prince of Persia. Thanks.

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.