Author Topic: How do I add new enemy to the existing group?  (Read 18884 times)

gamefac

  • *
  • Posts: 22
    • View Profile
How do I add new enemy to the existing group?
« on: 2009-08-08 04:57:19 »
psx version
---
Hi guys, Im using Proud Clod program, Wall Market & Hojo. My question is..

#1 Is it possible to add a new monster? if so, how can i do it?

The Seer of Shadows

  • *
  • Posts: 1140
  • I used to be indecisive. But now, I'm not sure...
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #1 on: 2009-08-08 09:20:24 »
With the release of Proud Clod, this little guide by gjoerulv is partly obsolete, but here.

gjoerulv

  • *
  • Posts: 1225
  • me
    • View Profile
    • My Youtube
Re: How do I add new enemy to the existing group?
« Reply #2 on: 2009-08-08 13:57:10 »
Hmmm, Anyone made a proggy to add enemies yet? Shouldn't be too hard. Proud Clod could do it. Actually PC should be a full blown enemy editor. To tweak PC so that it can alter enemy data and IDs should be relatively easy. In fact thats all it's missing. As far as I know at least.

I could make a simple proggy to just add IDs, and then use Hojo and PC do alter the rest of the enemy. But, as I see it, it would be redundant when PC easily can get the same function.

The Seer of Shadows

  • *
  • Posts: 1140
  • I used to be indecisive. But now, I'm not sure...
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #3 on: 2009-08-08 14:48:06 »
Yeah, it'd be nice if PC could edit just those first few bytes of each scene.  It would be a pain to have to extract all files from the scene.bin and go through them with a hex editor just because those few, easily-changeable bytes cannot be altered with any of the released enemy editors.

And just as WM has become a full blown kernel.bin editing tool, I agree, it'll be great if PC could become a full blown scene.bin editing tool.  Though I think NFITC1 once mentioned that he didn't want to render Hojo obsolete.

Thanks for writing up the above guide.

Xelane

  • *
  • Posts: 477
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #4 on: 2009-08-09 05:44:01 »
nothing wrong with besting someone in program creation. in fact it should be looked upon as a learning experience since NFIT is good with programming IMO

The Seer of Shadows

  • *
  • Posts: 1140
  • I used to be indecisive. But now, I'm not sure...
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #5 on: 2009-08-09 05:59:17 »
nothing wrong with besting someone in program creation. in fact it should be looked upon as a learning experience since NFIT is good with programming IMO

IMO?  It's an established fact :-)

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: How do I add new enemy to the existing group?
« Reply #6 on: 2009-08-09 07:08:51 »
*cracks knuckles* Prepare for a wall of text:

OK, here's the deal. I'd love to be able to add enemies (not just IDs and/or names which will likely show up in the next PrC along with some other new features), but I haven't looked into it much. The concept of doing this isn't any more complicated than adding an attack to a scene, there's just more data to toss around. This isn't hard to do, but there are still some unknown sections on the wiki for the data that comprises an enemy (the address of the first unknown is wrong anyway). It'd also be a hassle to load PrC just to modify those bytes and then save, then re-open in Hojo. It can simply be done, don't get me wrong.

Aside from that, PrC (which is its official abbreviation to distinguish it from things like "Personal Computer" and/or "Player Character") modifies everything that Hojo doesn't. I almost completely rendered Teioh obsolete with WM 1.0 when I allowed kernel2.bin text editing. I have respect for Squall78 for making Hojo in the first place. Heidegger was only ever going to be an attack editor based on WM until I was pushed into editing the AI. PrC has gotten MUCH bigger than I planned for it to be. Not to say that's a bad thing. I just feel guilty for taking away Teioh and don't want to do it to Hojo. Almost all the people that come here that want to make mods say the same thing: "WallMarket, Proud Clod, and Hojo". It's like this is the basic modding package that everyone can use and learn to work with. I get satisfaction out of people saying that they use my tools and I imagine that Squall78 feels that way about seeing Hojo being used. He still comes around, but he hasn't posted anything since I made an account. I even offered to make Hojo into what PrC is now. Unfortunately, he never got back to me which made me make Heidegger. Dang it, I even considered making kimera and LGPtools obsolete as well and can't bring myself to continue that project. Loveless, on the other hand, will always be needed. I've never found it wanting in terms of functions or features. Either way, I'm only really focusing on battle manipulation.

