marcrobledo / savegame-editors

A compilation of console savegame editors made with HTML5 technologies.
https://www.marcrobledo.com/savegame-editors/
Other
1.07k stars 223 forks source link

TOTK request feature : Autobuilder import/export #228

Open cualquiercosa327 opened 1 year ago

cualquiercosa327 commented 1 year ago

Hello, first thanks for your great work! I would love ask if it could be added a way to extract and injection devices which are on the Autobuilder memory, this way players could share their creations. Thanks!

marcrobledo commented 1 year ago

Sounds good! I wasn't aware you could save creations. This is definitively a very cool idea and will happen sooner or later, but I haven't unlocked that Autobuilder yet haha.

Karlos007 commented 1 year ago

It will require to export a big chunk of memory as binary or something. The game remembers the last 30 builds, and 8 of them can be pinned so they don't get deleted.

marcrobledo commented 1 year ago

Sounds like a good challenge :-P Can't wait to unlock the Autobuilder and start toying with it.

cualquiercosa327 commented 1 year ago

The save file is very big but it doesn't change when it is unlock : i suppose it is filled with 0 until it is unlocked.

If you want maintaining having life, stop playing : it makes too addictive 😉.

In fact the game gets better the more one advance (i dont want spoiler you).

If you want i can sent my savegame although the creations are simply copy of some already done by developers I add a piece which let me keep as mine.

harbour0 commented 1 year ago

Not massively experienced with hex editing but having a dive I believe it's identifable as to your history for autobuilds. I created a simple rocket + water hydrant combo and was able to find it within the hex. Will continue to do some more digging!

Rocket: SpObj_Rocket_A_01 Water hydrant: SpObj_WaterPump_A_01

Not sure if this of any use but thought I'd post this here!

image

Edit: another observation is that each autobuild history starts with "CmbAct" I believe. image

cualquiercosa327 commented 1 year ago

Excuse me, how much is their size? Is it constant? If I can i will look mine tomorrow Thanks

Karlos007 commented 1 year ago

Excuse me, how much is their size? Is it constant? If I can i will look mine tomorrow Thanks For me the size of every build is 6692 bytes (0x1A24) There are 30 slots (including 8 favorites) Data starts maybe around 000DB6DC or 000D7A5C on v1.1

