Qhimm.com Forums

Final Fantasy Forums => Tools => FF8 Tools => Topic started by: gjoerulv on 2009-07-30 03:16:55

Title: [PC] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2009-07-30 03:16:55
Figured I could make a topic 'bout this one.
I made a program that can alter the c0mXXX.dat files from battle.fs from FFVIII if anyone are interested. I named it ifrit!  :evil: This proggy can not directly edit the battle.fs. At least not yet. You need to extract the files yourself (which can be done within the program). Ifrit can open files including c0m000.dat - c0m143.dat.


v0.11B Download here! (http://www.mediafire.com/download/0ome7tm38z684jc/ifrit-v0.11B.zip)
v0.11 Download here! (http://www.mediafire.com/download/aryjgyu6wrzdnc4/Ifrit_v0.11.zip)
v0.10 Download here! (http://www.mediafire.com/download.php?cgdccuuudrdgnr2)
mirror (newest only):gjoerulv.com (http://www.gjoerulv.com)

Requires Microsoft .NET Framework 2.0.
Minimum screen resolution should be 800x600. Should at least be 960x600 though.
Please let me know 'bout any bugs (features  :-D). I know re-naming enemies may not cause desired effect.

New in 0.11B (beta)
File list fix. Adds bad files in file list to prevent opening of wrong files.

New in 0.11
Added greek character table (tools).

New in 0.10
Edit Devour, Cards, Various flags, Abilities and other unknown values.
More accurate stat calculation.
Extract and pack/create archive features.
The help file is NOT updated. :P Ifrit can open c0m127.dat, extract files, etc.

HOW TO EXTRACT AND CREATE BATTLE.FS (the actual archive used by the game):

To extract files with Ifrit, select tools -> Extract files...
Then select file to extract from (battle.fs in data folder usually) and destination folder for files. After that I suggest clicking "Extract 'Valid' Files". This will only extract the files Ifrit can work with. Battle.fi and Battle.ls must be in the same folder as the file you extract from (they are in the same folder originally).

To pack (create battle.fs), select tools -> pack...
Then select the folder which contains the files you've modded. Finally select folder to create archive in.
NOTE! When creating an archive (battle.fs) from a folder, not all battle files (from battle.fs) must be contained within that folder. If that is the case, the destination folder, in which the archive is created, must contain the files with the battle.fs, the battle.fi and the battle.fl from the ff8 data folder. They don't need to be the original files, but must be valid/playable files. I suggest keeping a backup of the original files and your altered files (battle.fs, etc).
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: Kudistos Megistos on 2009-07-30 03:47:05
Looks interesting; I'm gonna try this out sometime this week  :-D
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: falkTX on 2009-07-30 08:01:12
Amazing!
Nice work
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: ff7rules on 2009-07-30 11:23:38
Awesome work Gjoerulv any chance off compatiblity with the psx version in the future?
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: Colly on 2009-07-30 11:35:45
Awesome work Gjoerulv any chance off compatiblity with the psx version in the future?

It's compatible with the psx version now, but you have to know, where is stored this data on the PSX discs ;)
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: ff7rules on 2009-07-30 12:02:46
Oh awesome thanks colly I wasn't sure if it was or not.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: Colly on 2009-07-30 12:07:48
Oh awesome thanks colly I wasn't sure if it was or not.

c0mXXX.dat files in the PC version are exactly the same as in the PSX version. And these files are even not compressed on img file. :-)
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: Ragna on 2009-07-31 17:18:02
How do I extract battle.fs to get the c0mXXX.dat files in the PC version? :?
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: obesebear on 2009-07-31 21:35:18
Someone around here created the program to rip them.  There was even a link provided that had models, but my 2 minute search yielded nothing.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: Cloud_man on 2009-08-01 15:24:31
Use the Eight in the qhimm home page.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: seifertemp on 2009-08-01 15:29:52
I see Gerogero is Namutaru Utoku  in japanese version.  Sigh....I take it that means they took liberties with the names again.

and is there any editor for other areas made at the moment?  Such as weapon names etc? 

Regardless. This mod will be a great help
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: The Skillster on 2009-08-02 12:33:10
Well done this is a great piece of work!
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: gamefac on 2009-08-20 03:55:04
How do I extract battle.fs to get the c0mXXX.dat files in the PSX version? provide the links/URL please.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: obesebear on 2009-08-20 03:57:42
How do I extract battle.fs to get the c0mXXX.dat files in the PSX version? provide the links/URL please.
Click here for detailed guide. (http://forums.qhimm.com/index.php?action=search) It's really not that difficult
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: gamefac on 2009-08-20 06:24:40
i have the .img file for the psx version of FFV8, but i don't know what program can extract the .img file.

I would really like to take a break from ff7.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: Colly on 2009-08-20 10:12:47
i have the .img file for the psx version of FFV8, but i don't know what program can extract the .img file.

I would really like to take a break from ff7.

There is no program which can extract files from the IMG Square format. You just should extract these files manually. Please try any hexeditor, for example Translhextion.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9
Post by: gjoerulv on 2009-12-12 18:17:10
I don't mean to necro or anything, just wanted to say I've fixed some bugs in the program and in the help file. A new version is available for download.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: gonomodevil on 2009-12-15 17:24:02
Nice work, gjoerulv.

I'm trying to make a "hard mode", but I think it's impossible to set high values for STR and MAG for low level monsters..
I mean, we can rise HP, SPD, VIT, etc even for monsters at level 1, but it doesn't work for STR or MAG.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: Colly on 2009-12-16 10:49:07
I don't mean to necro or anything, just wanted to say I've fixed some bugs in the program and in the help file. A new version is available for download.

I tried it yesterday, cool :)

Nice work, gjoerulv.

I'm trying to make a "hard mode", but I think it's impossible to set high values for STR and MAG for low level monsters..
I mean, we can rise HP, SPD, VIT, etc even for monsters at level 1, but it doesn't work for STR or MAG.

I'm trying it, too, I even release one patch, but it's little buggy and not-finished. But soon, maybe after the Christmas, I release the second, better and well balanced patch ;)

We can raise STR and MAG, of course. You should only know, how the game counts this parameters. If I remember correctly, gjoerulv wrote about it in Help manual inside Ifrit Enemy Editor :) STR formula:
(x * str_b1 / 10 + x / str_b2 - x * x / 2 / str_b4 + str_b3) / 4
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: gjoerulv on 2009-12-16 17:02:49
Nice work, gjoerulv.

I'm trying to make a "hard mode", but I think it's impossible to set high values for STR and MAG for low level monsters..
I mean, we can rise HP, SPD, VIT, etc even for monsters at level 1, but it doesn't work for STR or MAG.

Try to open the "report" form (click "show stats pr level"). Then try to change some STR values. You can use the arrows (up down) to quickly change values. As the values changes you'll notice that STR will change in the "report" window.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: gonomodevil on 2009-12-17 01:02:59
When I said "it's impossible to set high values for STR and MAG for low level monsters" I meant IN-GAME
The Ifrit program works perfectly :-D

For example, we can change parameter_4 for HP and make HP in-game as high as we want, even for a level 1 monster.
Same for VIT, SPD, etc. But I think the formula for STR and MAG doesn't allow that.

The max value for STR seems to be: parameter1 = 255, parameter2 = 1, parameter3 = 255, parameter4 = 255.
At this scenario:
a level 7 bitebug does ~990 damage to a level 7 Squall (vit 6)
a level 100 bitebug does ~4300 damage to a level 100 Squall (vit 41)

It seems that the max damage is only reached at level 100.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: gjoerulv on 2009-12-17 09:35:11
When I said "it's impossible to set high values for STR and MAG for low level monsters" I meant IN-GAME
The Ifrit program works perfectly :-D

For example, we can change parameter_4 for HP and make HP in-game as high as we want, even for a level 1 monster.
Same for VIT, SPD, etc. But I think the formula for STR and MAG doesn't allow that.

The max value for STR seems to be: parameter1 = 255, parameter2 = 1, parameter3 = 255, parameter4 = 255.
At this scenario:
a level 7 bitebug does ~990 damage to a level 7 Squall (vit 6)
a level 100 bitebug does ~4300 damage to a level 100 Squall (vit 41)

It seems that the max damage is only reached at level 100.



Yes. Real STR (and all stats) is avalue based on those 4 STR variables and the enemy's level.. I think each attack in the game also has it's own power, which means not all attacks deals the same damage even if STR is the same. Basically STR and MAG can't get THAT high on low levels. On all stats (except HP) the 2nd variable should be as low as possible to make the stat higher.

@Colly:

Are you sure the formula is like this: (x * str_b1 / 10 + x / str_b2 - x * x / 2 / str_b4 + str_b3) / 4 ??
I get weird results on some enemies here.
You sure it's not like this: x * str_b1 / 10 + x / str_b2 - x * x / 2 / (str_b4 + str_b3) / 4 ??
It gives more reasonable results imo. But if it's not, it's not.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: Colly on 2009-12-17 12:36:24
@Colly:

Are you sure the formula is like this: (x * str_b1 / 10 + x / str_b2 - x * x / 2 / str_b4 + str_b3) / 4 ??
I get weird results on some enemies here.
You sure it's not like this: x * str_b1 / 10 + x / str_b2 - x * x / 2 / (str_b4 + str_b3) / 4 ??
It gives more reasonable results imo. But if it's not, it's not.

I'll check it, but I think it's correct. Your modified formula can bring maximum:
100 * 255 / 10 + 100/1 - 100*100/2/(255+255)/4 ->
2550 + 100 - 5000/65025/4 ->
2650 - 0,0019 ->
2650 or 2649 of STR ;)
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: terrabrake on 2010-01-05 21:15:16
I was wondering if with such a program it could be possible to have monster levels set from the beginning. Always hated the fact that the monsters could level up with me...
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: gjoerulv on 2010-01-07 08:25:35
I was wondering if with such a program it could be possible to have monster levels set from the beginning. Always hated the fact that the monsters could level up with me...