*sigh* Enemy addition, however, an exclusion of Hojo, but for good reason. To add an enemy, you'd need to make AI for it and a model as well. The enemy ID isn't just enemy ID, it's also model ID. Yes, it would be easy to give PrC the ability to add enemies to scenes and modify stats, but there's so much involved in the user adding one (it's easy on my end; It's just more data to juggle to me). The overall appearance would also have to change (also not hard), it's getting cluttered as it is.

Basically, what I'm saying is if we fill in those unknowns I'll consider it. However, it's all more work for the user than you might think.

PS - Yes, I'm good with programming, that's why I started making WM, PrC, and the PC MDef fix; I saw a need and I created. This is one of the things I am least modest about. ;)

PPS - I still consider myself new here. Here I am, account less than 11 months old, and I've already created two powerful and quite-widely-used modding tools. I've learned a LOT about FF7 in these past 11 months and have surpassed some of the people that have been here for years. I still have to give reverence to vets like Akari, gjoerulv, et al. for the contributions to the wiki they've made and the things they've discovered without near as much help as I was given. Even Kudistos Megistos who registered his account less than two weeks before me I'd still consider a superior (though I tend to think of him as a sort of older brother on this forum despite his obsession with Lucky ☆ Star...everything about it weirds me out :P). That being said, I don't want to insult Squall78 for all he's done for this community by steadily making his tools obsolete. He's been around a lot longer than I have and I respect the work he's done. Kind of a "honor among programmers" thing. At least, that's what I think.


Short version: I'll add the ability to change the enemy/model ID in the next PrC version which will be released soon (read: eventually).

The Seer of Shadows

  • *
  • Posts: 1140
  • I used to be indecisive. But now, I'm not sure...
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #7 on: 2009-08-09 07:26:58 »
I viewed "Who's Online" at what felt like a very long time ago.  Ages later, your post is finally done.  And now I know why it took you a while.
I'm sorry, it wasn't my intention to stalk you.

So long as you add that function to PrC, I'm happy.  Well... I'm actually pretty euphoric about all this already, but yeah.

Even Kudistos Megistos who registered his account less than two weeks before me I'd still consider a superior (though I tend to think of him as a sort of older brother on this forum despite his obsession with Lucky ☆ Star...everything about it weirds me out :P).

Well, without that unique personality he has, he wouldn't be the guy that we all know and appreciate so highly :-)

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #8 on: 2009-08-09 13:33:55 »
I'm flattered. I think...

Although, NFITC1, you've definitely surpassed me in most things modding related :-) Then again, I have no programming knowledge and have learnt everything I know about modding since I came here, so I'll allow you to call me superior :-P

As for my Lucky Star obsession, well, I used to be a goth; let's just say that I'm overcompensating now  :-D

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: How do I add new enemy to the existing group?
« Reply #9 on: 2009-08-09 15:23:12 »
I viewed "Who's Online" at what felt like a very long time ago.  Ages later, your post is finally done.  And now I know why it took you a while.
I'm sorry, it wasn't my intention to stalk you.

Ya know, I'm just surprised you read it all. :) I was in a vaguely sentimental mood when I wrote it.

As for my Lucky Star obsession, well, I used to be a goth; let's just say that I'm overcompensating now  :-D

Wow. Those are pretty polar opposites.... Though I suppose you're less likely to spill blood being obsessed with Lucky Star. :D

I've also learned a great deal about programming by coming here (by necessity rather than directly) and everything I know about modding comes from these people as well.

gjoerulv

  • *
  • Posts: 1225
  • me
    • View Profile
    • My Youtube
Re: How do I add new enemy to the existing group?
« Reply #10 on: 2009-08-12 16:54:56 »
Yeah I see what you mean there NFITC1. I kinda made an enemy editor myself, but didn't release it for some of the same reasons. I felt there were enough editors available that had the same functions as mine. The only thing mine had in addition at that time was a formation and attack editor editor (but the interface is baaad).

ugh... I need to change my avatar. It was meant to be funny for a short while...
EDIT: anyone got a funny avatar I clould use?

obesebear

  • *
  • Posts: 1389
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #11 on: 2009-08-12 17:16:50 »
ugh... I need to change my avatar. It was meant to be funny for a short while...
EDIT: anyone got a funny avatar I clould use?
http://forums.qhimm.com/index.php?topic=8827.msg112991#msg112991

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #12 on: 2009-08-12 17:25:04 »
ugh... I need to change my avatar. It was meant to be funny for a short while...
EDIT: anyone got a funny avatar I clould use?
http://forums.qhimm.com/index.php?topic=8827.msg112991#msg112991

 :-D

