|
Xkeeper Level: 263 ![]() Posts: 21880/25353 EXP: 297138718 For next: 1821735 Since: 07-03-07 Pronouns: they/them/???????? Since last post: 3 days Last activity: 7 min. |
|
perhaps a hammer is in order? ____________________ (Lv 231 with 189866090 EXP) |
![]() Register - Login | |||||
|
Main
- Memberlist
- Active users
- Calendar
- Wiki
- IRC Chat
- Online users Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies |
|
| | |||
| Jul - General Game/ROM Hacking - Renewed intrest in destroying Fortune Street Wii |
- - ![]() |
| Next newer thread | Next older thread |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
I'm sick of staring at this stupid game's bugginess with no idea what's causing all of its problems. I want to at least make an attempt to fix shit so modding is finally worthwhile.
Here's everything I know that crashes right now:
____________________ |
|
Xkeeper Level: 263 ![]() Posts: 21880/25353 EXP: 297138718 For next: 1821735 Since: 07-03-07 Pronouns: they/them/???????? Since last post: 3 days Last activity: 7 min. |
|
perhaps a hammer is in order? ____________________ (Lv 231 with 189866090 EXP) |
|
Drag 2640 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Level: 99 ![]() Posts: 2622/2641 EXP: 9990047 For next: 9953 Since: 07-03-07 Since last post: 4.2 years Last activity: 3.4 years |
|
|
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Originally posted by Drag That's the thing, that might make a bit of sense for just regular movement, but selecting a space to warp to also hangs/freezes in the exact same manner and there would be no sane reason to look ahead when you can freely choose any tile and paths are irrelevant. ____________________ |
|
Drag 2640 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Level: 99 ![]() Posts: 2623/2641 EXP: 9990047 For next: 9953 Since: 07-03-07 Since last post: 4.2 years Last activity: 3.4 years |
|
|
|
Raspberry Thank you for my time here. I won't ever forget.. Level: 85 Posts: 1794/1823 EXP: 5726848 For next: 171692 Since: 07-07-07 Pronouns: she/her Since last post: 1.0 years Last activity: 77 days |
| ||
|
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Originally posted by Inuyasha It's the AI. It recursively searches for moves and the function it uses to do so appears to be so hideously unoptimized that it freezes for a bit due to the amount of time it takes. As for why it crashes on hardware? The AI function in question is recursive; it's probably a stack overflow. And yes, it is running ALL. THE. TIME. Even in 4p games with no AI players. Sigh... What am I going to do about this? ____________________ |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Originally posted by Inuyasha 804104C0 in main.dol. Each map has a 130 byte array, a 0x01 means the venture card is allowed to show up, 0x00 means it isn't. Yes, 130 byte array. There's only 128 venture cards. 129 and 130 are set to 0x00 in every table. Also, courtesy of Ninji:
____________________ |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Round the Blocks technical info.
To start off, the pattern of blocks you get directly corresponds to how well you're doing in the game. If you're in first, you get pattern 0, second gets pattern 1, and so on. Each number within the pattern determines which set of faces each block has, starting from top-left and working right. Face number 0 is a slime/mushroom, number 1 is a Suit Yourself card, number 2 is stocks (and hence isn't seen anywhere in Easy mode), number 3 is a warp, and number 4 is a 7. As you can probably tell, you get garbage odds if you're in the lead, and not much better if you're in second. Yes, there are NINE faces on a six-sided block. Just like the game's die, if you roll one of the last three faces, the texture will suddenly switch to show the last three faces in place of the first three. The game is 100% determined the moment you enter it. What time you actually stop the blocks does not matter; they will always spin around to land on the same faces. As a side note, I don't think faces set 5 is used in either Easy or Standard rules. TCRF time? ____________________ |
|
Xkeeper Level: 263 ![]() Posts: 21883/25353 EXP: 297138718 For next: 1821735 Since: 07-03-07 Pronouns: they/them/???????? Since last post: 3 days Last activity: 7 min. |
|
If you're using IDA, you can set up some enums to give those friendlier names. I forget how to do it without looking at the UI, though ____________________ (Lv 231 with 190058346 EXP) |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Stock info. I know for a while I thought it was this big stupid overly complex system... no, it really isn't. It's incredibly simple.
As a little primer, all of the info related to the board class is stored in the memory location 0x8054CE18. The area class is contained within the board class, and stored at an offset of +0x2A00. (In other words, 0x8054F818.) It's an array with 12 entries, each taking up 0x78 bytes worth of space. Yes, 12 entries. This is why the "unused" District L works, but M, N, O, and P all cause unusual effects; trying to use them just clobbers other parts of the board class. The very first variable in that class is a fixed point (16.16) number, that serves as a multiplier for the base stock value. This multiplier starts at 0x00000B00, and every time someone buys ten or more stocks, that number is multiplied by exactly 1.07x. Selling ten or more stocks multiplies it by exactly 0.93x. Venture cards that specifically affect stock price and only stock price affect this multiplier as well, in exactly the way you'd expect them to. This value is constrained to a range of 0x00100000 to 0x0000000F, to keep the numbers from going totally insane (I'd imagine), and to keep the multiplier from hitting zero (which you can probably already tell is a Very Bad Idea™) So what's the base stock value for an area? The average shop value of shops in that area. That's it. No other shenanigans, just that. You can see all these behaviors in action pretty easily by opening up Dolphin in debugger mode; setting any of the areas' multipliers to 0x00010000 will cause the area's stock price to match the average shop value, and setting them to 0x186A0 (decimal 100000) and causing the stock value to change without changing shop values will show the multipliers. Keep in mind the range limits though if you go fiddling with values though. For reference, here's the addresses of every area (and since the stock multiplier is the first variable in the area class, it's also the address of that as well):
____________________ |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Shop prices table. Stored starting at 80412B00, fixed point shorts (8.8). Easy mode has its own table, stored at 80412A98.
Or, in other words, with # of shops you own from left to right, and # of shops in the district total from top to bottom:
I'm still trying to figure out what exactly determines the base shop price, though. Without investing, the shop price is exactly the original shop price multiplied by this value. But once you start investing, this changes and that no longer matches... --- Max capital multiplier table. Stored starting at 80412B6C, also fixed point shorts (8.8). Again, Easy mode has its own table at 80412AAC.
Again, a table for that:
The base for these multipliers is just the initial shop value, nothing fancy. --- As you may notice, there's tables for districts with 7 or 8 shops. Except, that isn't possible because the game crashes in the stock menu if there's more than 6 shops. Go freaking figure. Easy mode uses its own tables. I've thrown them in above. ____________________ |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Funny how the things I thought were simple are the sorta complex things.
Shop price formula: (((v * 2) - bv) * bp * m) / bv ... where: v is the shop's current value, bv is the shop's base (original) value, bp is the shop's base (original) price, and m is the multiplier for having more than one shop in the district. This is exactly as the game does it (not simplified)
So, yeah... if you try to make the multiplier end in something that isn't .00, .25, .50, or .75, the game bugs out. Oh well. And there's a pretty obvious bug in the game's formula too. ____________________ |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Things you probably already knew in some shape or form:
Nothing special here, just the table for shop ranks. That's 50g for 2 star, 100g for 3 star, 300g for 4 star, 1000g for 5 star, 3000g for 6 star, and 5000g for gold star. 1 star shops are just anything below 50g. ____________________ |
|
Xkeeper Level: 263 ![]() Posts: 21939/25353 EXP: 297138718 For next: 1821735 Since: 07-03-07 Pronouns: they/them/???????? Since last post: 3 days Last activity: 7 min. |
|
Do you mind if I move this to a public forum? I'll probably rename the arts/etc forum to something like "Projects and Creations".
E: Either that or the ROM hacking one, I guess. ____________________ (Lv 232 with 191357802 EXP) |
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Sure, I don't really mind. ____________________ |
|
Xkeeper Level: 263 ![]() Posts: 21945/25353 EXP: 297138718 For next: 1821735 Since: 07-03-07 Pronouns: they/them/???????? Since last post: 3 days Last activity: 7 min. |
|
Okay ![]() ____________________ (Lv 232 with 191437619 EXP) |
|
Drag 2640 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Level: 99 ![]() Posts: 2625/2641 EXP: 9990047 For next: 9953 Since: 07-03-07 Since last post: 4.2 years Last activity: 3.4 years |
|
|
|
— Kaito Sinclaire —
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.
Pronouns: any Joined 09.07.2011 Last posted 1.0 years ago Last active 1.0 years ago |
| |
Spent the majority of today building a webpage to simulate a single district given all the info we now know, including shop prices and max capital calculation, investing, and showing the simulated area's stocks. It also supports rolling a completely random set of shop values and prices, though no guarantees on how balanced it would be ingame.
You can see it in action here. ____________________ |
| Next newer thread | Next older thread |
| Jul - General Game/ROM Hacking - Renewed intrest in destroying Fortune Street Wii |
- - ![]() |
|
Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.
|