You can summon small monsters if you change the objects (With big ones you can't press a to build).

harbour0 commented 1 year ago

Excuse me, how much is their size? Is it constant? If I can i will look mine tomorrow Thanks

If you can direct me on how to locate size; I can let you know. I am new to the HxD / .sav / hex scene lol.

I have some programming experience behind me so ideally; if we can locate this I can potentially chuck a PR in to allow us to export / import these autobuilds.

Ideally; we could look to extracting the objects with their positions -> export to json -> and handle it that way.

cualquiercosa327 commented 1 year ago

Excuse me, how much is their size? Is it constant? If I can i will look mine tomorrow Thanks

If you can direct me on how to locate size; I can let you know. I am new to the HxD / .sav / hex scene lol.

I have some programming experience behind me so ideally; if we can locate this I can potentially chuck a PR in to allow us to export / import these autobuilds.

Ideally; we could look to extracting the objects with their positions -> export to json -> and handle it that way.

It depends of the hex-editor. HxD works great. You can select with the mouse all the bytes and it will show the size on the lower part. You can copy it also Then create a new file and paste it. (it does no care the extension) Other can use that file and replace the own save with it (on the address of one build).

We need to know how it kept the favorites for avoid issues (i suppose they have a little mark.

We can interchange build this way but for exporting and importing in an accessible way the best is the dev implant on the program. I don't know if it also saves a picture of it.

I am agree it would great having a file format to share it: that way we can kept a lot of them organized.

harbour0 commented 1 year ago

Excuse me, how much is their size? Is it constant? If I can i will look mine tomorrow Thanks

If you can direct me on how to locate size; I can let you know. I am new to the HxD / .sav / hex scene lol. I have some programming experience behind me so ideally; if we can locate this I can potentially chuck a PR in to allow us to export / import these autobuilds. Ideally; we could look to extracting the objects with their positions -> export to json -> and handle it that way.

It depends of the hex-editor. HxD works great. You can select with the mouse all the bytes and it will show the size on the lower part. You can copy it also Then create a new file and paste it. (it does no care the extension) Other can use that file and replace the own save with it (on the address of one build).

We need to know how it kept the favorites for avoid issues (i suppose they have a little mark.

We can interchange build this way but for exporting and importing in an accessible way the best is the dev implant on the program. I don't know if it also saves a picture of it.

I am agree it would great having a file format to share it: that way we can kept a lot of them organized.

Looking for favourites was my next task. If we can at least bump up favourites to over 8 that would be a good start.

Regarding images; I would assume it's saved somewhere kinda like how the saves work. There is a chance it's generated on the fly as save images are stored within a seperate file.

I'll keep you posted with my findings!

cualquiercosa327 commented 1 year ago

Oh, i didn't read the important part :

"For me the size of every build is 6692 bytes (0x1A24) There are 30 slots (including 8 favorites) Data starts maybe around 000DB6DC or 000D7A5C on v1.1 "

...... It seems they are something wrong : the game has 30 for the history AND 8 for favorites according the game it kepts 38.

I looking for the String "CmbAct", they are 30 of them all of a fixed size : 6692 bytes (0x1A24).

Mine began on the address D7A94. Block D7A94 - 108ACB. Next block of zeros, whose size is 38hex: 108ACC-108B03 . I think it can be important because it saves 38 builds.

Probably the favorites are before that block, sadly am no at home.

I changed one block of CmbAct with other different of the save2. I restore the save on my Switch and it worked perfectly.

I looked on both saves but the icon has no changed. I have just seen my mistake: i changed the data of how to build, but no the icon data!! It is no build on the fly, it is on the save. I attached a file with my block. It has also individual builds because I was replacing them on my save.

Note : i dont know if the schemes are on the savefile also nor the vehicles the monster already have (i doubt that, it will be on one file if the game)

....... No needed for this..... I would love the limit of things can be attached and how behaves the physics engine.

Of course it is no important now but they kept on some way a 3d model. I would bet every object has its index, plus the position it is (the position include the differences from the item on "normal" state) nor where it is and what part joins the others.

The first object no need the extra information of position and it is no joined.

Ii know it is out the scope of the save editor which only need to extract/import the full chunk and add the picture it is showed,but i am thinking on how deep the game is and all options it gives for modders and new proyects. As example a model editor/viewer independent of the included on the game : with the 3d model and texture exported and its ID. ............ Excuse the speech: I LOVE this game.

Autobuilder.zip

harbour0 commented 1 year ago

Oh, i didn't read the important part :

### For me the size of every build is 6692 bytes (0x1A24) There are 30 slots (including 8 favorites) Data starts maybe around 000DB6DC or 000D7A5C on v1.1

...... It seems they are something wrong : the game has 30 for the temp AND 8 for favorites according the game it kepts 38.

I looking for the String "CmbAct", they are 30 of them all of 6692 bytes (0x1A24).

Mine began on the address D7A94. After that block they are a little block of 0, of size 38 hex.

Probably the favorites are before, sadly I had already closed the pc.

I changed one block of CmbAct with other different of the save2. I restore the save on my Switch and it worked perfectly.

I looked on both saves but the icon has no changed. I have just seen my mistake: i changed the data of how to build, but no the icon data!! It is no build on the fly, it is on the save.

Note : i dont know if the schemes are on the savefile also nor the vehicles the monster already have (i doubt that, it will be on one file if the game)

I would love the limit of things can be attached and how behaves the physics engine.

Of course it is no important now but they kept on some way a 3d model. I would bet every object has its index, plus the position it is (the position include the differences from the item on "normal" state) nor where it is and what part joins the others.

The first object no need the extra information of position and it is no joined.

Ii know it is out the scope of the save editor which only need to extract/import the full chunk and add the picture it is showed,but i am thinking on how deep the game is and all options it gives for modders and new proyects. As example a model editor/viewer independent of the included on the game : with the 3d model and texture exported and its ID.

Excuse the speech: I LOVE this game.

Yes I noticed a lot of spacing between each history item also.

I assumed that the way they are saved is how you mentioned; item -> it's rotation -> where it connects via the glue.

I haven't been able to locate the favourite info yet. I did a comparison of 2 saves; one with a favourite and one removed and it was difficult to notice the difference; I was hoping there was a flag being set of some sort.

Again though, I'm not massively experience in the world of hex or any yuzu modding lol.

I'll keep posted on here and look forward to seeing what everyone finds!

EDIT:

Mine started D7A90

cualquiercosa327 commented 1 year ago

Oh, i didn't read the important part : ### For me the size of every build is 6692 bytes (0x1A24) There are 30 slots (including 8 favorites) Data starts maybe around 000DB6DC or 000D7A5C on v1.1 ...... It seems they are something wrong : the game has 30 for the temp AND 8 for favorites according the game it kepts 38. I looking for the String "CmbAct", they are 30 of them all of 6692 bytes (0x1A24). Mine began on the address D7A94. After that block they are a little block of 0, of size 38 hex. Probably the favorites are before, sadly I had already closed the pc. I changed one block of CmbAct with other different of the save2. I restore the save on my Switch and it worked perfectly. I looked on both saves but the icon has no changed. I have just seen my mistake: i changed the data of how to build, but no the icon data!! It is no build on the fly, it is on the save. Note : i dont know if the schemes are on the savefile also nor the vehicles the monster already have (i doubt that, it will be on one file if the game) I would love the limit of things can be attached and how behaves the physics engine. Of course it is no important now but they kept on some way a 3d model. I would bet every object has its index, plus the position it is (the position include the differences from the item on "normal" state) nor where it is and what part joins the others. The first object no need the extra information of position and it is no joined. Ii know it is out the scope of the save editor which only need to extract/import the full chunk and add the picture it is showed,but i am thinking on how deep the game is and all options it gives for modders and new proyects. As example a model editor/viewer independent of the included on the game : with the 3d model and texture exported and its ID. Excuse the speech: I LOVE this game.

Yes I noticed a lot of spacing between each history item also.

I assumed that the way they are saved is how you mentioned; item -> it's rotation -> where it connects via the glue.

I haven't been able to locate the favourite info yet. I did a comparison of 2 saves; one with a favourite and one removed and it was difficult to notice the difference; I was hoping there was a flag being set of some sort.

Again though, I'm not massively experience in the world of hex or any yuzu modding lol.

I'll keep posted on here and look forward to seeing what everyone finds!

EDIT:

Mine started D7A90

I believe the others are on the blocks before that. 8 blocks of size = 0x1a24 (maybe more if it has a flag of favorites but i doubt.)

Ah, very useful on HxD:

control+G go to
control+E select block

marcrobledo commented 1 year ago

Got an importer/exporter working already ;-)

harbour0 commented 1 year ago

Got an importer/exporter working already ;-)

Bravo!

Were we in the right direction ?

marcrobledo commented 1 year ago

Got an importer/exporter working already ;-)

