Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - NFITC1

Pages: [1] 2 3 ... 112
That's a good point that I hadn't thought about. Every time I think about this idea it's sounded less and less interesting mechanically for reasons I couldn't put into words. You summed it up nicely. I guess the concept doesn't translate well to an RPG.

Still the idea is out there and I might toy with a few randomized aspects.

I've noticed a few "randomizer" games starting to pop up in the modding community as a while (specically LoZ, LttP and SMB3) and thought it would be great/funny/frustrating to do this with FF7 as well. I think it's possible, with enough hijacking, to remove lots of the calculation of the mechanics and make them actually random rather than influenced by stats. statuses, power, etc. It would also be possible to randomize encounters (sans boss encounters), chest contents, shop inventories, chocobo breeding results, et al just by modifying the exe. The only question I really get stuck on is what SHOULD be randomized?

Here's a partial list of what I've determined should and shouldn't be randomized:

-Action accuracy: much more random on if it will hit or not. 50% hit rate across the board might not be great, but it will balance "well" with other plans
-Action damage/healing: as long as it connects, it can do anywhere from 0 to 9999 damage.
-Statuses/Elements being inflicted: this entire idea might be unbalanced since any random multi-hit action can one shot an entire party with paralyzation. Maybe just randomize a set of statuses (haste, slow, poison, regen, etc)
-ANY random encounter formation can be encountered anywhere: potentially terrible. Would almost certainly game over if the first random encounter was a Stilva or something.
-Chests have random contents with very few exceptions: One key among most randomizers is just randomizing placement of key items/unique items. Getting a Tissue when you thought you were getting the MP Absorb materia might be frustrating. Or using multiple save crystals might break the game.
-Shops contain random items: this is probably the hardest thing to implement and would require a seed stored somewhere. Making sure weapons had appropriate weapons/armor wouldn't be necessary if damage and accuracy is always random. :)
-Randomize materia: this will be the first on the chopping block since you won't be able to make mastered materia without at least one of each in a set. The best way to enforce this is to not randomize the materia at all.
-Randomize fields: Absolutely not. This will break the game in almost all cases.

Of course the most important question would be does this sound interesting to anyone? If no one would go for it then it's pointless to start. Maybe I'd release them all as individual patches so you can mix and match your favorite randomized features.

Tools / Re: [FF7] KERNEL.BIN editor - WallMarket (v1.4.5)
« on: 2018-03-10 04:31:01 »
It would be nice to be able to change the duration of spells/status effects in wallmarket (like barrier, regen etc). I know it sounds like a request... :P but I hope you give that some consideration though and thank you for this tool.

If you read through all 49 pages of this topic (not a light read, admittedly) you'd know why that won't happen with this tool. WallMarket is ONLY a KERNEL.BIN editor and nothing else. The status durations are stored in the executable file. Since that's outside the scope of this tool it will not be an option. There are very few requests at this point that I'd be willing to entertain since it does allow editing of every byte in the entire file. There are a few cosmetic enhancements and fixes pending, however. I'm close to releasing a new "lighter" version, but it won't have any new things to modify.

C in general is way more complicated with its #ifdef and #define keywords. It's completely asinine IMO. C++ is just much cleaner. Still no implicit headers, though so it's still a pain. I think C# fixes a lot of those issues.

Pascal? I thought that was dead. I hate Pascal with as much (if not more) passion than you hate C. >:(

Completely unrelated / Re: Wow, is this place still here!
« on: 2018-02-23 18:31:14 »
I just noticed a 10 year old topic by you that I'm tempted to necro and answer. :)

C can do virtually ANYTHING because of how close to the asm you can get, but there's almost no simple way to do anything in C because you have to manually keep track of memory management and garbage collection. :)

Ugh. I've been wondering this exact thing for a long time. Aali's driver intercepts the archive loading routines and replaces game files with whatever it finds in specified directories. At least that's the way I remember it working. It's probably something more complex than that. I don't even know if the entire lgp archive structure is known. I've looked at it several times over the years and I still can't make heads-or-tails out of how it knows which file to pull.

In regards to how to reduce the players' HP, you want to alter them directly, rather than do an action that damages HP. You can do this in the AI as well, but with some caveats.

1. You will need some animation place-holder action that you assign to your boss to do when performing this party-wiping attack. There are lots of enemies that have these actions where they do nothing but move or taunt,etc.
1a. You might have to learn how to alter animation files to get this to work. There's a list of codes on the wiki archive that briefly describes them.
2. The change in HP will not happen in sync with the boss's attack. Beatrix/Kuja use some unique "magic" to pull this off.
3. Take a look at Mystery Ninja's (Yuffie's) Death script. It queues one of the custom events that you can then use to reduce player's HP. I can't think of the exact code right now, but I do know that the final Sephiroth enemy (Dream Sephiroth?, Mental Sephiroth?) uses code to force Cloud to perform actions. You can use this to reduce the allies' current HP (Memory address 4160 I think) to 1 or some other single digit number without raising limit bars.