No sorry. If someone found the data it would help though.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: Xeeynamo on 2010-01-20 06:45:22
I've a problem with your editor =(
(http://img714.imageshack.us/img714/5479/error.th.png) (http://img714.imageshack.us/i/error.png/)
I'm using the italian version of the game. Can you fix this? The file is here http://www.megaupload.com/?d=I29LNGMH
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: gjoerulv on 2010-01-20 14:47:33
I've a problem with your editor =(
(http://img714.imageshack.us/img714/5479/error.th.png) (http://img714.imageshack.us/i/error.png/)
I'm using the italian version of the game. Can you fix this? The file is here http://www.megaupload.com/?d=I29LNGMH

...
Ifrit can open files including c0m001.dat - c0m143.dat. NOT including c0m127.dat
...

(basically 1 - 143)

Not all files in the archive can be opened. Or to put it more precisely: not opened without getting an error. The reason is simple: I don' know what all the data inside those files are. Which means I don't know how to fully check if it's a valid file (though there are ways 'round it, but I'm too lazy). Ifrit makes some assumptions on certain values inside the file, and when those values are too big or small, an error occurs.

Don't worry though. Many of the files in the battle archive don't include enemy data (I think  :-P).
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.9.0.1
Post by: Xeeynamo on 2010-01-20 18:57:31
...
Ifrit can open files including c0m001.dat - c0m143.dat. NOT including c0m127.dat
...
Oh I haven't read it :| thanks for the explain =D
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: gjoerulv on 2011-12-01 00:01:52
New and better release. See 1st post. Can now open c0m127.dat as well.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: LandonRayW on 2011-12-14 15:44:42
Good work.  It's nice to see that you are still working on this.

A couple things.  What you have listed status resistance for Vit0 is actually Expulsion.  Also, the unknown byte under abilities is for the animation from section 3 that is used when launching the attack (magic and items always use 0B).
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: gjoerulv on 2011-12-14 19:17:07
Yes I had a hunch that it could be that, thank you.  :)
What is expulsion? Like ejected from battle? Then it means immune to rapture... What byte is Vit0 then?
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: LandonRayW on 2011-12-14 21:47:00
Yeah, expulsion is used by Degenerator and Rapture.  As far as I can tell, the game always uses base status defense (100) for Vit0.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: ThiagoAM on 2012-07-17 00:23:00
gjoerulv, good work, Thanks for it!!

You know its possible change enemy position in map-city/dungeon or main-map (World Map)? I think its more challenging form new enemy groups -->

EX: Ruby Dragon + T-Rex or Iron Giant + Ochu or Abadon (Mini Boss)+ Malboro or X-ATM092 (Mini Boss) + Gargantua (Mini Boss)

In the same way, increase enemy status. :D

Sorry, my inglish is too bad  :-( ..Thanks for all.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: gjoerulv on 2012-07-19 19:13:22
I haven't looked into that. Maybe in the future some time?
Thanks for trying it  :)
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: WofulPaul on 2012-10-14 01:53:06
How can I make sure that the enemy starts the battle with level 100?
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: gjoerulv on 2012-10-14 17:07:32
Grind up to lvl 100?

Iftrit can't do anything with this now. Sorry...  :P
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: WofulPaul on 2012-10-14 19:41:04
I asked because I wanted to increase the level bosses to 100.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: gjoerulv on 2012-10-17 16:48:35
Yes, do anyone know where max lvl of enemies are set?
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: myst6re on 2012-10-17 17:59:16
Yes, do anyone know where max lvl of enemies are set?

I am still searching...
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: LandonRayW on 2012-10-19 22:31:08
Enemy level formulas are set in the last 8 bytes of each scene block. Scene blocks are 128 bytes.
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: Cmishima on 2013-05-17 19:18:38
How can i edit battle.fs file in Psx version? How can i extract the files ? I didn't find nothing :(
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: Zervox on 2014-02-07 08:55:47
Sorry to reawaken this thread, but figuring editing monster stat tables I was wondering if you still had the source codes lying about for this tool, that is if you want to share it?

Anyone wouldn't know about any other tools which can look into the player characters leveling tables and their default stats?
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: gjoerulv on 2014-02-13 03:45:12
Looks like I have the source available.

https://sourceforge.net/p/ifrit/code-0/HEAD/tree/
Title: Re: [RELEASE] IFRIT - FFVIII Enemy editor 0.10
Post by: Zervox on 2014-02-17 08:14:08
That's nice, thank you very much. :)
Title: Re: [FF8] Enemy editor - IFRIT (0.10)
Post by: LeonhartGR on 2014-08-12 03:16:45
Hey gjoerulv! I tried the program and it's really good!!! But can't save when I type Greek characters. Please support Greek fonts for my translation or at least the letters with the accent marks. I can send you my font table! Thanks!!!
Title: Re: [FF8] Enemy editor - IFRIT (0.10)
Post by: gjoerulv on 2014-08-12 18:27:05
Ok. I'm not sure if I added the max level byte, so I'llmake another update.
Title: Re: [FF8] Enemy editor - IFRIT (0.10)
Post by: LeonhartGR on 2014-08-13 03:28:25
Here's my font table in case you decide to support Greek characters:
http://filetrip.net/dl?CYWTRCK2ZP
Title: Re: [FF8] Enemy editor - IFRIT (0.10)
Post by: gjoerulv on 2014-09-06 13:20:43
Ok, new release with greek support. I think it works. :P
I skipped max level editing. It was a bit more complicated than I thought.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: LeonhartGR on 2014-09-06 16:40:52
Love you man! Thanks so much! It works with the accent marks as well now!

(http://i.imgur.com/DWAuu4T.png)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2014-09-08 12:21:31
Glad it works! Let me know otherwise.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Jordancyre on 2015-01-09 00:32:56
Rez-ing this thread...  So one thing that always bothered me was the fact that you gain no exp from bosses in this game.  I thought it would be cool to gain one level for each boss fight.  So i used Ifrit to edit the bosses' exp to 1000 each boss but it did not reflect in the game.  Am I doing something incorrectly?  There was a little bit of learning curve when it came to this program but overall i think it's way cool!  once i get it to work that is lol
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Shard on 2015-01-09 08:05:55
Boss battles have a special set of flags that get set in scripting, and one of those flags is "no XP gain." You'll have to edit all the fields to change it.

I don't know why Square did it that way. It seems better to just set the boss' individual XP to 0.

Since the FF8 voiceover project will be the first major mod to edit events, I can change the bosses in it to allow XP gain to make it compatible with battle/difficulty mods (in addition to the other eventing improvements I'm making).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Jordancyre on 2015-01-10 03:19:07
Nice, So yes it is possible but not currently with this utility?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: bgh251f2 on 2015-03-25 08:58:26
Someone can tellme how can i open balltle.fs to get .dat files?
The link posted by obesebear doesn't work.

(Sorry for my bad english  :wink:)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Maki on 2015-03-25 09:51:11
Someone can tellme how can i open balltle.fs to get .dat files?
The link posted by obesebear doesn't work.

(Sorry for my bad english  :wink:)

You could use Deiling. Find it here in TOOLS category.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-03-25 20:42:26
Someone can tellme how can i open balltle.fs to get .dat files?
The link posted by obesebear doesn't work.

(Sorry for my bad english  :wink:)

Actually, you can extract and pack the files with Ifrit.
Extract: Tools -> Extract .... -> *select files/folder.
Pack: Tools -> Pack... -> selectfolder with files -> select dest. folder.

Keep in mind the help file isn't 100% up to date, as it says it needs a 3rd party program.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: bgh251f2 on 2015-03-26 09:30:32
Thank's for the help and for the programs, i solved my problems.
Now my wish to have ffviii with stronger enemies is become real  ;D ;D ;D
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-04-20 17:54:18
Hey there... Great tool...
Where can I find the ability list for magic/item/custom etc...
Is there a hidden flag for ability order/randomness in battle?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-04-24 09:52:38
Since this clearly messes up the dat files after a while, I'll have to wait for a new version...

(http://i.imgur.com/BtnIYRr.jpg) (http://imgur.com/BtnIYRr)
(http://i.imgur.com/2jHHYeW.jpg) (http://imgur.com/2jHHYeW)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-04-24 11:32:45
Never seen that happen before. Do you remember what you did? I see the file order is messed up. How you extrect the files?
edit: Do the error persist if you close and re-open the program?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-04-24 12:00:49
Extracted the files with ifrit.
The errors persist after close re-open.
Here are the files if you want to take a look:
https://www.dropbox.com/s/ekk80cwsu2f7i6r/extracted.7z?dl=0

I was changing the stats to make a hardcore play. I noticed the error when moving from vysage to bahamut.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Meltigemini on 2015-04-26 01:43:11
Hi everyone!

I had that same issue, some .dat files were damaged when editing. That is why I recommend to do the following (Hope the instr is not too long!)

1. Always keep a backup copy of the original battle.fs/fl files in a separate location!!!
2. When you find out that one of the .dat file is damaged, go to the dir where you have extracted them
3. Delete damaged files
4. Use Ifrit's tools to extract ONLY the removed .dat files from the original back-up battle.fl (select one at a time, in the case before my message, 19.dat 47.dat and 76.dat)
5. Try again, do NOT give up  ;)
6. Now you should be able to edit again without bizarre effects
7. All other edited .dat files have NOT lost  user made modifications, so you "lose" only the damaged files.
+ I found this out when my game crashed when it tried to load Creeps' data, found out the file was damaged (it tried to load Elastoid's data o.o ) Did the delete-extract-replace and now, everything OK!

And to the other message about magic list, I found out the following

Select "MAGIC" from the list, ability # of your choice and Animation should be #11
Use the draw list in the tool! The abilities are in order, example 1. ability is Fire, 11. Aero, 23. Curaga and so on. Make a txt file with the list in order, and number every skill. That way you can modify the magic spells enemies use.
Ability      Anim.
31            11      = Reflect
16            11      = Meteor
Same goes for the items, however I am not 100% sure about Anim number in Items.


I hope this helps, I am very new to this forum, and so far I have only modded FF9.
English is not my native, greetings from frozen Finland <3
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-04-26 21:17:16
Thank your for your feedback...
I'll try again one enemy at a time.
A list for magic/item/custom would be really nice...
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Kefka on 2015-04-27 09:16:47
I played around with exchanging attacks for certain enemies a while ago, and so far this is the attack ID list I found out so far (it's far from complete, though):

Spell IDs:

1: Fire
2: Fira
3: Firaga
4: Blizzard
5: Blizzara
6: Blizzaga
7: Thunder
8: Thundara
9: Thundaga
10: Water
11: Aero
12: Bio
13: Demi
14: Holy
15: Flare
16: Meteor
17: Quake
18: Tornado
19: Ultima
20: Apocalypse
21: Cure
22: Cura
23: Curaga
24: Life
25: Full-Life
26: Regen
27: Esuna
28: Dispel
29: Protect
30: Shell
31: Reflect
32: Aura
33: Douple
34: Triple
35: Haste
36: Slow
37: Stop
38: Blind
39: Confuse
40: Sleep
41: Silence
42: Break
43: Death
44: Drain
45: Pain
46: Berserk
47: Float
48: Zombie
49: Meltdown
50: Scan
51: Full Cure
52: Wall
53: Rapture
54: Percent (Dummy)
55: Catastrophe (Dummy)
56: The End

Enemy Ability IDs:

2: physical attack
308: Light Pillar
309: Gravija
378: Ultima (enemy version)
380: Quake(enemy version)

I haven't looked into all enemy abilities that thouroughly yet. Note that there are secondary "enemy only" versions of the Ultima and Quake spells which are more powerful than the regular versions that are available to the player. Certain bosses like Adel, Ultima Weapon or Omega Weapon use those instead of their regular version.

Also keep in mind that currently there is no way to change the target of a magic, for instance, if you replace a single-target attack like Fire with a multi-target one like Ultima, it would still only hit one single target. This is because the targetting for each attack is located in the enemy's AI script, and currently there's no way to edit that. But perhaps a future version of Ifrit will be able to? I'd be looking forward to it.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-04-27 16:17:31
Nice... Thanks...
Interesting fact... You can change the monster dat and repack the file while the game is loaded without the need to restart the game... Very usefull to test some changes within seconds (and in areas where load is not available).
Maybe (just maybe) the corruption I got was from changing the monster's name (I put an * to mark the monster I was on the list). I now know that it corrupts my files nearly 50% of the attempts.

Right now is there a way to change when an attack is used (counter, ordered, random, etc)?

Fighting a 2000hp very fast and very resilient bite bug in the beginning is fun (for 3 times the exp, of course, since it takes a lot of time)... Also makes me check and memorize the magic vulnerabilities, instead of mass X for attack...
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Kefka on 2015-04-28 07:24:59
Right now is there a way to change when an attack is used (counter, ordered, random, etc)?

If FF8 is anything like the other FFs, then this should all be in the enemy's AI script, too. I know it is that way for FF4, FF5, FF6, FF7 and FF9. Right now, Ifrit only allows you to change the attack list, but not when the enemy uses it. Hopefully a future version of Ifrit will allow us to edit enemy AI, this is something I'm wishing to do, too.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-04-28 07:58:00
There is obviously something wrong somewhere though. I did test the program quite extensively before v0.10 (when I added ability editing etc.). However changing enemy names could be tested more (i.e. naming an enemy "♂↓ù╚" would probably not work).

The abilities that are from kernel magic probably has the same order as, for example, draw order. 1 = fire etc. (as kefka posted).
The reason there is no dropdown here is that I don't know the custom ability names.

Raw AI editing shouldn't be too hard to add.

Edit: The problem with those "bad files" is that they get too small; chopped down somehow.
Edit2: Or maybe not... The error is thrown because the pointer value to the data gets a too high value somehow.

Edit3(lol): @eXistenZe
It looks like when you edited Sacred and Fujin it went bad. Do you remember anything you did to those files (63 and 119)?
See 1st post for a new version. It does not fix the potential saving issue, but it does prevent bad files messing up further process.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-04-28 20:45:41
Nothing out of the ordinary... Just changing stats... Those specific files I believe also had changes in abilities (from the boss hardcore patch I manually copied some).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-09-16 22:16:47
No news from this tool?
FF8 dev scene is kind of stalled in these last months...
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-09-17 20:49:30
Unless there is new documentation in regards of enemies I'm kinda stuck. I have no time investigating myself, sadly.

Why did I not name this program Lunatic Pandora?

Do you still experience bugs eXistenZe?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-09-17 23:13:24
Nope. I was waiting for new versions of all mods to test FF8 again.
Just a few suggestions for future development:
- Replace id numbers with the actual meaning (spell names, animations, etc)
- Separate the specs tab into multiple tabs (one for str, mag, etc, one for elements and status, etc)
- Some general help info would be nice
- Integrate a graphical curve for stat progression

Also, if I'm not mistaken, you made a bloody good hardcore mod for ff7. Is one for ff8 on the way? :)

Best regards.
-
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-09-18 00:39:18
Hmmm, stat curve actually sounds fun to make. More userfriendly to boot.

1 tab for each stat... Hmm, sounds kinda redundant to me. Maybe if you could give me a screen sample (made in paint or whatever). If you have any ideas on userfriendly improvement it would be awesome.  8)
Remember, you can keep the stat progression window open while editing stats. I could make a stat curve window...

General help... I know, the help file is a bit outdated.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Sysnel on 2015-09-18 15:29:48
First of all, awesome tool gjoerulv!

(Sorry for possible spelling mistakes, my native language is spanish)
I've encountered two problems with the editor that I haven't seen mentioned in the thread (or I'm blind  :P):

1· In the last version (v0.11b), when I tried to extract .dat from battle.fs, after selecting the file in the Browse section, it throws me this error, although it seems to open the file:

(http://i.imgur.com/cY11UNu.png)

Translated: The value can not be null. Parameter's name: items

And when clicking in extract valid files, it doesn't do anything except that when several seconds passed, the typical .NET Framework error showed (Unhandled exception has occurred in your application...). After that, I reopened the tool and the above error always shows now after selecting 'Tools > Extract File(s) from battle.fs...', without being able to select again battle.fs. And when trying to use older versions of Ifrit (0.10 and 0.11), the same problem happens.

This happened when I was using the battle.fs from the spanish folder, so in another computer (since in the previous computer I can no longer select the file) I used the battle.fs from the english folder but again the same order of errors showed.

I don't know what caused these problems, but in the meantime I've been using Deling to extract .dat files, and I can open them in the program, so the error only happens if I try to extract from your tool.

2· As my language has special characters (Áá Éé Íí Óó Úú Ññ), it seems that some of those doesn't show up correctly inside the editor, showing instead '=\n' or '=n':

(http://i.imgur.com/HhsEipO.png)

Monsters with problems: 'Álagar', 'Mordélago', 'Guésper', 'Túlipo', and others that doesn't appear in the image. But it seems that the 'ó' character appears correctly (green circle). Anyways, I don't have intention of modify monster names, so my question is: If I edit data from the monsters that have this problem, although I won't touch the name, it can corrupt the file?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-09-18 20:10:15
Hmmm, stat curve actually sounds fun to make. More userfriendly to boot.

1 tab for each stat... Hmm, sounds kinda redundant to me. Maybe if you could give me a screen sample (made in paint or whatever). If you have any ideas on userfriendly improvement it would be awesome.  8)
Remember, you can keep the stat progression window open while editing stats. I could make a stat curve window...

General help... I know, the help file is a bit outdated.

Sorry... I didn't mean one tab for each stat, but one tab for stats attributes, and one tab for status and elements.
Oh... You really don't wanna see my drawing skills... It would take longer to decode my drawing than to make a whole new FF8 engine.
The help could be in the tab itself (a hidden expandable frame on the bottom, for example).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-09-18 22:21:40
@Sysnel
Can you send me those battle.fs files? Upload to mediafire or something (zipped) and pm me a link. I just tried on a original and steam version of ff8 and I have no problems. I'm guessing it may have something to do with those special characters.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Sysnel on 2015-09-19 09:43:29
@Sysnel
Can you send me those battle.fs files? Upload to mediafire or something (zipped) and pm me a link. I just tried on a original and steam version of ff8 and I have no problems. I'm guessing it may have something to do with those special characters.

It seems that I can't send PM yet, so I used the email button below your avatar
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-09-19 13:30:40
Thank you I got em.

EDIT:
It works here just tested with the English. I forgot to mention that battle.fl and battle.fi should be in the same folder as battle.fs.
Can you sand me the spanish battle.fi and battle.fl?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Sysnel on 2015-09-19 14:41:12
Maybe that's the problem I've with the first error, only battle.fs was in the Ifrit folder, not the other two. Anyways, I've sent you the files.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-09-21 21:33:43
Yes it looks like it. I also get the sane error if only the battle.fs is in the folder. If all 3 files are in the same folder you extract pack too it runs smoothly. At least for me. That error shouldn't occur if yuo place all 3 files in the same folder.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-09-24 15:30:43
(http://s15.postimg.org/sr0kuru5n/ifrit.jpg) (http://postimg.org/image/6ru67kdbb/full/)
upload images free (http://postimage.org/)

Getting this error half the times I try to save (by clicking the next file and answering yes when it asks to save).

[edit]
And then it corrupts the list like reported before (perhaps this is the source of the problem, not clicking save and changing to the next file).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2015-09-25 06:14:51
I'm trying as hard as I can to reproduce that bug, but the program refuses to do anything wrong. I edited every single control on blobra, changed name etc., but it still works fine for me.
Remember, when reporting a bug, you cannot be specific enough about what you did. I still don't have much to work with here.

Looks like you are working on windows 10. I Haven't tested that yet. The error message suggest the file buffer is too short for the filestream, which means the OP could have something to do with it.

In any case, when you get this sort of message, close the program and restart.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: eXistenZe on 2015-09-25 12:56:05
Using win10 for a month now. I can replicate it in win8.1 and 7 too.

Steps to replicate:
Open ifrit.
Open folder with fresh .DAT (extracted with ifrit)
Open first file, change exp and AP (I doubled them).
Do not save.
Click the next file.
When asked to save click yes.
Repeat for the next file  (around 30% chance it will cause the error for me).

If I save the changes before moving to the next, it never gives me the error.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Callisto on 2016-01-31 11:45:13
In addition to Kefka's ID list from previous page, here is an almost complete list of enemy attack ID's:

001 ??
002 Physical attack
003 ??
004 ??
005 Blade Slice
006 Hind Kick
007 Blade Shot
008 Ray Bomb
009 Storm Breath
010 Dark Mist
011 Squeeze
012 Clash
013 Arm Crush
014 null
015 Tail Needle
016 Arm Slash
017 Bad Breath
018 null
019 Petrify Stare
020 Vampire
021 Poison Mist
022 Counter Slice
023 Counter Laser Eye
024 null
025 1000 Needles
026 Heartbreak
027 Upward Kick
028 Electric Discharge
029 Petrify Stare
030 null
031 Bite
032 Poison Gas
033 Poison Gas
034 Poison Gas
035 Acid
036 Melt-Eye
037 Breath
038 Ice Breath
039 Sand Storm
040 null
041 null
042 null
043 null
044 null
045 null
046 null
047 null
048 Draw
049 Earthquake
050 null
051 null
052 null
053 Morph
054 Arm Hug
055 Power Bomb
056 Dribble
057 Shoot
058 Ultrasonic Waves
059 null
060 BiteBite
061 Shotgun
062 Suicide
063 Ultrasonic Waves
064 Breath of Death
065 Disease Breath
066 Sticky Icky
067 Shoulder Charge
068 Gatling Gun
069 Cannon Blow
070 Wild Cannon Blow
071 Store
072 Degenerator
073 Telekinesis
074 null
075 null
076 Hypnotize
077 Gastric Juice
078 null
079 null
080 Sand Storm
081 null
082 null
083 null
084 Stare
085 Sigh
086 Curse
087 null
088 null
089 null
090 null
091 null
092 null
093 Grab Punch
094 Breath
095 Double Sword
096 Thrust
097 Iai Blow
098 Ultra Waves
099 null
100 Sticky Web
101 null
102 Breath
103 Tail Blade
104 null
105 null
106 Mega Spark
107 Onrush
108 null
109 null
110 Fart
111 Needle
112 Gastric Juice
113 Sleeping Gas
114 Breath
115 null
116 null
117 null
118 Beam Cannon
119 null
120 Magma Breath
121 Resonance
122 Blaster
123 Blaster
124 LV5 Death
125 Death Claw
126 Bear Hug
127 Gas
128 Explosion
129 Explosion
130 Explosion
131 "Brrawghh!"
132 null
133 Wind Blast
134 null
135 Scan
136 null
137 null
138 null
139 Beam Cannon
140 null
141 null
142 null
143 null
144 null
145 null
146 Aqua Breath
147 null
148 null
149 null
150 null
151 null
152 Evil-Eye
153 Counter Twist
154 Chaingun
155 Snipe Laser
156 null
157 Melting Bubble
158 Super Arm
159 Boomerang Sword
160 null
161 null
162 null
163 null
164 null
165 null
166 Grand Sword
167 null
168 Psycho Blast
169 Sticky Web
170 null
171 null
172 null
173 null
174 Sand Shake
175 Saliva
176 Beam Laser
177 Reflect Beam
178 null
179 null
180 Oil Shot
181 Oil Blast
182 Sonic Wave
183 Dissolving Acid
184 Bad Breath
185 Eerie Sound Wave
186 null
187 null
188 null
189 null
190 null
191 null
192 Ochu Dance
193 Earthquake
194 Drink Magic
195 null
196 null
197 null
198 null
199 Assault Horn
200 Ray Bomb
201 Micro Missiles
202 null
203 null
204 Astral Punch
205 null
206 null
207 null
208 null
209 null
210 Raijin Special
211 null
212 null
213 Mad Cow Special
214 Zan
215 Metsu
216 Sai
217 null
218 null
219 null
220 Mower
221 null
222 Chef's Knife
223 Everyone's Grudge
224 null
225 null
226 Junk
227 It's sharp!
228 null
229 null
230 10.000 Needles
231 Ker Plunk
232 null
233 Storm Breath
234 Mega Flare
235 Barrier Change
236 null
237 null
238 null
239 null
240 null
241 null
242 Thunder Summon
243 Deadly Horn
244 null
245 null
246 null
247 null
248 null
249 null
250 null
251 null
252 null
253 null
254 null
255 null
256 null
257 Gravija
258 null
259 null
260 null
261 Magic Summon
262 Mighty Guard
263 Doom
264 null
265 null
266 null
267 null
268 null
269 null
270 null
271 Thunder
272 Thundara
273 Thundaga
274 Zantetsuken
275 null
276 White Wind
277 null
278 null
279 null
280 Charge
281 Homing Laser
282 Homing Laser
283 Twin Homing Laser
284 Corona
285 Megido Flame
286 null
287 null
288 null
289 null
290 null
291 null
292 Mega Pulse Cannon
293 Mini Pulse Cannon
294 null
295 Mighty Guard
296 null
297 null
298 null
299 null
300 null
301 null
302 null
303 null
304 null
305 Dark Flare
306 null
307 Soul Crush
308 Light Pillar
309 Gravija
310 Megido Flame
311 Terra Break
312 null
313 null
314 Demon Slice
315 Bloodfest
316 Engery Bomber
317 null
318 null
319 null
320 null
321 null
322 null
323 null
324 null
325 null
326 null
327 null
328 null
329 Zantetsuken
330 null
331 null
332 null
333 null
334 null
335 null
336 null
337 null
338 Maelstrom
339 null
340 null
341 null
342 null
343 null
344 null
345 null
346 null
347 null
358 null
349 null
350 null
351 null
352 null
353 null
354 null
355 null
356 null
357 Draw Apocalypse
358 Hell's Judgement
359 Drain
360 Great Attractor
361 null
362 Shockwave Pulsar
363 null
364 Esuna
365 Maelstrom
366 null
367 null
368 null
369 Vacuum Wave
370 null
371 null
372 null
373 Apocalypse
374 null
375 Gigantic Sword
376 null
377 null
378 Ultima
379 Holy
380 Quake
381 Tornado
382 A382
383 A383


Everything marked with "null" most likely refers to battle messages such as Fujin's "ELLONE. WHERE?" and should not be changed. Would be nice to see an updated version of Ifrit containing all ID's someday. Can't do it myself as I'm too busy at the moment, and my programming skills are very limited anyway.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: SunnyD on 2016-04-25 00:13:21
Sorry for bumping an old thread but I had two questions.

1 - I replaced one of Edea's spells with Double, but instead of casting it on herself she casts it on Squall.
2 - I also replaced one of her single target spells with Ultima. When she casts Ultima it stays single target.

Is there any way to fix this or have I just missed something obvious?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2016-04-25 00:16:08
Is there any way to fix this or have I just missed something obvious?

Even though you can change spells/abilities you can't decide how they are used. All enemies have AIs that make use of them. Sadly Ifrit can't edit AI.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: SunnyD on 2016-04-26 00:14:23
Even though you can change spells/abilities you can't decide how they are used. All enemies have AIs that make use of them. Sadly Ifrit can't edit AI.

Ah, no problem then. Just have to get a little creative to get around that. Thanks for the answer
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Ironmad on 2016-05-20 22:03:01
Hi, I love the program! But I've searched the whole internet now and I can't find any modelviewer/DAT files for alot of the GF's. Like: Leviathan, Quezacotl, Alexander, Doomtrain, Eden. I would love to see Eden in a modelveiwer program like Deling.

So I've extracted all files from Battle.fs and checked all DAT-files but can't see them. Is it impossible to fix them in a update?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-05-24 16:24:00
Only GFs that you fight (Ifrit, Brothers, Diablos, Cerberus, Bahamut, Cactuar and Tonberry) will have a battle model (.dat files - which is what Ifrit deals with) and this is only used for the battle with them.
The actual summon animations are in the magic files that haven't been fully deciphered yet.

I've pointed out which functions deal with the actual summons in the exe in this post (http://forums.qhimm.com/index.php?topic=16923.msg240615#msg240615).
Those functions load the files needed for each animation but no-one has yet managed to work out the geometry/animations as far as I'm aware.
The only information I can see on the wiki for these files is here (http://wiki.qhimm.com/view/FF8/FileFormat_magfiles).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Maki on 2016-05-24 18:06:11
Forget about that wiki page. It's super outdated.
GFs are known to use edited header, but their format is the same as casual DAT file. There's working script for all GFs to be able to use with Noesis somewhere here on Qhimm.
For GF environment objects, I did only the vertex parsing. See here for source: https://github.com/MaKiPL/FF8-Rinoa-s-Toolset/blob/master/SerahToolkit_SharpGL/GF_enviro.cs
It's not compatible with 2/3 of other MAG files. :(
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-05-24 19:02:02
Ah, you're right... finding stuff around here can be a pain xD.
Looks like the information is here (http://forums.qhimm.com/index.php?topic=15056.0)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-18 19:40:05
I've been working on an AI editor recently and it can currently decompile bytecode into a C-like syntax and compile back into AI byte code.
I've been using Ifrit to develop it because it was a convenient way to access the dat files without much effort.
I was wondering if you wanted to include it in an Ifrit release, if not I'll probably pull the AI editing stuff out and make a standalone tool.
(http://extapathy.co.uk/pics/ifritai1.png)
The major changes aside from the AI stuff is that Ifrit now targets .NET Framework 4.5 and would require the ANTLR and ScintillaNET runtime files.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2016-06-19 00:06:14
Oi! Nice!

Feel free to update in sourceforge.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-19 00:58:25
Ok, I'll spend a bit of time tidying the code up and adding more error checking and then I'll commit it :).
One question, would I need to be added to a list in order to be able to commit to the repo?
Also would you want to me add it as a branch instead of commiting master? - mainly since it requires .NET 4.5 instead of .NET 2.0 the current version requires
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2016-06-19 01:27:23
No, iirc it's a free-fot-all to commit whatever they want.

Make a branch? Hmmm... Now that you mention it I got a bit on the fence. But, seriously, I don't think it'll be a problem. The reason I had it set to 2.0 was to make it more compatible with wine. Just commit to master.

EDIT: Oh, and it's no rush by any means. I won't be working on this any time soon...
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-19 01:40:10
Ah ok :).
I wasn't going to commit it for a while anyway, I've still got a lot of kinks to iron out, I was just trying to figure out what I was going to do with it in the end :).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: volvania on 2016-06-20 17:45:20
Jwp can you give me a link to your AI editor even if it is a beta version i want to test it even with the bugs please, this is literally what i was waiting for this whole years  tears in my eyes cant discripe my heapiness :)(
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-21 01:26:43
I'll see what I can do about releasing a beta later today.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-06-21 05:54:02
I want it too please. ^^
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-21 23:40:09
Very early beta can be found here (http://extapathy.co.uk/IfritAIbeta.zip).
A list of functions can be found here (http://forums.qhimm.com/index.php?topic=16838.msg241889#msg241889).
In theory the AI editing stuff should mostly work now aside from 3 files that can't be opened (Dummy, Tri-point and one of the Ultimecia ones) and Unknown tests (in if statements) can't currently be compiled but unknown functions as part of statements can. If all the words are highlighted, it should compile.
Editing text section currently does nothing and only displays "." instead of characters.
I have no idea if it works in-game or actually patches the offsets correctly, I've not had a chance to thoroughly test it yet.

EDIT: here is a list of constants, the text value can be used in tests but only the numeric converted to decimal can be used in functions at the moment:
characters:
            SQUALL = 0x00,
            ZELL = 0x01,
            IRVINE = 0x02,
            QUISTIS = 0x03,
            RINOA = 0x04,
            SELPHIE = 0x05,
            SEIFER = 0x06,
            EDEA = 0x07,
            SELF = 0xC8,
            RANDOM_ENEMY = 0xC9,
            LAST_ATTACKER = 0xCB,
            ALL_ENEMIES = 0xCC,
            ALL_ALLIES = 0xCD,
            RANDOM_ALLY = 0xCF
statuses:
            DEAD = 0x00,
            POISON = 0x01,
            PETRIFY = 0x02,
            BLIND = 0x03,
            SILENCE = 0x04,
            BERSERK = 0x05,
            ZOMBIE = 0x06,
            SLEEP = 0x10,
            HASTE = 0x11,
            SLOW = 0x12,
            STOP = 0x13,
            REGEN = 0x14,
            PROTECT = 0x15,
            SHELL = 0x16,
            REFLECT = 0x17,
            AURA = 0x18,
            CURSE = 0x19,
            DOOM = 0x1A,
            INVINCIBLE = 0x1B,
            PETRIFYING = 0x1C,
            FLOAT = 0x1D,
            CONFUSION = 0x1E,
            DRAIN = 0x1F,
            EJECT = 0x20,
            DOUBLE = 0x21,
            TRIPLE = 0x22,
            DEFEND = 0x23,
            CHARGED = 0x26,
            BACK_ATTACKED = 0x27,
            VIT0 = 0x28,
            ANGEL_WING = 0x29,
            HASMAGIC = 0x2E,
            SUMMONING = 0x2F

List of tests:
battle
enemy.alive
enemy.status
self.varXX - XX = DC-E3
battle.varXX - XX = 60-67
save.varXX - XX = 50-57
rand() % X
self.status
self.hp
character.alive
monster(X).hp
difficulty
timer
gfstolen

I'm pretty sure that 0x0A followed by 0x00 is last attack type but I haven't coded it yet (0x0A tests 6 different bytes, I think 0x01 is character ID of last attacker and 0x02 is turn count)

random_npc's information on the AI stuff might also be useful, see here (http://forums.qhimm.com/index.php?topic=11137.msg165591#msg165591) and here (http://forums.qhimm.com/index.php?topic=11137.msg165616#msg165616)

EDIT2: updated link with a version that fixes file shrinking issues
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-06-22 21:24:29
Hmmm well I have a problem with this tool. When I lauch it, I have these 2 windows:

(http://image.noelshack.com/fichiers/2016/25/1466630564-capture.png)

(http://image.noelshack.com/fichiers/2016/25/1466630564-capture2.png)

And the tool doesn't start. I have Microsoft.NET framework 4.5.2 so I don't understand what happens, any idea ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-22 21:40:32
What happens when you use the standard version of Ifrit?
Bear in mind it stores some stuff in the registry (HKEY_CURRENT_USER\SOFTWARE\Ifrit) that's used in both versions and I've only tested the new version with folder opening.

I'm going to guess that error is a null reference exception of some sort due to it not being able to open the requested file.
Have you moved the file you last had open in Ifrit - or was the last file you had open one the 3 files that the new version doesn't deal with well?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-06-23 07:45:46
I have the same thing with the standard version. And I haven't open a file with the tool. It's the first time I'm using it (I've used it before, maybe 1 or 2 years ago but that was an old version very different ). I have this error when I launch the tool. I've tried to paste the battle.fs in ifrit but I have the same thing.

Edit: I've tried it with another PC, which I never used Ifrit before and it works. So it seems that Ifrit "remember" that I used it before. How can I delete this "memory" ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2016-06-23 09:20:18
ugh... I knew about that issue and thought it was solved.

Open regedit (hold "windows key"+"r", type "regedit" then hit ok). You'll see a folder (on root) named HKEY_CURRENT_USER.

Your goal is to find and delete the "Ifrit" folder. It should be "HKEY_CURRENT_USER\SOFTWARE\Ifrit" or "HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Ifrit" or something similar.

EDIT: Looking at the code, I see there are some really odd checks (for example: "if (fileStream.Length > Int32.MaxValue) { ... }" haha).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-06-23 15:44:59
Thanks ! Found it and delete it ! Then it works ! :D
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: evilmog6 on 2016-06-25 00:05:45
Hello gjoerulv, JWP, and forumites,

The addition of the AI editor beta work to your tool has me wanting to jump in to modding ff8 too so this is my first post. All the tools here are amazing genius work, I think, but this one would round out the portfolio. I want to say keep it up! This is amazing work!

I also am just fiddling with it and wanted to ask a question about it to see if it is something I am just not understanding how to do, or if it is a limitation you are looking into, or if it is a limitation that will exist in the engine even if this tool is fully finished because of how the assumptions they made in their script language for the needs of the original game.

Anyway, I am trying to make a rule in the AI so that a monster will only use an attack on an enemy character when that character doesn't have a particular status, but  also it will continue to use that attack until ALL the characters have that status, and then not use that attack anymore. Here is the code for the Bite Bug I edited, where ability "1" is "Fart" (lol) which causes BERSERK.

Code: [Select]
if (rand() % 3 == 0) {
    return
}
if (self.status == CONFUSION) {
    target(207)
    domoveid(0)
    return
}
if (enemy.status == BERSERK) {
    targetadv(0, 200, 0, 5)
    domoveid(1)
    return
}
if (enemy.status != BERSERK) {
    target(201)
    domoveid(1)
    return
}
target(201)
domoveid(0)
 

The problem is targetadv(0, 200, 0, 5) works until all the characters have the status, and then crashes the game. This seems to be a infinite loop, overflow, or some similar logic error because it cannot find a target without the status to attack, but it seems it is not optional to pass on this attempt with a try/catch of some kind. So, I tried ALL_ENEMIES and the numeric values in a bunch of Hail Mary configurations in the function to see if I could get the test to only run true if all characters have the status, whereas enemy.status seems to be if any at all do, but none of these shots in the dark would compile.

Sorry for a long first post, but I am very excited about this tool, and if the above could be accomplished I would be even more.

Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-25 03:22:51
If you're trying to target non-berserk enemies, it should be more like:
Code: [Select]
if (rand() % 3 == 0) {
    return
}
if (self.status == CONFUSION) {
    target(207)
    domoveid(0)
    return
}
if (enemy.status != BERSERK) {
    targetadv(0, 200, 3, 5)
    domoveid(1)
    return
}
target(201)
domoveid(0)

but I'm not sure if that still crashes the game or not, I'll need to do a bit more digging into the code but I'm running an event this weekend, so it probably won't be until Monday evening.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: evilmog6 on 2016-06-25 12:35:30
Thank you so much for the reply and continuing to work on this!

I forgot to mention that I had fiddled with the third argument being 3 in the targetadv function too in some of my shots in the dark previously. I'm not sure how I ended up posting what I posted honestly, that's what I meant to post but was making so many changes to the function I guess I screwed up.

In any case, using "3" in the 3rd argument does work but not inside of the negative lookup for the status, because then once a single character has the status, the condition if(enemy.status != BERSERK) always returns false, so the negative lookup inside never happens. If you put targetadv(0,200,3,5) inside if(enemy.status == BERSERK), it only crashes the game after you get to the point where all the characters have the status.

So, in summary, enemy.status != BERSERK returns true only if NO characters have the status, and enemy.status == BERSERK returns true if even ONE character does, and additionally, targetadv() seems to cause an infinite loop when looking for a character without a status but when there isn't one to find. It would be very cool if there were something like ALL_ENEMIES.status != BERSERK where it returns true only when there is at least one that doesn't have the status to avoid this conflict but still prevent monsters from ever using an ability on a character that already is inflicted with the status, thereby wasting their attack.

I know I'm a noob, I just want to point out I'm not demanding a feature! I have trouble being pithy, but I am just showing something I found out while "testing" out the beta and thought it would be a cool addition. I can work without this feature and live with wasted monster attacks if it isn't doable, and am very grateful for this scripting tool! Thanks again!
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-25 16:24:54
Ah yes, I see what you mean now.
I could look at adding this sort of option in the future :).
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: evilmog6 on 2016-06-25 16:54:54
I won't keep bugging you with it since you said you aren't able to do actual tests until at least Monday hehe, sorry to keep it up for just one more post, but sadly that won't work there either. Using that, no one ever gets BERSERK to begin with in a closed system against just this enemy (unless the player intentionally berserks themselves). Move id 0 is just an attack, so the first if statement will always be true, and always just have the bug attack.

If I change it to domoveid(1) in the first if statement, the bugs fart until everyone is berserked, then the game crashes, just like in my original posts' issue. This is because after the first character is BERSERK status, the first if statement is always false, then the targetadv in the second if statement will fire each time until all characters are BERSERK, but unfortunately, it also fires one more time, and on that time, it crashes the game because it can't find a target that isn't status 5.

The fundamental reason this happens seems to be that "enemy.status" is all or nothing, meaning that the positive lookup is true if at least one has it, and the negative lookup is only true if none have it. There isn't a way to specify a specific number of enemies having the status, or all enemies having the status, which I think is what would be required to make sure that single target status attacks could be coded to not ever be "wasted" on a target that already has said status. I just don't think with what "enemy.status" does currently can target things this way, but maybe when you are able to do magic at your actual station with your code set up you can sort it out :)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-25 18:13:29
It is possible to do if you check each character individually - although I haven't implemented this test yet.
There might be another way since there are other options to that specific test that I haven't worked out what they do.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-06-29 20:19:41
Looking at the Blobra's abilities, I find something weird:

(http://image.noelshack.com/fichiers/2016/26/1467231444-capture6.png)

It has some strange abilities in his list like Everyone's grudge or Shockwave Pulsar. Do I misunderstand something or what ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-29 21:34:39
I think you're misunderstanding slightly, the drop-down with Magic, Custom and Item in it has an affect on which list the ability number refers to.
Custom attacks 2 and 66 are a physical attack and sticky icky, the rest of the abilities are just standard magic.
So there are several lists that can be confusing.
There's a magic ID list (see here (http://forums.qhimm.com/index.php?topic=16923.msg240615#msg240615)), which governs what attack animation to use, this is used indirectly by all the other lists - you don't use these directly in Ifrit.
There's an enemy attack list (see here (http://forums.qhimm.com/index.php?topic=8741.msg237263#msg237263)), which is all the moves that are marked as "custom" in Ifrit.
There's an item list and a magic list (see here (http://forums.qhimm.com/index.php?topic=11137.msg166280#msg166280)), which are for items and magic respectively.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-06-29 21:48:27
Thanks, that's clear now. :D

Edit: well not totally clear in fact. ^^' In the magic list, there is no magic for 38, 39, 46, 36 and 41. So I don't understand what are these magics...

Sorry for all my stupid questions, just try to learn. ^^'
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-06-29 22:11:51
Ifrit numbers are decimal, the list I linked uses hexadecimal.
So:
38 -> 0x26 -> Blind
39 -> 0x27 -> Confuse
46 -> 0x2E -> Berserk
36 -> 0x24 -> Slow
41 -> 0x29 -> Silence
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-06-29 22:33:35
OK, thanks, sometimes in hex, sometimes in decimal. I've taken a table of hex numbers, that will be easier. ^^
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Sega Chief on 2016-07-02 20:39:56
Quick question about this:

target(201)
choose(0, 1, 253)

So when it chooses one of three random attacks, I'm guessing it's attackid 0, 1, and then I'm not sure what 253 is. Does that mean no attack or does it do something else?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-07-02 20:57:44
That's a good question, I have no idea, normally they're all attack IDs... what monster is that AI code from?
Could be any number of things... do nothing, do last attack...

EDIT: looked at the ASM for FF8, it tests the see if the value is 0xFD (253) and carries on parsing code without doing any move if it is.
You're right, it's basically no attack.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-07-02 22:36:51
So that's why some ennemies don't do anything for a long time maybe... if you replace 253 by 257 for example, does the ennemy perform Gravija or is it more complicate than that ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-07-02 22:47:21
253 is the only special case, anything else is treated as a move id.
The move id doesn't refer to an enemy attack id (so your Gravija example wouldn't work), it refers to the list of moves in the ability section in Ifrit, the first set of drop-down menus is move 0.
choose(0, 1, 253) is:
1/3 chance to do move id 0
1/3 chance to do move id 1
1/3 chance to do nothing

Most monsters spend ages doing nothing because they'll have code like:
Code: [Select]
if (rand() % 3 == 0) {
   return
}
at the start, which is 1/3 chance of completely skipping the turn.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-07-02 22:56:52
OK, so if you replace 253 by 2, he won't skip his turn, right ? (in the case he has an ability corresponding to 2)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-07-02 23:00:12
That is correct.
choose(0, 1, 2) is:
1/3 chance to do move id 0
1/3 chance to do move id 1
1/3 chance to do move id 2
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: mexico on 2016-07-02 23:06:21
Interesting, thanks. ;)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Sega Chief on 2016-07-03 06:26:56
That's a good question, I have no idea, normally they're all attack IDs... what monster is that AI code from?
Could be any number of things... do nothing, do last attack...

EDIT: looked at the ASM for FF8, it tests the see if the value is 0xFD (253) and carries on parsing code without doing any move if it is.
You're right, it's basically no attack.

Thanks for looking into that for us, bud.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: EQ2Alyza on 2016-07-06 06:17:11
This is a tough thing to do, but mexico is clearly pirating the game, so I ask that we provide no further discussion for his questions until he can provide proof of a legitimate copy bought. Sorry all, but it's forum policy.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-08-23 13:16:17
I'm trying to change the AI with this tool but there is still some unknown things and it's impossible to modify texts during battle. Do you think it will be possible in a future release ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-08-23 13:22:04
I was planning to add the feature but I haven't got around to it yet.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-08-23 18:32:57
Fine, I will wait. ;)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-08-29 01:47:37
Now that I know how to edit texts, I've searched a way to edit this:

(http://image.noelshack.com/fichiers/2016/35/1472435121-ff8-fr-2016-08-29-03-42-15-93.png)

I can't find it in the c0m113 nor in the kernel. Do you know where is it ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-08-29 01:57:11
It's definitely in c0m113.dat, also for some reason it's in the file 4 times.
In the English version the data is at 0x5E10:
Code: [Select]
03 34 20 3F 45 4C 4C 4C 3B 3B 3B 2E 3E
03 34 being Rinoa
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-08-29 02:13:04
Well, I've tried to change those offsets but that doesn't work (in the french version, we have it only two times). I think that's because this is not the good text. In the french version Rinoa say "Aaaahhh..." when the party heal her but here she say "Aaaaaahh" which refers to the ennemy attack 324. So I think "Aaaaaahh" is simply the attack's name....
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-08-29 02:48:57
If it's an attack name, it'll be in kernel.bin
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-08-29 03:19:17
Well no, I don't find it in the kernel, that's weird...
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-08-29 04:06:06
It might be in Adel (c0m112.dat), it looks like there's an "AHHH...!" there too
at 0x1B8E6
Code: [Select]
03 34 20 3F 45 4C 4C 4C 3B 3B 3B 2E 3E
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-08-29 04:24:47
Yeeees ! That was it ! Thanks ! ;D
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-02 18:17:39
Hi, I'm back for another question: is it possible to give the ability Mad Rush to an enemy and how could I do that ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Callisto on 2016-09-03 00:15:58
I would suggest modifying one of the already existing unused enemy attacks, such as Holy (#379), using Doomtrain and Carbuncle tools.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-04 00:23:39
Good idea, it works. Thanks ! ;D
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-04 18:39:12
 Well I have another problem with an AI. I have changed the AI of Granaldo:

Code: [Select]
if (rand() % 3 == 0) {
    return
}
else {
    if (enemy.alive == 1) {
        target(201)
        choose(3, 4, 5)
    }
    target(201)
    choose(0, 1, 2)
}

I want to make the AI change when Granaldo is alone in battle but the condition "enemy.alive == 1" works only with the party members. So that its AI change only when we have only one character alive. How could I change it ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Sega Chief on 2016-09-04 18:50:16
If it's like FF7 AI at all, then the enemy won't treat the other enemies on the field as 'enemies' but as allies instead (and considers the player party actors as enemies). Is there an opcode for allies anywhere? Trauma might have something, it spawns those little drones and probably has an AI check to see if they are dead or not before spawning them. It might also check for the current status of a particular monster's ID, that could be another way of setting up the condition.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-04 19:12:16
Well, the problem is that the formula enemy.alive seems to work with allies and ennemies. Here's the Trauma death's AI:

Code: [Select]
if (enemy.alive == 1) {
    if (self.varE0 == 0) {
        self.varE0 = 1
        target(200)
        domoveid(4)
        remove(200)
    }
}
else {
    target(207)
    domoveid(5)
}

When it's alone, it dies but if there is still a drauma, it uses Drain on it.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-09-04 20:30:29
I'll take a look at the opcode, it might be that I've set a byte wrong.

EDIT: looks like I'm writing 02 06 C8 00 XX XX XX XX instead of 02 06 C9 00 XX XX XX XX. I guess in this case C8 is used for player characters and C9 is used for monsters.
The reason for this issue is that a lot of the conditionals seem have this byte set to C8 when it's not used but it doesn't seem to be the case here - you're also likely to get this issue if you recompile the code.
Partly the reason the AI stuff is still in beta is because a lot of the stuff is still unknown :P.
You'd probably have to change it manually after compiling it for now until I get around to fixing the issue.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-05 01:51:31
Thanks, I managed to do it. ;)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-17 15:34:04
Hi !

I have a problem with the AI of Tomberry. I want to change the condition of spawn ot Tomberry Sr. Put 1 battle instead of 20 or 50 to make it spawn. Here's the code:

Code: [Select]
save.var51 += 1
die()
if (battle == 236) {
    if (save.var51 >= 20) {
        if (save.var52 == 0) {
            unknown33()
            launch(0)
            return
        }
    }
}
if (battle == 237) {
    if (save.var51 >= 50) {
        if (save.var52 == 0) {
            unknown33()
            launch(0)
            return
        }
    }
}

When I put 1 instead of 20 and 50, it corrupts the file. How I can do that manually ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-09-20 14:14:11
0xC3E0 from 0x14 to 0x01
0xC405 from 0x32 to 0x01

I'd be interested to know why the file ended up corrupted though.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-20 18:58:22
Thanks !

I don't know why it corrupts the file but what I know is that I have troubles with fonctions which have self.var or save.var. Here's an example with the Fastitocalon fake. Its AI:

Code: [Select]
if (rand() % 3 == 0) {
    return
}
if (self.status == CONFUSION) {
    target(207)
    if (self.varDC == 0) {
        target(200)
        domoveid(2)
        self.varDC = 1
        changeresistance(3, 900)
        changestat(1, 10)
        changestat(3, 10)
    }
    else {
        target(207)
        domoveid(1)
    }
    return
}
if (self.varDC == 0) {
    target(201)
    domoveid(0)
}
else {
    target(201)
    domoveid(1)
}

When I try to change a simple number, I can compile it, save and when I go back to the file, the AI has changed to something bugged:

Code: [Select]
if (rand() % 3 == 0) {
    return
}
if (self.status == CHARGED) {
    target(207)
    if (self.hp == 20) {
        domoveid(2)
        self.varDC = 1
        changeresistance(3, 900)
        changestat(1, 10)
        changestat(3, 10)
    }
    else {
        target(204)
        domoveid(1)
    }
    return
}
if (self.hp == 7) {
    domoveid(0)
}
else {
    target(201)
    domoveid(1)
}
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-09-21 10:36:27
I believe the majority of the corruption is a problem that I fixed on July 25th, you can get the updated version here (http://extapathy.co.uk/IfritAIbeta.zip).
The issue was that variables in if statements weren't being compiled properly and ended up missing 2 bytes.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-21 18:08:24
Oh great, I've missed this update. I've tried it and it works fine, thanks.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-21 19:53:24
Sorry for the double post.

Now, I want to use save.var for sidequests but I wonder how it works. I tought it use  this list of variables: http://wiki.qhimm.com/view/FF8/Variables (http://wiki.qhimm.com/view/FF8/Variables) but no, that's not the case. So, where I can find the good list and is there some unused ?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: JWP on 2016-09-21 20:21:36
Those variables are only for field scripts, the battle ones are listed here (http://wiki.qhimm.com/view/FF8/GameSaveFormat):

and the 8 save vars are as follows:
Code: [Select]
0x0CF4 4 bytes Unknown
0x0CF8 4 bytes Battle: Tonberry killed count
0x0CFC 4 bytes Battle: Tonberry Sr killed (yeah, this is a boolean)
0x0D00 4 bytes Unknown
0x0D04 4 bytes Battle: First "Bug" battle (R1 tip)
0x0D08 4 bytes Battle: First "Bomb" battle (Elemental tip)
0x0D0C 4 bytes Battle: First "T-Rex" battle (Mental tip)
0x0D10 4 bytes Battle: First "Irvine" battle (Irvine's limit break tip)

The offsets are probably slightly wrong but they're in the right order.
the first one is save.var50 and the last one is save.var57.

You could probably edit out some of the tutorial code in the AI or use one of the unknown ones if they're not used.
save.var50 is used by the Guard AI - I'm not sure where it's set though, I couldn't find any instances of save.var53.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Girl next door on 2016-09-22 07:49:01
Hum fine, so I can use 6 save vars (I've deleted the AI tutorials), that's not much.... anyway thanks for the help. :)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: resinate on 2016-11-08 17:39:29
letting u know version 0.11B - IN DIRECTORY MODE - doesnt save at all just gives errors when changing stats. and its over saving other files im not even editing

single file open - save works fine
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: zoeyvalentine on 2016-11-19 11:32:15
Hello, can somebody make a video-tutorial how use this program? (Even with notepad writing will be enough, is not necessary voice-video)

This program works for FF8 PSX ver? FF8-PC-Standard Ver ? or FF8-Steam version ?.
 
 A basic example of changing stats of "Ifrit" lets say would be enough for newbies like can learn how use that! Thanks.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Zara9 on 2016-12-31 23:54:20
hey

how can i use this enemy editor for ff8 on ps1
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2017-01-03 02:31:42
letting u know version 0.11B - IN DIRECTORY MODE - doesnt save at all just gives errors when changing stats. and its over saving other files im not even editing

single file open - save works fine

Others have reported the same, but I've never been able to reproduce that bug. I would need as much info as possible to figure out what's going on in these cases. As of now I don't even have the game installed; need to reinstall and take a look.

Ifrit should work for all versions. On Ps1, I believe you can simply open the dat files directly. It's been a while since I seriously worked on this so I would need to refresh myself as well. :P
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Zara9 on 2017-01-03 08:47:30
hey gjoerulv

i am using psxfin the emulator to play my ps1 games, so how can i use the ps1 enemy editor to open up the dat files

and where are the ps1 dat file stored
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2017-01-05 15:55:35
I don't know actually. I would image they're inside the discs somewhere though lol. You'd need to extract the image, edit files, and recreate it. It will probably be a rather tedious process without good tools. It's been too long since I've done any editing this way; you may want to google it. Also read the wiki:
http://wiki.qhimm.com/view/FF8/PlaystationMedia (http://wiki.qhimm.com/view/FF8/PlaystationMedia)
http://wiki.qhimm.com/view/FF8#File_Formats (http://wiki.qhimm.com/view/FF8#File_Formats)
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: metalicarusbr on 2017-02-04 12:27:17
Hey gjoerulv

Great tool, I'm glad to be able to edit some monsters and make the game more challenging.

One note, the number besides Magic on [Draw tab] alters the "draw resistance" of that specific magic, the higher the number the harder to draw. But I actualy dont know where it fits in the formula, so a little more testing is required.

Cheers
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2017-02-06 09:41:19
Nice info there!  ;D
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Divatox on 2017-10-10 07:17:47
Hi there, im trying to edit just to see how it works. I just put on glacial eye the magic apocalypse to cast and saved
but when i try to put into the battle.if (intothe steam/steamapp/common/FFVIII/data/EN)

this shows up
(http://ap.imagensbrasil.org/images/2017/10/10/Sem-titulo.jpg)

any help?
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2017-10-10 09:37:59
I sent you a PM, but I think the problem is that you extract from a battle.fs that does not have battle.fi and battle.fl in the same folder. Same thing when you pack/create a new battle.fs: Both battle.fi and battle.fl must be in that folder you create battle.fs in UNLESS you extracted all the files.

EDIT:
I updated first post in this thread to hopefully clarify things. Please read if you're confused; I try to explain as best I can, but I suck at explaining lol :P
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Divatox on 2017-10-10 21:36:16
Thank you so much Gjoerulv XD help me aloooot.
I don´t know if will help some one, but here is the list that you can use:

__________________________
Kernel = Magic
Ability = Magic Number
Anim = always "11"
__________________________
1-fire
2-fira
3-firaga
4-blizzard
5-blizzara
6-blizzaga
7-thunder
8-thundara
9-thundaga
10-water
11-aero
12-bio
13-demi
14-holy
15-flare
16-meteor
17-quake
18-tornado
19-ultima
20-apocalypse
21-cure
22-cura
23-curaga
24-life
25-full-life
26-regen
27-esuna
28-dispel
29-protect
30-shell
31-reflect
32-aura
33-double
34-triple
35-haste
36-slow
37-stop
38-blind
39-confuse
40-sleep
41-silence
42-break
43-death
44-drain
45-pain
46-berserk
47-float
48-zombie
49-meltdown
50-scan
51-full-cure
52-wall
53-rapture
54-percent
55-catastrophe
-------------------------
Kernel = CUSTOM
Anim = still "11"

124- LV5 Death
242- thunder summon (its a anim that´s look like Thunder Storm, but works like magic)
257/309- gravija
262/295- Mighty Guard
263- Doom
276- White Wind
338/365- Maelstrom
358- Hell´s Judgment
__________________________
I´m still testing some magics, like a enemie use Mighty Guard, White Wind, Haste, Double, Triple, Cure etc. In them self not in your party XD. And some magics that cause damage in the whole party, dealing damage only to 1 of them, ex: Ultima.

But i hope this help ^_^
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Maki on 2018-01-15 13:57:02
Some times ago someone sent me the japanese site where I found all enemy scripts dumped and formatted with all magic IDs and texts inside files. Grab it here:

http://www.geocities.jp/agnesboulangerchan/psff8/research/psff8-enemy-ai.zip

For example you can clearly see that 117 (Sorceress 3) is casting magic 327 and 074 on herself at the init. It has all variables named (local and globals) and rich AI documentation with HEX codes, but all in Japanese.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: volvania on 2018-01-15 14:56:32
Omg is this real or i am dreaming for over a 10 years i am searching for this data, thank you so very much maki you can't imagine my happiness
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Maki on 2018-01-21 20:54:25
MonsterAI+CA:   (Where MonsterAI is 0x487DE0 in 2000PC)
Code: [Select]
mov     al, [esi]:
[ESI] - pointer to current operation to parse
al - will hold AI code opcode


Example:
MonsterAI+62E  AI_TALK (opcode 0x1A)
mov dl, [esi] - ESI holds textID (as said in documentation it's byte text_index)
gets saved to local at var_14

MonsterAI+661 now EAX holds absolute address to text to display- here: "5 ?Rm kmpc."- deciphered as "NO MORE!"

So... Yeah, I might be able to make something like real-time AI interpreter I think...

Opcode 0x05 is some sort of PUSH

Isn't it?
(https://s14.postimg.org/goe3fsfz5/isit.jpg)
Pardon that 'A', I just used ROT-23 for text conversion
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: volvania on 2018-01-22 13:19:43
you mean you will make a stand alone tool to change monsters AI or make some upgrades to ifrit ? either way i am looking forward to it finally the long wait is over and we can make ff8 great again  :cry: ;D
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Sega Chief on 2018-01-28 22:00:26
A friend of mine translated the Readme document:

https://pastebin.com/DYSuHeMv
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Divatox on 2018-02-01 14:23:47
Some one could tell if Ifrit tool was recently updated? I was have some problems in the old one, messing if the graphics in the game after you change something in the AI
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: qotsaninsoadkorn on 2018-09-07 02:44:01
I believe the majority of the corruption is a problem that I fixed on July 25th, you can get the updated version here (http://extapathy.co.uk/IfritAIbeta.zip).
The issue was that variables in if statements weren't being compiled properly and ended up missing 2 bytes.

2018 update... is this still the latest version...
attempting to do some AI changes...
so far Texture Corrupt when i do... i guess i must be using the older version?
Title: Re: [PC] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2018-09-10 07:44:31
Afaik, there haven't been any updates on the ai editor in a while. I'm not sure if the creator is working on it still.
Title: Re: [PC] Enemy editor - IFRIT (0.11)
Post by: zkshd on 2018-11-17 19:41:28
Hi, i was trying to edit ultimecia last form lower part (the one from you draw Apoc), yet I didn't found it...

 Still my log from battle.fs report this:
Code: [Select]
File found at offset 0E632800-0E67624C  name: Ultimecia
File found at offset 0E676000-0E676008, parts: 0
File found at offset 0E676800-0E6769CC, parts: 2
Are those 'parts' the code that helds the lower part??

EDIT: yes they do.
Title: Re: [PC] Enemy editor - IFRIT (0.11)
Post by: FFVIIIFanBoy on 2019-05-10 14:34:29
I tried extract files from battle.fs but it says.
"Value cannot be null"
"Parameter name: Items."
Please help.

I tried deleting MMHIQ and then extracted it. Nothing worked properly.

SOLVED: Used to delete reg entry of Ifrit editor in REGEDIT.
Title: Re: [PC] Enemy editor - IFRIT (0.11)
Post by: gjoerulv on 2019-05-11 12:44:24
Yes, that bug is kinda embarrassing. At some point I thought it was fixed but apparently it's still there.
EDIT:
What version are you using? I didn't think it was still possible in 11B.
Title: Re: [FF8] Enemy editor - IFRIT (0.11)
Post by: Goth on 2019-07-07 22:01:00
Some times ago someone sent me the japanese site where I found all enemy scripts dumped and formatted with all magic IDs and texts inside files. Grab it here:

http://www.geocities.jp/agnesboulangerchan/psff8/research/psff8-enemy-ai.zip
Updated link:
http://pingval.g1.xrea.com/psff8/research/psff8-enemy-ai.zip
Title: Re: [PC] Enemy editor - IFRIT (0.11)
Post by: Kefka on 2019-10-27 14:52:45
Hey guys, I was just playing around with AI editing for some monsters, when I tried to save my changes and then received this error message in Cerberus' AI:

"Syntax error on line 30: no viable alternative at input 'if(unknown)'".


Whatever the mistake is, it must be present in the vanilla AI already, as I get this error message even when I didn't edit anything. Does anyone know what to do in this case? I'm hoping there's a way to get around this, because this error message prevents me from saving any changes I'd like to make. It's the same for a few other enemies as well (the Propagators, Sorceress No.1, and Granaldo). If anyone could point me in the right direction, that'd be great.
Title: Re: [PC] Enemy editor - IFRIT (0.11)
Post by: qotsaninsoadkorn on 2019-10-28 05:41:10
Yes, that bug is kinda embarrassing. At some point I thought it was fixed but apparently it's still there.
EDIT:
What version are you using? I didn't think it was still possible in 11B.
ideas for future updates...
adding Ability Slot #0, #1 etc next to each one... will make things a bit faster...
also still need the enemy list updated to help differentiate between some of the enemies that appear more then once...
along with that, i've also noticed a few enemies where AI edit meant having to change code to get it to save...
also curious about death animations options, as giving certain bosses a simple death, means we can free up an extra ability slot... or give them a death move etc... pretty fun, but more documentation on us making these edits would be great...
even just changing things like "target" 204 / 201 etc... planning to continue my own testing regardless but thx for your time reading this...