Bravo!

Were we in the right direction ?

You were mising other needed bits for the thumbnail, but other than that yeah, you got the real data size ;-)

harbour0 commented 1 year ago

Got an importer/exporter working already ;-)

Bravo!

Were we in the right direction ?

You were mising other needed bits for the thumbnail, but other than that yeah, you got the real data size ;-)

Amazing stuff! Can't wait to see it on master.

Are you looking to export it to a better format such as JSON?

Means we can create a little database with these and potentially create a system to retrieve and insert users creations with ease!

cualquiercosa327 commented 1 year ago

Got an importer/exporter working already ;-)

Bravo!

Were we in the right direction ?

You were mising other needed bits for the thumbnail, but other than that yeah, you got the real data size ;-)

Amazing stuff! Can't wait to see it on master.

Are you looking to export it to a better format such as JSON?

Means we can create a little database with these and potentially create a system to retrieve and insert users creations with ease!

If you talk about users can import it easily, it is no needed convert to Json : simply copy the chunk of data, save it on a file and share it(you can see examples on the file I attached).Once the user wants that creation, he/she upload their save file to the web and press the butto: it will replace tone of the builds with the new one.

marcrobledo commented 1 year ago

I uploaded a very preliminary version. I've tested it and managed to clone one of my designs into other slots, so I figure it's functional.