DO IT!

And only slightly more on-topic, coming here has taught me a lot, not only about FF7 modding, but about computers in general; before I came here, I was one of those people who think that computers are run by magic pixies living inside the case. It has been very educational.

BTW, NFITC1, can you make FF7Music obsolete? Pweeeease?
« Last Edit: 2009-08-12 18:12:58 by Kudistos Megistos »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: How do I add new enemy to the existing group?
« Reply #13 on: 2009-08-12 20:52:20 »
And only slightly more on-topic, coming here has taught me a lot, not only about FF7 modding, but about computers in general; before I came here, I was one of those people who think that computers are run by magic pixies living inside the case. It has been very educational.

Yeah, when you discover that they're actually gnomes, your whole world-view turns upside-down, doesn't it? :D

BTW, NFITC1, can you make FF7Music obsolete? Pweeeease?

No. You expect me to somehow tell the game to play mp3s or oggs? Tell you what I CAN do, I can let you import different midis into the game. How's that sound?

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #14 on: 2009-08-12 21:00:07 »
And only slightly more on-topic, coming here has taught me a lot, not only about FF7 modding, but about computers in general; before I came here, I was one of those people who think that computers are run by magic pixies living inside the case. It has been very educational.

Yeah, when you discover that they're actually gnomes, your whole world-view turns upside-down, doesn't it? :D

Yep. It was a shock, I can tell you :-o

BTW, NFITC1, can you make FF7Music obsolete? Pweeeease?

No. You expect me to somehow tell the game to play mp3s or oggs? Tell you what I CAN do, I can let you import different midis into the game. How's that sound?

I wasn't really being serious with that suggestion :-P

I mean, if someone could make a program that does what FF7 music is supposed to do, that would be great. Of course, I have no idea how difficult that would be.

titeguy3

  • *
  • Posts: 1283
  • A jack of all trades
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #15 on: 2009-08-12 21:38:19 »
I'd love to tackle that job, only problem is I have no idea how Ficedula managed to read the playback data from FF7 to begin with.

Of course I'd only make a prettier version of the same thing. Actually tweaking FF7 to read MP3's on the other hand is something better suited for someone like halkun or Aali (for example).
« Last Edit: 2009-08-12 21:48:25 by titeguy3 »

Aali

  • *
  • Posts: 1196
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #16 on: 2009-08-12 22:01:16 »
FF7Music works by capturing debug messages from FF7. When FF7 says "reading midi file: poop.mid", FF7Music starts playing that song; When it says "MIDI stop", FF7Music stops playback. A total hack, but it's simple and effective.
If you really want to work on a replacement I suggest you make it a music plugin for the custom driver.
That way you don't have to worry about how FF7 works, as long as you provide the functions used by the driver.

titeguy3

  • *
  • Posts: 1283
  • A jack of all trades
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #17 on: 2009-08-13 07:49:48 »
HA! I had an inkling that that was it, but I thought to myself "Nooo.... that's too...'improper'." A plugin for the custom driver, you say? That sounds completely and utterly feasible.

gjoerulv

  • *
  • Posts: 1225
  • me
    • View Profile
    • My Youtube
Re: How do I add new enemy to the existing group?
« Reply #18 on: 2009-08-13 09:28:55 »
ugh... I need to change my avatar. It was meant to be funny for a short while...
EDIT: anyone got a funny avatar I clould use?
http://forums.qhimm.com/index.php?topic=8827.msg112991#msg112991

 :-D

DO IT!

OK!

Sorry! No more off topic...

If Proud Cloud could edit enemy IDs the rest could be done with Hojo. Adding IDs to a formation could spell disaster without editing the data 1st.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #19 on: 2009-08-13 13:17:37 »
The avatar :-o

We'd also finally have no more need to decompress and recompress the scene.bin file when we want to make certain kinds of mod. I can't tell you how much of a relief it was to not have to do that with the kernel.bin any more when WallMarket got finished.

gjoerulv

  • *
  • Posts: 1225
  • me
    • View Profile
    • My Youtube
Re: How do I add new enemy to the existing group?
« Reply #20 on: 2009-08-13 16:45:29 »
The avatar :-o

