Author Topic: How to procure items using the cube  (Read 14163 times)

Ratero

  • Founder
  • Nameless
  • *
  • Posts: 69
  • Karma: 0
Re: How to procure items using the cube
« Reply #15 on: Oct 02, 2010; 08:02 PM »
Kite, "treasureResult1" which I thought I saw does not exist in my Recipe list.  The closest I have is "resultQualityModifer".  I'm beginning to think I do not have the current release of Reanimator.  Going over the Recipe sheet I should be able to see the end result of the Cube recipe for all the rows in this table as that would be the pointer for the Treasure table.  But none of these pointers are in my copy.

Kite

  • Developer
  • Eldest
  • ****
  • Posts: 1095
  • Karma: 3
Re: How to procure items using the cube
« Reply #16 on: Oct 02, 2010; 09:05 PM »
Ouch... you're right. The whole column (and a few others) is missing in that old Reanimator version... I didn't think it'd be that far behind. Well I'll talk to maeyan to see if the last founder release can be moved to the public section so you'll have to wait until then.
(We offer 2 Reanimator versions for DL: The newest version is released for "founding" members only and is mostly used for testing purposes. If the testing of that version is done and we have a newer version, the newest version will be released for founders to test again, while the previous testing version is released to all forum members).
« Last Edit: Oct 02, 2010; 09:29 PM by Kite »
~ Recettear ~
Capitalism, ho!

Ratero

  • Founder
  • Nameless
  • *
  • Posts: 69
  • Karma: 0
Re: How to procure items using the cube
« Reply #17 on: Oct 02, 2010; 09:12 PM »
Ah ok not a problem.  Thank you for clearing that up for me.  I guess new cube recipes will be on  hold for a bit. :)

Ratero.

schreder

  • Nameless
  • *
  • Posts: 2
  • Karma: 0