The only issue I found is that the thumbnail gets a different camera angle for some reason. I'll take a look at it tomorrow. Should be fixed now!

Enjoy :-)

harbour0 commented 1 year ago

I uploaded a very preliminary version. I've tested it and managed to clone one of my designs into other slots, so I figure it's functional.

The only issue I found is that the thumbnail gets a different camera angle for some reason. I'll take a look at it tomorrow. Should be fixed now!

Enjoy :-)

I'll give it a shot shortly!

Thanks again for your hard work 🤝

Karlos007 commented 1 year ago

image

my_autobuilder_1.zip

You are the best!

harbour0 commented 1 year ago

Just curious; is the image stored within the data or generated in-game? Would be cool to view the schema on the editor so you know you've selected the correct one!

Once again, amazing work!

cualquiercosa327 commented 1 year ago

Great work! Have you understand already the how "combinedActorInfo" is coded? I know it is more than needed for an importer/exporter but I would love could delete any item. The reason? For having the machines the monsters use, I add one object ( with one is enough) as this way the build is saved on my autobuilder.

I see you have already discovered the offset of the variables : cameraPos, cameraAt and isFavorite for the full build. Thanks for your awesome work!

ApacheThunder commented 1 year ago

Haha I'm already doing crazy stuff with auto build:

https://twitter.com/Tankerbot/status/1665210237266063362

Thanks to that I found where in my save some of my autobuild history is in. The slot names in the current version of the editor makes it hard to tell what they correspond to in game so instead I just searched by actor ID name in my save file and directly and replaced one object with another. It seems I can use longer or shorter names then the original so long as I use 00 hex value to correctly end the string.

Anyways I hope eventually the autobuild features eventually let you set position/rotation cooridents for autobuild objects. I tried to spawn something a bit larger and it seems if it overlaps with another object in the autobuild plan it will say there isn't room to build it so that limits me if I can't move them. It doesn't seem to matter if they are too far apart to actually connect. At least with my test of the NPC Zelda object. It just never connected to the korok NPC object and remained where I spawned it. :P