We'd also finally have no more need to decompress and recompress the scene.bin file when we want to make certain kinds of mod. I can't tell you how much of a relief it was to not have to do that with the kernel.bin any more when WallMarket got finished.

There still are some unknown parts though. In the scene that is. In my case I haven't done anything to figure it out. When I think 'bout it shouldn't magic evasion be somewhere? I know we can AI it, but it would be magnificent to edit it directly.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #21 on: 2009-08-13 16:50:20 »
A couple of things are still unknown (but not much). Still, it would be nice to be able to edit everything that isn't known in the same way that one edits raw formation data. It would at least save us time by having all the compressing done automatically.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: How do I add new enemy to the existing group?
« Reply #22 on: 2009-08-13 18:55:00 »
Quote
0x0058     38 bytes     Unknown data

This is wrong. First of all, the address can't be 0x58 if the previous block is 32 bytes long and starts at 0x48. This starts at 0x68 and is 32 bytes long (I just fixed this). This dramatically narrows down what it could be.

Current observations (not confirmed)

0x68 is definitely 16 16-bit values and the order is significant. They don't have to be unique in the list, but each instance of an enemy has the same list. (related to attacks?)

0x9A I'm not sure about yet. It's either FFFFh or FFFEh. I don't have a list of which enemies have it which, but these seem to be the only options here and the default is FFFFh. Likely just a yes/no flag of tiny significance.

0xB4 seems to be alignment bytes and is always NULL. It could possibly have been initial statuses (Haste, Shell, etc), but got taken out.

Kudistos Megistos

  • Banned
  • *
  • Posts: 3929
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #23 on: 2009-08-13 19:21:04 »
I'll have a little look-see at these (although I won't necessarily look very hard :-P).

I've tried a couple of values at 0x00B4 and nothing noticeable has happened; if it originally meant initial status it probably has been taken out (although I would have thought that initial status would be a single byte).

I'll use my standard technique for finding out what (if anything) the others do.

EDIT:

I've noticed that some enemies have 32 FFs at 0x0068. Sweepers have 5e 01, Mono Drives have 05 01 and the Guard Scorpion and Grashtrike have 13 01. These values don't seem to correlate to anything else in the scenes; the Sweeper's 5e 01 here is the only occurrence of 5e 01 in that scene.
« Last Edit: 2009-08-14 14:37:35 by Kudistos Megistos »

secondadvent

  • *
  • Posts: 287
    • View Profile
Re: How do I add new enemy to the existing group?
« Reply #24 on: 2009-08-14 19:03:24 »
Actually, initial status would have to have been 4 bytes like the status immunities, because one byte alone cannot point to all the possible status conditions that can be active on the enemy, otherwise the status immunity section would have only been one byte, but that is only possible with 8 statuses, and there are definitely more than 8 :P.

it is likely that the 2 byte unknown was originally a fourth manip/berserk move that was scrapped for whatever reason at the end. as for the 32 byte unknown, that would require looking at every enemy's data to see if there is a possible pattern to be seen, it is hard to tell from a few enemies :P. here are a few more enemies and their values (including the ones you mentioned KM) maybe throwing a few out there will get some ideas flowing, though it would still be easier with a complete list of all enemies and their values:

Grunt - d200 (3rd/4th bytes)
Sweeper - 5e01 (5th/6th bytes)
Guard Scorpion - 1301 (11th/12th and 13th/14th bytes)
Grashtrike - 1301 (3rd/4th bytes)
Rocket launcher - d600 (first two bytes)
Blugu - d700 (3rd/4th bytes)
Special Combatant - d200 (3rd/4th bytes)
Smogger - d800 (5th/6th bytes)
Air Buster - db00 (5th/6th and 7th/8th bytes), 1301 (15th/16th bytes)

i think all of these share the same position as a specific attack the enemy uses (as in the same position as the 32 block of the enemy's attacks), so it could be something to do with the camera movement, guard scorpion has 1301 set in the same position as the two unnamed moves it uses to switch between stages, and grashtrike has it in the same position as it's silk attack. the way to figure out what it is would be to compare the way the moves are used with the value there, and with the value as FFFF (i.e. unused), but my guess is that is somehow changes the camera, possibly by "borrowing" the animation used by another attack. it is probably likely that my guess about what it does is wrong (since they would likely just replace the camera movement in the attack data instead of borrowing the camera from another), but it definitely has to be related to the moves in some way.