Welcome to qhimm's forums, btw. :)

You could have extracted them with CFW or a full installation. I had a look at mine back when we were discussing them and I can't remember what came of that.

What's the purpose of the
Code: [Select]
or esi, $80000000? Other than that it looks fine.

There's a steam community for having it. They've made some progress with some mods already. One adds the original licence board with the new stuff in it. Pretty exciting. :)

That's what the Steam page says it supports.

Completely unrelated / Re: DRM pisses me off!
« on: 2018-02-05 13:56:35 »
I can understand the need for DRM on expensive titles, but it should only attempt to validate ONCE (probably per update). After that, it should just validate when it can and ignore when it can't connect to a server.

This has long been needed. Thanks!

Tools / Re: [FF7] KERNEL.BIN editor - WallMarket (v1.4.5)
« on: 2018-01-21 01:25:10 »
is it a known issue the app crashes on launch, and if so a fix for it?

1.18 doesnt crash but 1.19 and newer including the latest all crash on launch.

Did you install power packs? It's required. If you can wait a few weeks or so a new version will be out that won't require it.

im pretty sure stats, name etc can be loaded whenever with a little asm.  But the models themselves may require battle to be restarted.  I dunno. 

As for more than 3 being on screen at one time.  Not likely.

Hardware-wise, it's probably not difficult to have an additional character. Engine/mechanics wise it would be exceptionally difficult to add a party member to the battle line-up. There are too many places where it's assumed that there are only three ally characters.

I do think all the methods are in place to do a hot-swap, but there are some things to consider.

1. Remove the old character. Not hard as I mentioned earlier. Several actions do this so it's possible to remove the old character.
2. Load new character's model. Vincent's limits have routines that can do this.
3. Build the new character's menu. Battle Arena uses routines for this purpose.
4. Set new character's stats. Again, Battle Arena has these methods.
5. Create a new menu in-battle that can swap out-of-party characters. I don't do new menus, but I'm sure someone can.
6. End-battle rewards would not work for the character(s) that were swapped out. Only the ones at the end of the battle would get EXP/AP/killing credit/etc. Kill credit/limit use would have to be reset for the new character or they would get credit for the old character's actions. Like if Tifa killed 2 enemies and used a limit once before being swapped out for Aerith, Aerith should NOT get credit for Tifa's actions, but Tifa wouldn't get credit either as these things are awarded during battle rewards (a bug that does need to be addressed).
7. Cloud must never be swappable, Tifa and Cid shouldn't during their stints as leader either. That would be a little more difficult, but probably only by disabling the swap menu when the Game Moment is in a particular range.

What about the final fight where you swap parties?
That's actually three separate battles/formations that the game swaps between. If you switch to another party the battle script copies the current status of all of current Bizarro's parts and loads them into the Bizarro of the formation swapped to.

This is not an easy thing to find a video of because so few people actually do this. I did find one YT video of it in action. You can see that one battle technically ends and a new one begins. This is of the PSX version and the loading of a new battle takes a long time.

Vincent's limits SEEMS logical, but that doesn't really update any character stats. Using the Remove feature makes sense (ala Midgardsormr's Blown Away), but adding back a character was never anticipated by the engine. You might have to reload the entire battle scene to introduce a new character.

In a hex editor change

Code: [Select]
0x1DC929   07  ->  04
That byte controls the divisor to the enemy kill count in powers of 2. ( divisor = 2 ^ X )

For reference's sake there's a pretty recent snapshot on web archive. I'd like the wiki back, of course. :)

This video showcases how unprofessionally the Square team approached the graphics design of the game at that age... Well I agree it was an era that you didn't have to design well something that doesn't show on screen and for the sake of a rush delivery you just had to have the work done asap.

TBH, I think they did a reasonable job with what they had. They were co-developing for N64 and PSX at one point so I'm sure they had to make everything compatible with both systems. 3D was something new to them and the industry in general. There were no wrong ways to do things in the early days. Even the first 3D games on PC weren't actually 3D and made HEAVY use of culling to make games run smooth before there were dedicated 3D graphics cards that have processors solely to remove the need for culling.

Is there no way to just add a few calls to the RNG opcode in field using makou?  Could make it more random using certain tricks like feeding the timer into it?  Havent looked at how it works.

Field RNG is in a LUT like the battle system's. The only way to "randomize" it is to have it cycle unpredictably. Like the 3D Battler in Gold Saucer is influenced by the NPCs in the room moving about. There's just nothing in the stable itself to influence the RNG. Outside the stable in the pen field there's lots of RNG cycling if you have at least one chocobo penned.

Kimera should be able to batch interpolate animations. It should be about ~90% accurate.

Someone posted about it on GameFAQs recently

You do realize that was me, right?

The list of priorty seems to be the reverse of the list Yuffie uses when taking your materia from you.

I haven't compared directly, but it's not the same list in memory because they'd be backwards of each other

Pages: [1] 2 3 ... 112