Sadly I could not use Korok backpack NPCs in my plan without the camera bugging out and it auto canceling. (normally it spawns a green backpack that doesn't have the korok NPC on it). So no full korok backpack NPC on demand it seems. :(

It does seem the autobuild thumbnails are saved as images somewhere. The object swaps I did not alter the thumbnail for it.

EDIT: Lol spawned a bokoblin with it. They spawn larger then normal too. The attached backpack korok just vainishes instantly because it it's the green korokless one and since it failed to attach it just vainishes. The bokoblin remained though. A good way to spawn random crap if you want. Seems better then via stables at least. :P

Note that the bokoblin would not attack if I spawned him in an area near a stable and one time he just vanishes. After I went out of the safe zone of the stable, he saw me and started attacking. killing him dropped the normal loot for a Bokoblin.

marcrobledo commented 1 year ago

Just curious; is the image stored within the data or generated in-game? Would be cool to view the schema on the editor so you know you've selected the correct one!

It is generated in real time.

It does seem the autobuild thumbnails are saved as images somewhere. The object swaps I did not alter the thumbnail for it.

The thumbnails are generated in real time, but probably the game just loads the environmental object models and ignores the rest.

Have you understand already the how "combinedActorInfo" is coded?

Anyways I hope eventually the autobuild features eventually let you set position/rotation cooridents for autobuild objects.

Sadly, if I ever add editing features, it will be very basic without no 3D model preview, as that sounds almost like another project by itself.

cualquiercosa327 commented 1 year ago

Have you understand already the how "combinedActorInfo" is coded?

Anyways I hope eventually the autobuild features eventually let you set position/rotation cooridents for autobuild objects.

Sadly, if I ever add editing features, it will be very basic without no 3D model preview, as that sounds almost like another project by itself.

I agree you it will add things the editor doesn't need : if is better build an 3d viewer/editor independient.

What i mean is the editor render the thumbnail and maybe an option where it list the items the "device" has and let you check them to let all or quit and Although as you said it can be too much.

Thanks for your awesome work!

Note: it would be great the option of removing slots (put the code of a void one): Lots of times they are only garbage although the editor should show a flag on the favourites for avoid mistakes. Almost until the preview/thumbnail is added (if it is added)

I don't know why I saw 38 slots

harbour0 commented 1 year ago

Have you understand already the how "combinedActorInfo" is coded?

Anyways I hope eventually the autobuild features eventually let you set position/rotation cooridents for autobuild objects.

Sadly, if I ever add editing features, it will be very basic without no 3D model preview, as that sounds almost like another project by itself.

I agree you it will add things the editor doesn't need : if is better build an 3d viewer/editor independient.

What i mean is the editor render the thumbnail and maybe an option where it

list the items the "device" has and let you check them to let all or quit and

Although as you said it can be too much.

Thanks for your awesome work!

Note: it would be great the option of removing slots (put the code of a void one): Lots of times they are only garbage although the editor should show a flag on the favourites for avoid mistakes.

Almost until the preview/thumbnail is added (if it is added)

I don't know why I saw 38 slots

This is exactly why I recommend exporting it to a more readable such as JSON. It'll allow for it to be modified a lot more easier and can allow for us to create and export builds with ease.

It might be worth externally looking at creating a solution that will render and allow for these modifications of the auto builds to happen!

Love the discussion going on here :)

Shideravan commented 1 year ago

Could there be a way to have a repository where we could upload/download our creations easily?

0757myt commented 1 year ago

The biggest single object that is registerable in Autobuild seems to be "Obj_BoneWhale_A_02" which is found in the southwestern most cave in the desert (southwest of Lighting Temple.) The room size data of the entire blueprint is stored separately (independent of the objects stored but still within the data block I assume), but I'm not sure where exactly they are, maybe at the very end or the very beginning. If we could find that we can technically spawn every ActorName without the restriction of the No Room error.

Slightly off topic: Even still, I couldn't get larger enemies like Lynel to spawn in without the No Room error. However, by executing a glitch called Autobuild Cancel Slide (present on 1.0 - 1.1.1, patched out on 1.1.2,) I was able to get it to stay while letting Link to attack it: files.catbox.moe/p9oy61.mp4

The best I could come up with Enemy ActorNames is Enemy_Octarock_Stone , you can repair your equipment with it: https://files.catbox.moe/eoia36.mp4 Here's the autobuild export: my_autobuilder_2.zip

cualquiercosa327 commented 1 year ago

Could there be a way to have a repository where we could upload/download our creations easily?

We only need a good place for it. Probably gbatemp.net be one of the best.

Also, in my view, it would be nice is it were split on two kind : the one which can be build on the game and other with the ones which use custom ones as Nintendo can easily patch it (they only need to add a code to verify if the item is on a list with the one allowed)

cualquiercosa327 commented 1 year ago

I am no sure if I have understood well : does the "Obj_BoneWhale_A_02" can be used on the Autobuilder (without modding the save file)?

The save doesn't kept the actor data, only its ID. All blocks have the same size : 0x1a24

I have no edit mine, which makes i had no seen the "no room" message.

The "Enemy_Octarock_Stone" is a smart way of clone. Is it what you attached on the file you have added?

