Author Topic: [PC] Enemy editor - IFRIT (0.11)  (Read 66373 times)

Sysnel

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #75 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

gjoerulv

  • No life
  • *
  • Posts: 1151
  • Karma: 34
  • me
    • View Profile
    • My Youtube
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #76 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?
« Last Edit: 2015-09-19 13:58:19 by gjoerulv »

Sysnel

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #77 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.
« Last Edit: 2015-09-19 16:32:15 by Sysnel »

gjoerulv

  • No life
  • *
  • Posts: 1151
  • Karma: 34
  • me
    • View Profile
    • My Youtube
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #78 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.

eXistenZe

  • Insane poster
  • *
  • Posts: 257
  • Karma: 4
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #79 on: 2015-09-24 15:30:43 »

upload images free

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).
« Last Edit: 2015-09-24 15:33:48 by eXistenZe »

gjoerulv

  • No life
  • *
  • Posts: 1151
  • Karma: 34
  • me
    • View Profile
    • My Youtube
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #80 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.

eXistenZe

  • Insane poster
  • *
  • Posts: 257
  • Karma: 4
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #81 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.
« Last Edit: 2015-09-26 09:11:48 by eXistenZe »

Callisto

  • Crazy poster
  • *
  • Posts: 188
  • Karma: 9
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #82 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.

SunnyD

  • Fast newbie
  • *
  • Posts: 36
  • Karma: 2
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #83 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?

gjoerulv

  • No life
  • *
  • Posts: 1151
  • Karma: 34
  • me
    • View Profile
    • My Youtube
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #84 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.

SunnyD

  • Fast newbie
  • *
  • Posts: 36
  • Karma: 2
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #85 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

Ironmad

  • Fast newbie
  • *
  • Posts: 7
  • Karma: 0
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #86 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?

JWP

  • Crazy poster
  • *
  • Posts: 190
  • Karma: 23
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #87 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.
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.
« Last Edit: 2016-05-24 16:43:13 by JWP »

Maki

  • Software hacker
  • Freak
  • *
  • Posts: 563
  • Karma: 113
  • Paranoid
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #88 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. :(

JWP

  • Crazy poster
  • *
  • Posts: 190
  • Karma: 23
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #89 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

JWP

  • Crazy poster
  • *
  • Posts: 190
  • Karma: 23
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #90 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.

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.
« Last Edit: 2016-06-18 19:42:50 by JWP »

gjoerulv

  • No life
  • *
  • Posts: 1151
  • Karma: 34
  • me
    • View Profile
    • My Youtube
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #91 on: 2016-06-19 00:06:14 »
Oi! Nice!

Feel free to update in sourceforge.

JWP

  • Crazy poster
  • *
  • Posts: 190
  • Karma: 23
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #92 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
« Last Edit: 2016-06-19 01:05:55 by JWP »

gjoerulv

  • No life
  • *
  • Posts: 1151
  • Karma: 34
  • me
    • View Profile
    • My Youtube
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #93 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...

JWP

  • Crazy poster
  • *
  • Posts: 190
  • Karma: 23
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #94 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 :).

volvania

  • Cool newbie
  • *
  • Posts: 50
  • Karma: 0
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #95 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 :)(

JWP

  • Crazy poster
  • *
  • Posts: 190
  • Karma: 23
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #96 on: 2016-06-21 01:26:43 »
I'll see what I can do about releasing a beta later today.

mexico

  • Pirate
  • Cool newbie
  • *
  • Posts: 78
  • Karma: 4
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #97 on: 2016-06-21 05:54:02 »
I want it too please. ^^

JWP

  • Crazy poster
  • *
  • Posts: 190
  • Karma: 23
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #98 on: 2016-06-21 23:40:09 »
Very early beta can be found here.
A list of functions can be found here.
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 and here

EDIT2: updated link with a version that fixes file shrinking issues
« Last Edit: 2016-06-22 15:25:52 by JWP »

mexico

  • Pirate
  • Cool newbie
  • *
  • Posts: 78
  • Karma: 4
    • View Profile
Re: [FF8] Enemy editor - IFRIT (0.11)
« Reply #99 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:





And the tool doesn't start. I have Microsoft.NET framework 4.5.2 so I don't understand what happens, any idea ?