Re: How to procure items using the cube
« Reply #18 on: Oct 26, 2010; 02:00 AM »
I did every thing you said, but it didnt work :(
It did add a new recipe at the end of the in game recipe list, and the info is right( Attribute retrainer and shit) but when i use it a regular personal relocation device is created :(
any tip?
Thanks btw :)

Kite

  • Developer
  • Eldest
  • ****
  • Posts: 1095
  • Karma: 3
Re: How to procure items using the cube
« Reply #19 on: Oct 26, 2010; 10:59 AM »
The problem with the above description might be, that the game can't decide wether you want to create a portal or an attribute retrainer as both use the same items and only need different quantities. As we can't split item stacks, this is a bit of a problem...

I'd suggest either using another ingredient for this recipe (like 1 "Adrenaline Pill": Ingredient1ItemClass = 79), or add a second item to the recipe so that you need a combination of 1 Analyzer + 1 Adrenaline Pill to create the item.
~ Recettear ~
Capitalism, ho!

schreder

  • Nameless
  • *
  • Posts: 2
  • Karma: 0
Re: How to procure items using the cube
« Reply #20 on: Oct 26, 2010; 08:19 PM »
Now it works :D
Thanks dude!

BillMitcheal

  • Nameless
  • *
  • Posts: 3
  • Karma: 0
Re: How to procure items using the cube
« Reply #21 on: Dec 05, 2010; 11:54 AM »
I have been having almost as much fun messing around with the Reanimator as playing the game itself - thanks for creating it! I did some editing of the procedure posted for duping stuff to fill in the nubee blanks left by the brilliance that created the original.
Here is my feedback after ensuring I followed the instructions carefully, test several times and then went back through each step afterwards to make sure I didn’t miss anything:
I created four items using the dupe technique outlined and made sure each duped item was uniquely entered and the files saved. Opened the game cube and there they were at the bottom of the list. I created each item. To my disappointment instead of creating fuel, ammo, relic and a battery; all I could create was the first item duped – the fuel. Well not quite, each item created what looked like the fuel item (each item created used the same microjet fuel cell image) but had the properties (affixes) assigned to other items -the relic, or the ammo or the battery.

After many attempts to correct this I gave up and moved on to the “affixes.”  Leaving the four items I created as they were, I went in and goosed up there associated “affixes.” This got really crazy results in game play, exploding Mobs and such. Then I noticed my Character was no longer saving after game play, and I had not saved, saved, saved as advised, so that character goes to the bone yard.
Thanks for the hours of entertainment

Yandor

  • Named
  • **
  • Posts: 288
  • Karma: 6
Re: How to procure items using the cube
« Reply #22 on: Dec 24, 2010; 02:05 PM »
This is the process I went through to get a Thor’s Hammer, Items 420, out of “scorched”, the last recipe shown on the cubes drop down list.

Reanimator shows the last recipe as 81 “cube_egg_cratepecker”.
Ok, change recipe 81 ingredients to 1 nano 116 and 1 analyser 111 and the reward to Items 420.

Hmm, the second to last recipe 80 got changed instead, so I get Kungfu Bunny instead.[attachment=4:38bud0k0]Thor1.png[/attachment:38bud0k0]

What does Reanimator now show?
Hmm, did I change the wrong recipe?
Go with the flow.
The reward for nano +analyser is now cube_result_dye_black_knight.
Where does the Bunny fit in here?
[attachment=3:38bud0k0]Thor2.png[/attachment:38bud0k0]

Hex Editor shows 0419h = 1049$, same digits in a different order, that was quite a fluke.
Hmm, Items 1049 is a bunny but its hiding in the black knights hole.
Wonder how the black knight feels about that?
Maybe his name is Warren Knight.
[attachment=2:38bud0k0]Thor3.png[/attachment:38bud0k0]

So hex this to Items 420$ = 01A4h and see if it will give a 420 Thors Hammer.
Yup and the recipe does show the new reward.
So a level 50 character gets a weapon for a level 23 character, oh well, time will tell.
[attachment=1:38bud0k0]Thor4.png[/attachment:38bud0k0]

Reanimator reads the hexed change for Thors Hammer correctly.
So the important thing is that the cube will create the uniques you choose, we get there in the end. Just maybe need to hex around the edges for now.
Xmas time yay.
[attachment=0:38bud0k0]Thor5.png[/attachment:38bud0k0]

Most of the recipes now in the cube produce items that can be obtained by a high level character from a shop and then item traded to a storage character and duplicated as needed. An exception is the mods recipes perhaps. Anyway there may now be enough information available to do a version of the cube that will create 8 or more chosen uniques using scraps for ingredients which is what I was attempting to do but had problems with Reanimator appearing to read reward item numbers from the right address but write new reward item numbers to the wrong address.  There is little purpose in using quantities other than one for ingredients now. The permutations from 8 types of scrap and up to 6 ingredients per recipe means that scrap ingredients should be able to support more recipes than anyone needs.

Yandor

  • Named
  • **
  • Posts: 288
  • Karma: 6
Re: How to procure items using the cube
« Reply #23 on: Dec 25, 2010; 01:58 AM »
Quote from: "maeyan"
The file modification to make is to the recipe table. Open it up and again dupe an existing row, its the quickest way. Lets dupe row 50. Scroll down to the new row which would be row 83. Rename it to 'cube_attribute_retrainer' for reference. This table has a 'code' column which contains a 5 digit number. This must be a unique value to all the other rows in the same table. 32000 isn't used, so replace the current code with this value.
Although Reanimator 1_1_0 beta 3b displays the two byte numbering system in the "code" column as a decimal value, FSS actually uses a 32 based alphabetical counting sequence.
If non-alphabetic numbers like 32,000 are entered you will likely get a malfunction or a crash.
GIGO- garbage in, garbage out.

Where Reanimator shows "code" = 16705 for the first recipe "fuel", in hex this is 4141h which represents the aphabetic letters AA (Hex Editor displays alphanumeric representations to the right of the hex listing).

FSS increases the numbers in alphabetic sequence..
AA
AB
up to
AZ then the next is
Aa
Ab
up to
Az then
BA
BB
up to
BZ then
Ba

Reanimator needs to display the appropriate 2 digit Alpha form and to restrict new entries to valid, sequential or first unused codes from the sequence. It would also help the sanity of hexers if it compiled the entries in recipes.txt.cooked in sequence, even though FSS doesnt seem to demand it. There are currently some gaps in the sequence and dud entries at the beginning and end of the file.
There is also some sort of misdirection problem that I have not made sense of yet.
Hope it helps.

alex2069

  • Developer
  • Nameless
  • ****
  • Posts: 19
  • Karma: 7
Re: How to procure items using the cube
« Reply #24 on: Dec 25, 2010; 05:58 AM »
Yea, I'd noticed this way back when I was first trying to determining the full structure to the excel files. At the time I was still digging in the client ASM and there was a lot of other unknowns and I couldn't be bothered trying to confirm/change it, but I did look a little more into it when I'd first noticed it:
I seem to remember there being some entries where this wasn't always so, where they had values < 0x20 or > 0x7E (not necessarily on the recipes table). I expect if this is the case, then they likely started like that (A-z) but some new dev didn't follow the "standards" or they were just pressed too hard and couldn't afford to be so careful. However it has been some time since I'd noticed so I may have seen wrong.

I'd completely forgotten about it until you brought it up though, so it might be worth while looking into again - if only to make it a little easier to edit for both the hex editors and through Reanimator.
I'll add it to my todo list to look into... Which is kind of long, lol
It's sitting below excel table script decompiler/compiler (AKA IntPtr columns) and SP -> TCv4 excel table conversion. i.e. Could be a while.

Malachor

  • Developer
  • Eldest
  • ****
  • Posts: 1996
  • Karma: 25
Re: How to procure items using the cube
« Reply #25 on: Dec 25, 2010; 08:50 AM »
Quote from: "Yandor"
Quote from: "maeyan"
The file modification to make is to the recipe table. Open it up and again dupe an existing row, its the quickest way. Lets dupe row 50. Scroll down to the new row which would be row 83. Rename it to 'cube_attribute_retrainer' for reference. This table has a 'code' column which contains a 5 digit number. This must be a unique value to all the other rows in the same table. 32000 isn't used, so replace the current code with this value.
Although Reanimator 1_1_0 beta 3b displays the two byte numbering system in the "code" column as a decimal value, FSS actually uses a 32 based alphabetical counting sequence.
If non-alphabetic numbers like 32,000 are entered you will likely get a malfunction or a crash.
GIGO- garbage in, garbage out.
For recipes, and items, using 32000 is fine. I have recipes starting at 32000 and incrementing by 10, and they're fine. While in items, some are incremented by only 1.
Obviously, I can't speak for any other file.

Yandor

  • Named
  • **
  • Posts: 288
  • Karma: 6
Re: How to procure items using the cube
« Reply #26 on: Dec 26, 2010; 09:02 AM »
Reanimator work arounds

Problem: If I dupe two or more lines in Recipes then try to save them, Reanimator has a memory failure and quits.
Suggestion: Dupe one line then save and exit Reanimator.
Repeat until you have all the new entry lines you need.
Start Reanimator, change the new entries as required, save and exit Reanimator.

Problem: After making any changes to Recipes and saving them, the second to last recipe stops working.
Suggestion: Restart Reanimator, open Recipes, save Recipes without making any changes to it.
Reanimator will have healed the second to last recipe for you.

Make more virtual memory available-
Increasing the system virtual memory aka swap file aka paging file-
Control Panel > System > Advanced System Settings >
In the Performance area (virtual memory) click the "settings" button.
In Performance Options, click the "Advanced" tab,
In the "Virtual Memory" area click the "change" button.
On a 4GB computer Win is likely to be using as little as 3GB of vitual memory.
In "Virtual Memory" click "Custom Size" and enter Initial size (MB): 10,000
and "Maximum size (MB): 20,000
click the "set" button.
Win will warn you if you do something silly.
« Last Edit: Jan 08, 2011; 01:59 AM by Yandor »

Yandor

  • Named
  • **
  • Posts: 288
  • Karma: 6
Re: How to procure items using the cube
« Reply #27 on: Dec 26, 2010; 09:51 AM »
Quote from: "Malachor"
Quote from: "Yandor"
Although Reanimator 1_1_0 beta 3b displays the two byte numbering system in the "code" column as a decimal value, FSS actually uses a 32 based alphabetical counting sequence.
If non-alphabetic numbers like 32,000 are entered you will likely get a malfunction or a crash.
GIGO- garbage in, garbage out.
For recipes, and items, using 32000 is fine. I have recipes starting at 32000 and incrementing by 10, and they're fine. While in items, some are incremented by only 1.
Obviously, I can't speak for any other file.

Yes unrestricted numbers are the sensible way to go.
I tried using Alph sequence when duping Recipe lines and it made no change to the problems.
Forget Alph numbers, they were dumb to start with.

There are work arounds for the Recipe problems and I can UL a recipe file when I get the unique creates finished.
Might have to give instructions for duping the Treasure file, 5M is a bit big to UL.
There may be work-arounds for the Treasure Dupe problems too.
Trying to find work-arounds so a hex editor isn't needed.
Just want people to get their Santa sack atm.
If the cube is to be the "fetch" tool then it would help if it becomes straightforward to use and change.

Reanimator seems to have a wrong handle on the way line entries are stored in the Recipe (and Treasure?) file.
It seems to be treating entry blocks as if they end with the Alpha code.
They start with the alpha code, which is apparent from looking at the first and last blocks in Recipes using a hex editor.

If so then any time Reanimator saves Recipes (and Treasure?) it risks a memory violation by attempting to write the first recipe line into the memory area above where the file in memory resides.
It appears to have its "write pointer" offset from its "read pointer" by the length of one data block. An offset like that might be used when stretching a file to add an extra line, but misuse should tend to move data down in the file not up as it is atm.

I intend to reinstall my game sometime soon and intend to keep copies of FSS 1.2 files so I can see if Reanimator alters them on save, with or without changes.
The beginning and end of current Recipe files appear damaged, I suspect it was a work-around to reduce Reanimator crashes that was not present in the original 1.2 file structure. In one sense the crud doesnt matter, if the game and reanimator handle it then no big deal?

When there is "data migration" happening, misdirection, the deviation away from FSS Alph sequencing could have consequences, lost data or damaged data. This is a coding fault fault in Reanimator though so there is only one fix for it and Alph numbers are not going to help as a work-around it seems.

Would like the file structure to stay clean but there are bigger issues.
Also, if HGL tolerates a dud block at the end of a file then that might be exploited to display a message like- Quest for Gold patch for Rev 1.2.1- in the existing text area of the block.

I will probably sub in the new year so less time is wasted on guessing.

One option might be to use Cheat Engine on Reanimator to see if it does write Recipe data outside of its file-in-memory area. It might also demonstrate the data migration within the file area.

Sorry for the jumbled reply. If only it could be just one problem at a time...

alex2069

  • Developer
  • Nameless
  • ****
  • Posts: 19
  • Karma: 7
Re: How to procure items using the cube
« Reply #28 on: Dec 27, 2010; 08:46 AM »
This is all a little off topic now, but meh:

Quote from: "Yandor"
Yes unrestricted numbers are the sensible way to go.
I tried using Alph sequence when duping Recipe lines and it made no change to the problems.
Forget Alph numbers, they were dumb to start with.
Disclaimer - not 100% sure about this, I've yet to completely test it. I've only been able to get the game to partially work off of "-direct" (not really a priority).
The alpha-numbers are used for inter-table relations. In the cooked version of the excel files, the rows that refer to other tables use index numbers. But in the original .txt versions they use the code value - when cooking, the game strips them out and replaces the row index for instant lookups instead of trying to find the row with xzy code. This is probably why they used alpha-numeric "code" values (another reason I should look into completely implementing this - would make editing easier). <- FSS were very big on making things as fast as humanly possible

Quote from: "Yandor"
Reanimator seems to have a wrong handle on the way line entries are stored in the Recipe (and Treasure?) file.
It seems to be treating entry blocks as if they end with the Alpha code.
They start with the alpha code, which is apparent from looking at the first and last blocks in Recipes using a hex editor.

If so then any time Reanimator saves Recipes (and Treasure?) it risks a memory violation by attempting to write the first recipe line into the memory area above where the file in memory resides.
It appears to have its "write pointer" offset from its "read pointer" by the length of one data block. An offset like that might be used when stretching a file to add an extra line, but misuse should tend to move data down in the file not up as it is atm.
I implemented excel file reading using a generic row-type array style. Each excel table has its own type-class (what is in each row) and the rows are read directly into memory into an array of that type (there's no single/value byte reading) - this is a similar method to how FSS do it (except they do it using pointer offsets etc, but we're using C#; a managed language - makes it a little harder to do that stuff, just easier to copy/paste).
Similarly with writing, the rows are written as a whole block array.
For the recipes you can see the row details here:
https://code.google.com/p/reanimator/so ... s.cs?r=903

Now in terms of writing over the end etc... I'm assuming you're using the public release of Reanimator and not the latest in the SVN... Thus this overwrite etc is quite possible, (not really sure). It is many many revisions ago now, quite likely with bugs that have since been fixed. The latest SVN release though has near perfect cooking and uncooking of every table in the game, down to the last byte - I put every table though a very large number of tests and scenarios and did byte comparisons of before an after results etc.

Quote from: "Yandor"
I intend to reinstall my game sometime soon and intend to keep copies of FSS 1.2 files so I can see if Reanimator alters them on save, with or without changes.
The beginning and end of current Recipe files appear damaged, I suspect it was a work-around to reduce Reanimator crashes that was not present in the original 1.2 file structure. In one sense the crud doesnt matter, if the game and reanimator handle it then no big deal?

When there is "data migration" happening, misdirection, the deviation away from FSS Alph sequencing could have consequences, lost data or damaged data. This is a coding fault fault in Reanimator though so there is only one fix for it and Alph numbers are not going to help as a work-around it seems.

Would like the file structure to stay clean but there are bigger issues.
Also, if HGL tolerates a dud block at the end of a file then that might be exploited to display a message like- Quest for Gold patch for Rev 1.2.1- in the existing text area of the block.

I will probably sub in the new year so less time is wasted on guessing.

One option might be to use Cheat Engine on Reanimator to see if it does write Recipe data outside of its file-in-memory area. It might also demonstrate the data migration within the file area.

Sorry for the jumbled reply. If only it could be just one problem at a time...
I wouldn't bother trying to find any bugs in the public release version - that latest SVN is orders of magnitude better (and much has been rewritten). We generally don't even use the data table method any more (which if memory serves is currently broken anyways), we've implemented CSV exports (similar in ways to the original .txt format), which lets us edit in Excel or OpenOffice Calc, etc. Then we drag-drop onto a small cooking app and it's done.
This however is not really non-developer friendly... If I get the time I might go over and try to fix up Reanimator for a new public release (which is apparently needed), however as mention earlier, I'm in the middle of converting the TCv4 for Abyss and Stonehenge to SP tables (which I think people would prefer), so this could be a while.
I might have a quick look at it over the next few days - no promises though.

Yandor

  • Named
  • **
  • Posts: 288
  • Karma: 6
Re: How to procure items using the cube
« Reply #29 on: Dec 27, 2010; 08:28 PM »
Quote from: "alex2069"
If I get the time I might go over and try to fix up Reanimator for a new public release (which is apparently needed), however as mention earlier, I'm in the middle of converting the TCv4 for Abyss and Stonehenge to SP tables (which I think people would prefer), so this could be a while. I might have a quick look at it over the next few days - no promises though.
Yes, as you say, there are better things to do  :D
It also has a memory leak, real or imagined, gives you a very limited time to change and save a file before save attempts fail with an out of memory message. Not sure it would be an easy fix. Might be more sense to wait for the next release.

Yes, alph sequence and file structure will only get maintained if reanimator code makes it happen.  There is no point in me being a voice in the wilderness- your intentions give me comfort for the future, thank you.

I have been able to get unique weapons at their base level.
Not fond of messing with the base levels in order to get the range of levels out of it.

Have previously got some by messing with qualities in 2h weapons.

Had hoped to UL a recipes file with lines in it so people could fetch their own unique weapons and armor but it currently looks like it will involve bigger files that I dont want to UL.
If I find a simple way I will post it, otherwise so be it.
Take it easy Alex, even the Biblical slaves got one day off per week.