On the first video you have a nice robot, can you please share it?

ApacheThunder commented 1 year ago

Soo...a bit on the unrelated side but it looks like you can spawn almost anything you want on the figurine display in Terry Town:

image

As you can see I replaced one of my ice chu chu's with a Korok Backpack. :P

Like with the official figurines, the NPCs still stop you from removing them from the area. Interesting. I was expecting them to just use flags and a lookup table for this but sure just store whole ass actor IDs for this too. :P

EDIT:

image

LOL so you can sorta remove things from the area. My korok buddy cloned after the NPC dialog ended and I can't remove the duplicate without triggering the NPC dialog. BUT the one it placed back on the display I was able to just take out of the area... :P

Saving and reloading removes the duplicates FYI with the original being in the area the duplicates got placed.

EDIT2: Ok interesting note. Using this as a nice spot for Octorok farming won't work. They don't attack because it's a town/stable safezone. But I could kill it. Somehow the game recognizes it as being removed from display and it's spot was freed up on save reload so I could ask the NPC to place something new in it's spot. So while you can spawn enemies here they won't be very useful. At least nothing breaks when you kill them. :P

Also if you spawn something that moves out of the area on it's own it will also trigger the NPC dialog. Tried to spawn Npc_Zelda_Opening and like with the Stables she falls through the ground towards the great void below which triggers the NPC dialog and basically soft locks the game because she always falls into the void when it attempts to respawn her back on the platform area. Super odd. Why does she behave herself when I spawn her via Autobuild? But via stables and the figurine stand, she falls into the ground.... :(

I suppose you could spawn items here. Though I imagine once you pick them up they get cleared from FIGI table and you'll have to save edit them back in.

Oh and the figurine section is easy to find. Just search for FIGI in the save file and you'll be in the area where the figurine actor ID data is stored. It's in between the autobuild data and the horse name data from what I recall.

EDIT: So I tried to see how many clones of Koroks I can make and crashed the emulator after I produced maybe 20 to 30+ koroks. Not sure where the limit was near the end. It crashed while I was moving one of them around. :P Tried again on hardware and it seems I can push things much further there. Though it became find the korok in the korok stack game after awhile because only one of the koroks in the pile that spawns on the side is the one I can trigger the NPC dialog with. :P

I gave up after awhile. Here's the result. Framerates were still pretty good at the end when I stopped doing this.

https://twitter.com/Tankerbot/status/1665563153613176832

0757myt commented 1 year ago

I am no sure if I have understood well : does the "Obj_BoneWhale_A_02" can be used on the Autobuilder (without modding the save file)?

Yes, it is an object involved with a sidequest at previously said location, and I believe you don't need to accept nor complete it to register that object into Autobuild through normal gameplay.

  • I don't understand what you mean with " " The room size data of the entire blueprint is stored separately".

What I meant is the radius of the purple circle that appears when you select a blueprint, which I assume dictates whether an object can be spawned in. The object mentioned above creates the largest purple circle to my knowledge, and the size of the circle doesn't become smaller if I were to swap Obj_BoneWhale_A_02 to something else like an apple, it stays the same size. What I think is happening when I try to spawn larger enemies is that the enemy is somehow considered bigger than the predetermined purple circle by the game and it therefore blocks the player to spawn the blueprint.

Another one of my theory is that enemies spawned this way have missing bones or attachments since Lynel in my video was missing his weapons. Which I assume defaults to 0, 0, 0 and the game thinks the enemy that I'm trying to spawn is half a map big when I was nowhere close to the center of the map as I tried to spawn it via Autobuild. You can sort of see the jitter when the Lynel gets hit, its model stretches incorrectly into the ground, which makes me think the game is confused about bone placement when autobuilding the enemy.

The "Enemy_Octarock_Stone" is a smart way of clone. Is it what you attached on the file you have added?

Yes, the zip file I shared is what the Autobuild export function in the save editor gave me. It is a Rock Octorock with an apple.

On the first video you have a nice robot, can you please share it?

It is a main quest unlock, not related to Autobuild.

marcrobledo commented 1 year ago

I do not mind if you guys do some cool research like this, but I'd prefer you to open a new issue for that (even if it's not exactly an issue).

Even though no one has complained yet about the autobuilder import/export feature, I want to keep this clean so it's easier for me to track the real issues. Let's leave this current issue for problems and/or CombinedActorInfo structure research and, if you don't mind, open a new one for the rest of playing with actor IDs.

ApacheThunder commented 1 year ago

I believe I successfully created a one object Autobuild plan. I compared some different CmbAct sections and experimented with changing this byte. The first 3 bytes after the header is always 00 00 02 it seems but the byte after that appears to define the object count. I'm fiddling with the next byte to see if that's the plan area size. Setting it to FF broke it and caused a odd camera angle so maybe? I'll play around more with that.

image

I zero'd out the second actor ID and it still works. Though the particular actor I tried to spawn is still too large for the original plan but that's an unrelated issue. Normally zeroing out one of the IDs breaks the entire plan but after changing that byte to 1 on a 2 object plan it worked. I can confirm the difference via zonaite cost. Original plan costed 6 and the modified one is half that at 3. ;)

So hopefully that helps in allowing the editor to add/remove new entries to a plan. ;)

(Though I wouldn't recommend creating a one object plan unless you are spawning normally unsupported objects with it as normal "greenified" objects despawn immediately since they aren't attached to anything)

EDIT: Ok that second byte I was playing with doesn't appear to be plan area size. Not sure what it is. I did manage to get the object to spawn if I hovered it over a certain raised area in the landscape which caused it's rotation to glitch a bit..it might be due to rotation or something since some actors force a certain rotation direction relative to the ground so that might be why some large dynamic stuff like Lynals have a hard time spawning with it.

EDIT2: yeah it's definitely a rotation issue. I messed with the rotation with the problematic object a enough and it was starting to let me place it more often. Center of mass/rotation of the plan is likely why some custom Actor IDs aren't getting along with it. ;)

Also noticed that my one object plan is basically free as long as it's a non standard object. The UI says it's 3 zonai but for some reason it seems to semi cancel on spawn and doesn't take my zonaite ( I have to guess it's expecting the object to despawn itself but since it's a non fusable object not normally allowed in autobuilds that never happens since it seems normal fuseable objects handle that behavior on their own and it's not the autobuild system deleting the object?).

Anyways that's off topic now so I'll keep it at that. :D

cualquiercosa327 commented 1 year ago

Hello, it seems the limit of objets you can use for one build are 21.

sequestersi commented 1 year ago

I believe I successfully created a one object Autobuild plan. I compared some different CmbAct sections and experimented with changing this byte. The first 3 bytes after the header is always 00 00 02 it seems but the byte after that appears to define the object count. I'm fiddling with the next byte to see if that's the plan area size. Setting it to FF broke it and caused a odd camera angle so maybe? I'll play around more with that.

image

I zero'd out the second actor ID and it still works. Though the particular actor I tried to spawn is still too large for the original plan but that's an unrelated issue. Normally zeroing out one of the IDs breaks the entire plan but after changing that byte to 1 on a 2 object plan it worked. I can confirm the difference via zonaite cost. Original plan costed 6 and the modified one is half that at 3. ;)

So hopefully that helps in allowing the editor to add/remove new entries to a plan. ;)

(Though I wouldn't recommend creating a one object plan unless you are spawning normally unsupported objects with it as normal "greenified" objects despawn immediately since they aren't attached to anything)

EDIT: Ok that second byte I was playing with doesn't appear to be plan area size. Not sure what it is. I did manage to get the object to spawn if I hovered it over a certain raised area in the landscape which caused it's rotation to glitch a bit..it might be due to rotation or something since some actors force a certain rotation direction relative to the ground so that might be why some large dynamic stuff like Lynals have a hard time spawning with it.

EDIT2: yeah it's definitely a rotation issue. I messed with the rotation with the problematic object a enough and it was starting to let me place it more often. Center of mass/rotation of the plan is likely why some custom Actor IDs aren't getting along with it. ;)

Also noticed that my one object plan is basically free as long as it's a non standard object. The UI says it's 3 zonai but for some reason it seems to semi cancel on spawn and doesn't take my zonaite ( I have to guess it's expecting the object to despawn itself but since it's a non fusable object not normally allowed in autobuilds that never happens since it seems normal fuseable objects handle that behavior on their own and it's not the autobuild system deleting the object?).

Anyways that's off topic now so I'll keep it at that. :D

What program do you use to edit the autobuild files?

Karlos007 commented 1 year ago

That seems HxD

ApacheThunder commented 1 year ago

Yeah used a hex editor to manually modify my Autobuild data. There isn't a tool for that yet.

eUnisk commented 1 year ago

Guys amazing work! Is there a place where we can download autobuilds? I do need a perfect mk2, nothing more. My own creation is always not going straight.

Inmortuae commented 1 year ago

You find anything?

eUnisk commented 1 year ago

You find anything?

Not really. You got a save file with a perfect mk2?

Inmortuae commented 1 year ago

Nope lol i was looking for good builds lol

inspectah88 commented 1 year ago

Guys amazing work! Is there a place where we can download autobuilds? I do need a perfect mk2, nothing more. My own creation is always not going straight.

Write a tutorial and create a thread on GBAtemp and https://www.reddit.com/r/HyruleEngineering/ to let people know of the feature.

cualquiercosa327 commented 1 year ago

Hello, I want suggest to add the code for rendering the object. They are already a pluggin for toolbox done by superspazzy which works great. He also developer a json converter Thanks!

cualquiercosa327 commented 1 year ago

Hello, I want suggest to add the code for rendering the object. They are already a pluggin for toolbox done by superspazzy which works great. He also developer a json converter Thanks!

Where did you get that toolbox plugin? I've been looking for it forever

Please Stop!. I have no done it, simply I test a binary versión and have asked for sharing but it seems he wants finish it and upload the src on his github. give him time! I have received toons of messages on Discord begging for something which doesn't depends of me. When he can he will upload. With that behavior you only make people tired. Fortunately I have no relationship with the pluggin. I tell that because this kind of behavior can make people get tired and choose delete and forget about it.

Excuse me marcrobledo and the rest who are researching for the proyect : i have received too much messages of two persome begging...

Lucifiish commented 1 year ago

Got an importer/exporter working already ;-)

Bravo!

Were we in the right direction ?

You were mising other needed bits for the thumbnail, but other than that yeah, you got the real data size ;-)

Amazing stuff! Can't wait to see it on master. Are you looking to export it to a better format such as JSON? Means we can create a little database with these and potentially create a system to retrieve and insert users creations with ease!

If you talk about users can import it easily, it is no needed convert to Json : simply copy the chunk of data, save it on a file and share it(you can see examples on the file I attached).Once the user wants that creation, he/she upload their save file to the web and press the butto: it will replace tone of the builds with the new one.

Yes, but it would be really beneficial to convert to JSON so that we can edit builds externally. I'd love to try to help on something like that myself but it's just way, way outside my area of expertise :(

inspectah88 commented 1 year ago

So there is tools to edit Autobuild Exports externally? Sounds really cool. Is there a place to follow this kind of topic?

cualquiercosa327 commented 1 year ago

So there is tools to edit Autobuild Exports externally? Sounds really cool. Is there a place to follow this kind of topic?

They are already a pluggin for view them on toolbox. Also they are a proyect to make an standalone tool which allow edit but they are still no news.

Lucifiish commented 1 year ago

So there is tools to edit Autobuild Exports externally? Sounds really cool. Is there a place to follow this kind of topic?

They are already a pluggin for view them on toolbox. Also they are a proyect to make an standalone tool which allow edit but they are still no news.

Wait, you know of an already existing .totkab reader? Where might I find it?