The alternative to what I've just done is to alter a whooping 1,918 individual functions MANUALLY. I made a list (dynamically, of course) and thought I'd better save it for posterity. If anyone (or a group of anyones) is diehard enough to tackle this, here are the 3D handlers that I've identified:

425D29425FC442782A439C6B439EE043AF1B43CC4D43CD0C43CDE043D17E43D4DF43D65443D73E43D89243D98443DB3143DC8D43DEB043E02843E2B543E50C43E85E43E96243EA5943F2AE43F4A643F59C43F65E43F74D43FB7543FE0744009F4401BD4402D54403CB4404FE44065144084A440A6C440C22440CF5440DEC440ECD440FFE44116644137544166B44184D4419A7441D6344209C442179442B6744357D44366844375644385E443A2F443D2944409344425644453144469C44487B4448D64453DC44593F445BA0445DAF4461B044656B446926446F2B4474D5447C2A447CB84481524482F14484224488D2448B4B448BA644939C4494FA4497524498F1449CD7449DD3449F9844A15944A2F544A7D244B97544BCBD44C0C544D9A344DBC844E3D344E56B44E6E944E80D44EDC044FF634500BD450999450F4245138145162845199B451CA44522AD453450453FBF45500C4550D045521945542E45556B455BC0455E16455F8B4571484572F64575CF4577144578F0457C60458C9B458D864593A24594464595C745994C459A3F459B12459C95459DFD459F2345A09145A18F45A3B345A5EB45A6A645A99845ABAA45AF3945B0CF45B48745BA2C45BC8545BD4245BE5845C26345FF5C460303460A1D4615A14617A7461DCF46245F462B074632AE46338E463F4246406E464960464A6A464BAD464F0D4656554657AA46596D465A29465CB3465E514660634664A946652D466604466807466A7A466CD24672564673AA46758D467987467BA8467C8B467ED44680154682164688A24698EF469A7C469BE5469F3A469FB346A0A146A15646A7BF46A89046A98946AB0046B17546B40D46B57146B5F346BA0B46C9F246CB5D46CCC846CE3646D17746D32C46D45D46D64746D7BE46D8F446D9C846DDFA46DF6546E0BA46E2EA46E46146E57A46F22D4700314700F747025A4704384707CC470B8E470EEF4710234711A147148B471722471922471B90471C61471D994720CF4722FD47256C4726C547288A472B3D472C4B472D7A47301347310F4731AD4738DE473CC2474C71474D1C47518A47568747577747588D475989475BB7475CB1475E9C47605F4761864763C5476513476672478031478DB6478EDF479AB2479EAA47A15A47A52D47B00A47BC2C47BECB47C17747C3BF47C51647CAAC47CF8447D37B47D49D47D72647E72547E7F347E91947EE9E47F31047F50F47F7C747FA51480946480B3A480D91480DF94813BF4813FB4814374815BD4817C6481867481B5A481BE8481E7C4821E04822454822854823E44825E04834B4483866484A164854F44855A54858AA4859AA485E6A485F5B48615F4862B64864EB48667048685C48697C486A35486BDF486E18486FA0487277487842487A2C487BD2487C73489CF0489F4548A07448A95248AA6148AC5E48AD3C48AF4048B2C048B7C048BBFC48C75D48D7BC48DA7A48E2CD48E6BD49023449036D49067949075549081F490ABC490DE5490F2A4915E94917384918F1491B0E491E244923AB49258F4926E549281649299C492C4C492F2749313349346B49377549389F493A11493C9D493F49494091494773494D62494F264951A04952A84953D949551049680C4969FA496AC1496CC54970864971EF49731049741749757A4976D0497A37498A964990FE499227499388499540499823499A1A499C33499E6D499FEF49A0B949A1E949A32349A55B49A7AB49AC0A49ADEC49B12C49B16D49B20649C37C49C6E449E35649E55849E6F349E93A49EB0649ED0A49EEE749F10E49FB8749FBF749FF2E4A0F524A1F8A4A27CC4A2BE54A2D0E4A30C64A33624A36894A3A2E4A3E2B4A401B4A41714A425F4A43F54A46E74A499F4A4BE64A4D7C4A4EEA4A4F7B4A584D4A5D3C4A6CB84A792C4A7A034A7AC84A84314A89BB4A8B864A911A4A942F4A953F4A96274A99084A9C324AAAAF4AAC514AACE84AB1104ABA854ABCB04ABDF14ABF6A4AC1E74AC3544AC4F14AC8E14ACAEA4ACC4F4ACF674AD4B64AD5CD4AD6F94AD79A4ADA7C4ADD054ADEB34AE03C4AE3D24AE76E4AE9894AEA8C4AEC564AF0C84AF4244AF6F44AF8E84AF9C74AFC2F4B00504B060B4B06DC4B07EC4B092D4B0AE64B0D934B16A84B19854B1F124B24F74B25F24B275D4B29144B2B754B2D5C4B2E2D4B31304B34104B35524B377D4B39F24B3E724B3EF34B40454B41914B439D4B44704B45844B47B74B4CA14B53D94B56DA4B5BE34B5EE04B615A4B63A44B65A84B76144B79694B79E14B7A974B7BA74B809D4B81A24B89504B8A954B8F894B997F4B9B4F4BA03F4BA8C14BA9EA4BAE744BB0DF4BB3354BBA5C4BBB244BC2BD4BC3834BC3F64BC9AD4BCA544BCC254BCCC74BD41F4BD4C14BDE584BDF674BE08C4BE80C4BE9D54C0D634C11854C12DC4C14AB4C16AD4C1BA24C218F4C22F54C2D5F4C2E4B4C31984C362B4C37574C3A074C3BEF4C3DD74C406D4C40E54C43724C44C24C4A6B4C4E1D4C51E14C52904C53D64C55074C56FF4C5B5B4C5CDE4C60364C62DC4C650A4C694D4C69A84C6F424C740B4C79A74C7BA84C7D7A4C833D4C854A4C86CF4C8B104C8CC84C8F744C8FB54C91044C95354C965F4C972E4C98E74C9C024C9DA24CA64A4CAC854CB2264CB30D4CB71D4CB8974CBF804CC18A4CC3FC4CC5B04CC68F4CC7E84CC9D04CCB854CCC744CCDCD4CD2754CD3744CD54A4CDB554CDC544CDE294CE4874CE5F84CE7804CE9EA4CEB734CEE2A4CF15B4CF3C54CF6D24CFBE54D021E4D03EC4D05B64D08E64D0A5A4D0CB54D107B4D19104D1F074D202A4D219B4D23F64D25844D2BC74D2CEA4D2EB44D31FC4D33D14D3A374D3B364D3CA84D3FDD4D42914D48C64D49C24D4B5D4D4BEE4D4D644D50704D54B24D594C4D68FB4D69A64D70444D71744D72D04D75494D78B94D7AD04D7DAA4D7FDF4D81774D83764D93144D95024DA0864DA1824DA5164DA6DF4DAD5C4DB00F4DB15F4DB26E4DB4D24DB9D64DBA784DBBF24DBE484DC10C4DC2BF4DC7D74DCA514DCBC44DCD244DD0BD4DD4A64DD5484DD79E4DD8914DDA444DDE9F4DE1194DE2734DE51E4DE9BC4DEA5E4DECB44DEDAA4DEF5D4DF3B84DF6324DF78C4DFAFD4DFEE64DFF8B4E01E14E02E54E04984E08F34E0B6D4E0CE04E0FA74E12004E12C34E13D94E1E984E24B74E259A4E2DF34E33384E34364E3A444E3D514E401E4E44C64E45A94E48D44E4B3B4E4F064E50CA4E59624E61284E62A54E647D4E666E4E6AB74E6FEC4E71D24E73AF4E75DC4E78754E81F04E92924E93904E95AC4E9D1D4EA0F24EA2F44EA4D54EA6A04EAAF14EAC644EAEFF4EB7AE4EBA534EBC954EBD864EC0B24EC7FC4ECC664ECFAB4ED04F4ED3204ED5754ED7B04EDAA94EDFFE4EE2364EE4934EE9AD4EEA514EED224EEF774EF1B24EF4C14EF5374EF5B84EF7DB4EF87F4EFB504EFDA54EFFE04F02D94F04604F082B4F08CF4F0BA04F0DF54F10304F133F4F14794F19064F1A204F1B3A4F1F5B4F1FFF4F22D04F25254F27604F2A594F2C354F32FD4F36084F37DD4F3A6E4F3CFF4F3DD04F3FB04F419F4F44AB4F454F4F48204F4A754F4CB04F4FBF4F51044F540B4F54AF4F57804F59D54F5C104F5F094F61174F64504F66494F67CE4F697D4F6C2B4F6CCF4F6FA04F71F54F74304F773F4F78244F79BF4F7C2B4F7CCF4F7FA04F81F54F84304F87294F880E4F89A94F8C154F8CB94F8F8A4F91DF4F941A4F97134F9A4D4FAAAC4FB1D94FB2934FB3FC4FB9634FC52C4FCC1C4FCD1D4FCE714FD1284FE6CC4FE7C54FE9B04FEACE4FEF5A4FF1E24FF3114FF5F24FF82E4FF9124FFC9A50001F50011050031350046C50057F*500C458B500FCC50124E5013775016375025B350265E5033F55039E55047CA504D72504F7D505BC3505D5F505E2E505F0E5063505066C75069BA506D87506E9D50701D5071F75073C350749F5077925078D8507CA4508BED508EB450907E50921E5093BE5095F55096925096F3509B1050A9E050ACDA50AE6050B07D50B1A350B2F750B48350B5F050B6D650BA3650BE4850C0F050C22150C6EE50C7BF50C8ED50CAAB50CF6050D37250D5F550D72650DBFF50DCD050DDFE50DFC550E49350E8CF50E9A050EB7650EDAE50EFAB50F25D50F3BB50F46150FA5B50FEE250FFB351012A51040D51080D5108DE510A0B510C49510E085110E051137C5115AA511634511942511E2A51229751235E5124D55127B4512A9F512BB45137E9513BAD513CC7513D9A5141315142435143AE514506514B07515238516297516ACF516D3F516E135170BE5171E351731A5174DD5177D55178F9517C7A517DBB5180065181475188F3518AFF518C07518E2D51922451933651962A519754519A1B519E16519EE951A06351A3EA51A62151ABC851AD1751AE9151AFF751B3AA51B67D51B8F751BA1A51BED951C6E551CBD351CCFC51CE7651CF8951D0DE51DACA51DCE151E06851E3B351E83D51E98051EA7351ED9751F01151F14251F6EE51F81151F9C651FC3151FD5651FF77520406520746520BE3520D7C5210275213D1521967521AD2521C4C521DB252216B5225E752272152289B522C58522F575230EE52336D5234E15239A8523D85523F1C52419B52431D5247F0524C23524EB75252E25256355257565259CD525B1F525CCE525FFA5265645266C3526957526B4D526C20526EB8526FD05274E2527776527932527D945280B25282CE52840C52876E52882E5288FB528A27528C64528E2A5292E75295A252971552A00152A0E652A1B952A44052A77352ABE952AD2D52AE5052B09D52B33752B46852BA7052C02052C16B52C2A552C9BC52CC9052CF1552D01052D72752DC0C52E02652E16052E23152EBE852EEC252F01752F2C052F65C52F72552F83752FEFC5300D15303A75306DC53079A530AFC530C16530E1D530F035311EB53152653177B531C10531DD55320CA53218853237D5325A753268D532963532C56533005533199533370533A52533B9E53411D5344DE53456653463953484D534C3A534CCE534DA1534FB55351325351D45354635358E05359B1535B28535D775363015365955369A0536DD4537068537427537507537BC3537D6353831553858E538650538C6F538D77538F0E539174539590539883539A19539C6853A41853A69C53A76D53A83E53A98153AACD53AC2853B14D53B40753B8BA53BB4E53BD4453BE1753C0C153C20E53C2B053C53F53C9A553CA7653CBCF53CE5353CF6953D55353D64653DBB353DC6153E28253E5A153E6FC53E8B153EB4453F05E53F3B853F48953F84053FCE65400155400A854064E540863540C605411B35412CC5416D95419AF541C9A541DB954286E542BAE542C7F542E4A5432EE54362F543908543A2B543BBE543EC75440D95444735446DD544D43544F0354513F54542D545A90545C50545E8C54616354629854660E546846546E86546FD05472045473585476B0547B94547D56547F3C54809A5483E65486E2548829548980548C5E548F5A5490D1549228549542549A43549BD0549F2154A41654A54D54A84654B28B54B9E354BB0254BC4F54BE0554BF0954C19F54C28A54C3F054C73554CA8854CE7B54CF4C54D3BC54D53154D84054DA2354DAF654DE0A54E06554E2FE54E63754E88754EE3A54EF7D54F0F654F40954F76C54F8B554FBA054FFC955011D55029755073B55097F550DE355126155140F5515BF551A1C551CCC551F0C551FDD5523495524CE55280F552911552B04552C14552E2B5531D75532E05533BA5537DF553B88553DC1553EB655415C55439C55446D5547D955495E554C9F554DA1554FD055533F55544855552B5558BA555B0F555BE05562CC5568955569E3556B1B556E35556F4A5571C55574FE55765E55788B557AE8557BAA557E58557FC555848F5585BD558882558C0455903355918855925955958655991A5599ED559C82559EA255A2F855A3C655A4D455A88355AC1555ACFF55B1A355B47755B6C755BBBE55BEE155C06D55C17D55C53B55C77755C84155CAF755CE9E55CFFC55D0DD55D37855D6E055D7B755DB9855DF5F55E03755E49355E67155EA0A55ECA055F28455F42E55F64155F93255FB3C55FC3755FEF25600BE56020D5602FC5604E55607415609DB560C3256149A56163E561737561908561C87561FAF5624A5562C60563DC5563FBD56419156451556470F564844564A3B564B8F564CF6564E375650B35654845657895658825659BD565B9F5660075661A0566287566871566E615675385676E35678A5567E4456837156850F568ECD5691FE5693E35695CC569CAB569FDA56A9FA56AA3B56AB9856B17C56BA6256C30756C40E56C82856D25256D81756D97E56DB5256DD3256E65A56E81E56EA1D56EBC756EE4256EFFE56F14356F3F656F49656F6F056F9FD570120570244570417570531570688570996570AD6570C89570E24570FFD5714685716B257185C571A48571B06571CFB571F6657202A572912572A9F572CE0572DE75732915733A457364257380A5738C8573B8B573E87573F6D57421B5744BE57461C574901574CC7574E71575168575341575BEB57687A576A84576BD657708E5775FF57771457784F5779BD577C0E5782AF578378578B175794CD5797B15797EF579A97579BF3579D4B57A08257A7DE57AA5557ACAF57AE6E57B02D57B71257BECD57C1DD57CCE357D4CA57D69657D89B57DA9357E35E57E52B57E7D657E9D457EBD257EDD057EFA757F13B57F35657F44C57F77557F94257FB0557FCC857FE3657FFDF5804D458059D580D0C580F3E58119558173E581B7C581E5D582657582924582B4158474458488B584A5E584C4F584E14585412585B7358608A58729B5873FA5875FD58782F587A50587E7E588205588A5458900558932B589461589D38589FAE58A62958A9C258AC5958AF5D58B28558B5E958BABA58C02E58C10C58C7BC58CB0858CF8958D21058D3E158D60558D7AF58D95258D9F658DB7458DD8B58DE8258DFFA58E24F58E60D58F6E358F78E58FC1B590811590931590A54590B8E590D8A590FC459134F5917D55920635922715923F4592538592A36593A955940B2594C07594D825950925953FD59560159579159588C595A055967025968E3596B7E596DA55972065981015988465988DC598997598E29599004599C3D599EA359A07B59A49859A6F259A7D059AB5459AC9D59AD7F59AFBC59B4B059C50F59CAC159CF9F59E2CF59E3A359F2E859F55559F70759FBA05A033B5A05CE5A08395A0F695A10ED5A14B55A160A5A19FA5A1B555A1E935A20105A22005A23EE5A26D35A29235A2B085A2C455A2D8E5A303F5A322C5A3D8A5A3F8C5A40DD5A43595A45045A48F65A4D2F5A4E6D5A506E5A53F75A54C85A56515A58A35A638E5A64515A655A5A67C75A69E15A6B1E5A6D375A71B05A75E95A77275A79285A7CB15A7D825A7EEE5A80635A83015A855B5A86B85A89D65A8AC35A93A95A94775A95F55A97745A9B985A9C585A9D255A9EA55AA1365AA3415AA9FA5AAD5C5AAE1C5AAEE95AB0185AB2555AB5CD5AB8F55ABC715AC1425AC5475AC85E5ACA505ACBD05ACD775ACFDA5AD15A5AD4285AD4F35AD6C15ADC6E5ADE785AE0145AE30B5AE5DE5AE8C55AEAD65AED555AEEF55AF02D5AF26C5AF48E5AF6C55AF8AA5AFA7F5AFB3D5B01125B01FD5B07165B17755B1E955B26365B29AD5B2BA65B2D0A5B2F185B310F5B33545B35495B37095B38375B3B2F5B3CAA5B40175B415C5B44C85B483A5B4A765B50D25B58C95B5B1E5B5BEC5B5CE15B5F305B619E5B635B5B66335B671D5B69AF5B6DA35B6FAD5B73235B74FA5B75D25B786B5B7C6A5B7E005B81755B824D5B840B5B86BA5B891C5B8ABD5B8BC25B8C8A5B8F7D5B91415B92955B935D5B95F95B992E5B9A265BBA825BBD245BC21F5BC48C5BC8125BCAAA5BDA0F5BEA3C5BEB685BFB915BFCCC5BFD935C0BA55C0E4B5C1B815D36015D43315D442F5D45CA5D48175D4A585D50725D552D5D602A5D699C5D6B5B5D6CB65D6F0E5D705F5D72265D73D85D75425D75E65D77785D792E5D7B24As far as I can tell that's inclusive. Ignore then 8-digit one. I don't know what that is or where it came from. Not only this, but there are likely multiple edits per method. On the flip side there are probably some that don't need any modification at all. That likely comprises less than 5% of them.There are also 2D effect handlers, but not near as many. Less than 125.

If you don't know what this means then don't worry about it. Just accept the fact that interpolation of 2D/3D effects is FAR AND BEYOND anyone's dedication to this game. Feel free to prove me wrong though.If you're curious about how to alter these PM me and I might try to explain. Be warned it's extremely technical and requires knowledge of x86 assembler and how the battle render engine works.

There are occasionally problems in the battles where bullet shells or textures don't show up. I have no idea why or what causes it because reloading a save and fighting the exact same battle will sometimes load the textures properly.

Proof of Concept Videos (must be watched at 720p or higher)www.youtube.com/embed/CFixQcIpMEswww.youtube.com/embed/5m57Uz6gkrs

I will ask Borde about it, next time i see him online if you guys like. He maybe to busy to do anything but he might tell you where or if it can be done

Don't worry about it. I took care of it.

edit: Here is a video if anyone is interested of the battles running in 60fps. Fraps does drop the frames down a bit when recording but you get the idea. Interpolated animations were created with a modified version of kimera i made.

It literally occurred to me this morning. You don't specifically need a camera editor, just something that will extend the camera's duration for things. That would take no more than a single pass through the camdat files and increasing/decreasing all the "steps/frame pauses" for all relevant codes. That I could probably cook up pretty quick. Enter the current fps, desired fps, the camdat file to process and you'll get the camera flowing the way it should! I'm going to give this a go real quick. Should be pretty easy. It's just picking out the codes and modifying the correct bytes. I'm pretty sure I found them all already. Let me take a crack at this.

I've been meaning to get back to this. Stupid addictive duodecim.......

The "solution" I came up with isn't perfect,but the only thing I can think of to so with this is to add wait periods to make the camera last as long as the animation. This has drawbacks though. Consider something simple like Matra Magic. The camera is supposed to follow the missiles from the caster to the target by performing XX transitions between looking at the caster and looking at the target. If that transition takes more than 64 frames, then the transition increment can only go to 255, then it'll have to wait the rest of the frames at the destination before the next transition takes place.

Say a transition is supposed to take 100 frames. If your increasing the fps from 15 to 60 then the new desired transition time would be 400 frames from point A to point B. But it can only really be increased to 255 transitional frames and made to wait the remaining 145. That will make the transition much faster, but it will be focusing on what it should focus on when it should focus on it.

That said, in order to do this, it requires splitting each camera script by type, editing them, then reconstructing the cam files From scratch. That's not as simple as it might sound because there are actually scripts that aren't used and there are lots of duplicate pointers.

There is no better solution unfortunately. In some cases we could calculate where the camera should be after 255 transitions between point A and point B, but there are some scripts with transitions between relative locations like "caster_center" and "target_center" that wouldn't work like that. Not unless we knew more about how it all works.

Then we'd be a lot closer. That's just forcing the wait counter to be four times as large as the script wants. This would also have to be done for the Focus Cam F5 handler and any other op that wants a increment of some sort. The problem is this solution isn't as wonderfully modular as altering the scripts themselves.

I'm pretty sure those are all the cam ops that use delays or step increments. I don't know where the animation scripts are handled yet, but I'll look for them after I'm done with the camera parts and test them. I have a nice little dif file that shows what I changed from -> to if anyone is interested in trying it out.

* I say "harmless" because I think the register is completely cleared before the value is loaded. More modern processors will probably handle it correctly. Oddly enough, the game loads a byte value into a word-sized register chunk then stores that word-sized register chunk into another value that is modified later. Basically what I added was removing a redundant re-indexing (those are freaking everywhere) and shift some commands down and add a [dword-register] *= 4 command in there. The problem would be if the loading a byte into a word-sized chunk would result in clearing the register or not. If it does then there's no problem. If the upper part of the register still holds a value then the *4 could result in an overflow if the upper word is greater than 3FFFh. It doesn't look like that can happen in any of these cases, but it's now more vulnerable to error and possible BSOD-ing.

xor ecx, ecxmov cx, 0xBE10F8[eax]mov edx, [ebp+var_8]mov eax, [edx+4]movsx cx, byte ptr [eax+ecx]mov edx, [ebp+var_4]imul ecx, 4mov [edx+4], cxThe problem is in line five when it moves a byte-sized value to the word-sized register. Does the entire word get reset? Very likely. In fact, the entire ecx SHOULD only contain that value at the end of that statement. Since it's only moving a byte, it can't be larger than 255 and multiplying by four would yield no more than 1020 to be stored in that spot (which is the current camera script position).

Anyways it is the opening and closing battle camera pans. They run at the proper speed but get cut short.

I noticed that when I was showing off that tech demo. There might still be a duration counter that I'm missing. The battle timer begins so far into the initial camera motion. If there is a trigger for that it'll have to be moved down in each script. Try changing the battle mode to 'wait' and see if that makes a difference. I've long thought that the command for making the battle timer wait rests in the animation, but it might be in the cam scripts.In reference to a prior post of mine (http://forums.qhimm.com/index.php?topic=9126.msg144037#msg144037), it could be DA, DB, DC, or F1 of the position cam or DB or DC of the focus cam codes. I should extract all the init cam scripts and see if I can find some commonality that they all share. They're all in the exe if someone wants to beat me to it.

Update:It looks like E6 is also used to create increments in both the position and focus scripts. That won't affect all the scripts, but it would affect some.

I wrote these tools to help me read and edit .s files, maybe you can put them to good use. Simply adding more frames to the animations just caused it to cut out early when I tried it but maybe you can figure that out.

Well it appears to be C, it should be easy to compile to EXE with a compiler like Mingw, try installing mingw and msys (both free programs) to the default directory of C:\Mingwthen run mingw from your startmenu and you should get a command box, then copy and paste all the text in those code boxes into TXT files and use the filenames provided sptdump.c,sptbuilder.c,spt.hthen put these 3 files into yourC:\MinGW\msys\1.0\home\USERNAMEfolder.Then in the command line typeGCC -c sptdump.c -o sptdump.othen press enter then typeGCC sptdump.o -o sptdump.exe

then you will have sptbuilder.exe and sptdump.exe files. And that should do it. hope this helps.NOTE: in the line C:\MinGW\msys\1.0\home\USERNAME where it says USERNAME it should your windows username, so for me its Kram since i log into windows with that username.

Unfortuanately, I must confess I'm complety at a loss here Obesebear. It would seem reasonable for limit break animations to be stored togheter with the other battle animations, but as long as I know, noone around here has found a trace about them. My information could be outdated, though, I've been away for quiet a while.

I don't think animation length can be automatically adjusted by the game engine. All other animations have a fixed framerate. But then again, who knows.

I thought limit break animations were contained with the magic animations. Pushing some magic anims beyond a certain number seemed to support that theory (http://forums.qhimm.com/index.php?topic=8195.msg98685#msg98685). Their effects range from 00h - 4Eh (http://forums.qhimm.com/index.php?topic=7928.msg95559#msg95559). I don't know where these are stored, but it doesn't seem like they're stored in the animation of the actors themselves. They're likely in the magic.lgp somewhere and made to specifically reference bones of the actor.

I did create a DLL a while ago to allow switching of FPS between values via hotkeys, I haven't had chance to fully test it (i did give it to pitbrat to test but i haven't been on IRC for a while so i haven't had chance to ask him how good/bad it worked).So if you want to test it, it should allow you to switch between a lot of different FPS values (similar to the speedhack but different because this DLL only sets the FPS for what you choose, so if you choose to run battles at 60fps it will only run battles at 60fps and the field and stuff will stay the same where as the speedhack speeds up the whole game regardless)So this will make it easier so you won't have to hex edit your EXE (i can make 1 just for battles if need be).You can get it herehttp://www.mediafire.com/?ee02tw422kfml2mthis is also a all in 1 DLL so it also includes other stuff like my AnyCd, load saved games, Always Run, Interface Switcher (only for use with menu overhaul) and move while talking.here is a list of what the hotkeys are (so to set battles to 60FPS just press and hold the B button on your keyboard then press number 6 on your keyboard (using the top numbers NOT the side keypad))

M+1 = Move While Talking V1 (glitched cloud but works at events)M+2 = Move While Talking V2 (Doesn't work correctly at some events)M+3 = Access Menu While TalkingM+4 = Highwind land on dark parts of the map or in forest's (Don't use on other vehicles only on highwind)M+0 = Undo Move While Talking, Access Menu While Talking and Highwind landing

CTRL+L = Load anywhere (press twice in field or once if in the in-game menu) NOTE: DO NOT USE THIS WHILE ON THE WORLD MAP (you can load saves on the world map just don't press CTRL+L on the world map)

FF7AnyCDv2 Built inNOTES:1. Set the FPS before you go into the desired part, so set the battle FPS before going into battle, Set the world map FPS before going to the world map, Set the field FPS while on the world map or in battle.2. To run at over 60FPS you may need to disable Vsync in Aali's Driver and in your graphics card driver's control panel.

As far as the field, I don't think we have anything that lists which animation is used by whom. Though we could manually make a spreadsheet with each animation listed, then use Makou Reactor to go through each scene to find out which .hrcs are using which animations.

If you download Ifalna, there's a file in there (ifalna.filter) that lists for each HRC file, what field animations it thinks are associated with it.

It was generated based on parsing the field files, and this was done over 10 years ago when the format wasn't understood so well, so no guarantees it's totally accurate; but, it shouldn't be too far off.

I'm impressed by the amount of progress this project has seen since the last time I checked. Great job guys.

As for my end, I finally have good news. After spending countless hours checking and rewriting my encoding/decoding functions,I found out what went wrong... at a completly different place. Turns out I was ignoring the root rotation. It was suposedly ignored by the game, but looks pretty damn clear it's not. That was also the reason why Cid's fleeing animation was wrong.

I think I solved all the problems regarding animations interpolation, so at least that's one less problem. The new version of Kiimera allows you to interpolate automatically all the animations in the game so there is no need to process one by one any more, either.

We still need to get effects interpolated. Anyone has information about them?

EDIT: Aali has been researching about effects and found out pretty much everything is hardcoded into the EXE. That means that getting interpolated effects implies finding all the functions used by effects and modifying them to work at the new framerate. I'm sorry to say I think the future of this mod looks very grim...

It was pretty defeating spending all that time interpolating the models only to find out they were messed up and completely unusable. However, I recently quit my job, and after skimming this old topic it seems that everything (aside from those damn animation files) is in place to make this a reality.

I'm currently reinstalling FF7 and will begin work on it today. But first this thread needs to be purged of all the old unhelpful information and I need to find a link to "multi.dll" that DLPB made. I also couldn't find info on the limit break animations, but I know they were found and posted about somewhere...

You might have an easier time with HextLaunch (http://forums.qhimm.com/index.php?topic=13574.0). It can launch any app and inject as many DLLs as you want. In the long run I think it'll be easier to use, at least for testing and development, than multi.dll.

Great! Trying to update the first post with all the correct, up-to-date, important information. If there's something I missed or is wrong do let me know. Like, I need to get rid of those manual .exe edits now.

I've been looking into increasing some of the animations in the same way I increased the cameras (which should work 100%). I haven't made much progress since I'm not certain of the structure of the animation loaders. I've definitely narrowed down where Ultima sets lots of its values and gets added to the animation queue.

As you can see this is the main counter for each animation frame. It is adding 1 to each frame, advancing the animations. Hence, making this value 2 doubles anim speed.

Surely there is a way from here or nearby to make it count 4x slower. I am not sure what calls this function, or how it all ties in. I only know that the key to animation is here, and this appears to be the main thing.

As you can see this is the main counter for each animation frame. It is adding 1 to each frame, advancing the animations. Hence, making this value 2 doubles anim speed.

Surely there is a way from here or nearby to make it count 4x slower. I am not sure what calls this function, or how it all ties in. I only know that the key to animation is here, and this appears to be the main thing.

I'm sure this would be relatively easy, but even if you slow the counter to make it increment once every four frames the effect will retain the 15 fps animation. That'll look odd for most animations. This should be fine for 2D effects, but 3D would stand out.

I'm sure this would be relatively easy, but even if you slow the counter to make it increment once every four frames the effect will retain the 15 fps animation. That'll look odd for most animations. This should be fine for 2D effects, but 3D would stand out.

Still, it's worth a look and I'll check it out in the morning.

It is advancing the animations though. Perhaps my choice of word frame is wrong... Anyway, see what you can find in there. Looks like potential to me. But there will no doubt be issues.. :-D

It is advancing the animations though. Perhaps my choice of word frame is wrong... Anyway, see what you can find in there. Looks like potential to me. But there will no doubt be issues.. :-D

I understand what you're saying completely, but I guess I'm not explaining well. If you tell any animation to advance a frame every four frames then it will still appear to be 15 fps. Otherwise if it advances once a frame it will play four times the speed.

for( x = 0; x < 100; x ++){ if( *HandlerQueue(x) && dword_9AD1AC) { call handler x If (AnimationData(x*32) == -1 ) { remove handler from queue } else { if( *HandlerQueue(x) == 0x42782A ) { call handler x } }}x = 0;That's being called twice per frame and can call 100 handlers per invocation. Ultima requires as many as 79 and I've found where the sparkles (0x579A97) and the dome (0x57A082) handles are. It's not handling 2D effects though. I believe I can control the speeds of the sparkles and how long they stay on screen. I just don't know how to control when they rotate through their graphics.

That's what's being attempted by Obesebear, but it ain't simple... Kimera is broken, and there are tons and tons of animations to do... :'(

Well yes, the downside is the amount of work. I haven't test the interpolate all animations button myself.

But you are right the game is able to interpolate frames by itself. This is used in the field mkt_s1 (the boutique of the wallmarket) for Cloud to play a animation slower as it really is. So if we can use this command to interpolate the battle animation then it would spare us a lot work.

Well I certainly did increase the duration of Ultima's sparks. They stay on screen a lot longer and don't seem to be adversely affected by the increased duration. I just have to figure out how to delay the rest of it.

Some sfx are being triggered too early. Say Barret's shooting animation is #10 and is 20 frames in length, and that animation #9 is a 3 frame animation of him getting ready to shoot, it looks like the sfx is being called during #9 instead of #10. So it may be that those small animations like #9 needn't be interpolated.

What's happening is the sfx is being called on a certain frame of an animation string. So while Barret's shot used to sync up perfectly if the sfx was triggered on frame 4/20, it's now out of sync because it needs to be triggered on 16/80.

Wait time for the next attack moves at 4x speed for everyone. As is the yellow party indicator

An oscillating value increases both CTimers and VTimers for everyone. Fortunately, it is multiplied by 40 every time it's requested. That's then added to their current wait time. Change this to 10 and things will slow back down. Fortunately, slow and haste are bit shifts and won't need to be adjusted at all.

An oscillating value increases both CTimers and VTimers for everyone. Fortunately, it is multiplied by 40 every time it's requested. That's then added to their current wait time. Change this to 10 and things will slow back down. Fortunately, slow and haste are bit shifts and won't need to be adjusted at all.

at moment you are editing every part to make it work at 60fps . Isn't there some sort of function that calls all these? So instead of editing a ton of functions for everything, including blinking text speed, we can just edit the one function call?

This way means a load of hex changes are going to be needed. Is it the only way?

The function that calls all of these is the "Draw_Frame" function. If we're increasing the frequency at which that is called then we have to reduce the values it manipulates or create a new timer that handles all these "per frame" functions.

Well, my easier way, which isn't what you and obese are doing...mostly... is to just use code that pause values use... basically skip major functions 3 of every 4 frames. I've gotten it working to a large extent already.

Well, my easier way, which isn't what you and obese are doing...mostly... is to just use code that pause values use... basically skip major functions 3 of every 4 frames. I've gotten it working to a large extent already.

More work needed tho.

I think a combination of all of our efforts will be needed to fully realize this project. I'm glad to be a part of it.

Heh. The Turn Timer increase was actually undoing the good the VTimer edit did. Since Turn Timer is based on VTimer it would be fixed when VTimer is and not need any alterations.

The C-Timer is an estimation. You can't divide 34 by 4 and get an integer so I just SHR by 2. It's a fair enough approximation, but things might be imperceptibly slower than they should be. I think this only affects timed statuses anyway and I don't know if anyone would complain about longer-laster barriers. :)

It will fix everything... including the AI timings and char timings.. Problem is... it also means the slots will then have the same issue they did at 15fps... so that way is a no go :P Unless you can work something out.

I can't be 100% because I can't get this to record at 60fps... but I'm excited here... because that 1 value might have fixed everything. It is certainly what the main timing function uses.

edit 2.

No... it's fixed the lot [didn't bother recording... realized all i need to do is advance the game using breakpoints haha]. That one value is the main one. You can see how it's used in the function that comes after :-D The porting team must have set on purpose so the menu/camera etc could work at 15fps.

I can't be 100% because I can't get this to record at 60fps... but I'm excited here... because that 1 value might have fixed everything. It is certainly what the main timing function uses.

edit 2.

No... it's fixed the lot. That one value is the main one. You can see how it's used in the function that comes after :-D The porting team must have set on purpose so the menu/camera etc could work at 15fps.

Verified. The camera is clearly running as it would at 15fps, so it's not as smooth as the interpolated one, but this seems to be the best way to go for now.

I've successfully made the battle 60fps (completely finished and fully working). Had to add in my own small hack to make it dupe 3 of 4 frames, but that along with the menu fix I discovered has done it.

I'm happy with the results but also look forward to your interpolated version. 8)

I've successfully made the battle 60fps (completely finished and fully working). Had to add in my own small hack to make it dupe 3 of 4 frames, but that along with the menu fix I discovered has done it.

I'm happy with the results but also look forward to your interpolated version. 8-)

*throws confetti* Finally making some real progress on my end. Got held up forever on emerald

Is anyone willing to manually fix models? I'll be doing most of the work, but when I come across some I don't feel like doing they'll go in KNOWN PROBLEMS. If someone else would like to fix those, let me know.

Just when I thought I had seen everything, I am pretty pumped to try this mod. Any plans for 60 fps field/world map? ;-) ;-)

Yes and no. The method they used to speed down the battle scenes is likely the same thing for the field and world map. So reverting them back to 60fps will be pretty simple (so to speak).

However, at this time I have no plans to interpolate and fix the animations used there. Were I to get some help finishing up the battle side of things...well then maybe we can talk about branching out further. After all, it is likely the field and world map animations are exponentially easier than the battle ones.

So long as i don't have to buy fancy equipment to generate the animations, I also don't mind trying it out. I get the feeling we won't have as many animations as we have enemies. I'm sure a ton use the same animations (lets hope anyway..)

I imagine it is all a matter of quadrupling the number of animation points in kimera, spreading out each instance four frames apart, and improvising the inbetween frames. It's probably a pita but will make everything look much smoother

We need a Google sheet so we can see who is working on what model. My question is how many frames are needed to interpolate and how do look chained animations together? If they look to cut apart then we may need to add a help frame. I hope that this won't be needed, because this would slow down the process.

So long as I don't have to buy fancy equipment to generate the animations, I also don't mind trying it out. I get the feeling we won't have as many animations as we have enemies. I'm sure a ton use the same animations (lets hope anyway..)

Haha... :lol: No it's not that easy. Every enemy has his own set of animations. Something between 10 and 14 animations. :evil:But fear not Kimera can interpolate animations in a good manner so only fine adjustments needs to be done. However the save button should be your best friend, I have made the experience that 'Crashimera' doesn't like to play animations of battle models for a longer time.

EDIT:I have made the sheethttps://docs.google.com/spreadsheets/d/1C7jyrSu4Kmwvyp51eJJIcPGXEX-KZz5GufMEBpUT-EI/edit#gid=0Send me a PM if you want the link to edit it.

InstructionsExtract your battle.lgp using ULGP (you can extract them wherever)Once that's done copy all the files I uploaded into your newly extracted folder and make sure to overwriteBoot up Kimera. OPEN MODEL, and pick anything ending in **aa.In the lower left corner you'll see "battle animation". At the very bottom you'll see < and >, these let you cycle through the frames of the current animation selected in "battle animation".0 is the idle animation for every enemy. These should all be silky smooth, meaning once you reach the very end of the animation, the difference between that frame and frame 0 should be very, very slight.

As for the rest of the animations, I need people to go through every animation frame of every model by holding the > at the bottom of kimera and make sure they aren't doing anything weird (for example: when enemies do tail whips or flips the model usually collides with itself, anything that should rotate like a wheel usually just stutters back and forth)

Please make sure to document EVERY problem you find in the same manner that I did on the first post (HRAA animation 5 frame 37 for example). If you're good enough with kimera, feel free to fix it on your own. But if you do decide to fix it, please make sure to send me that model's **da file and don't forget to hit SAVE MODEL.

I've already done AAAA through BNAA, but you're more than welcome to check behind me.

Ok I will check obaa to ofaa. Again please sent me a PM if you want access to edit the document. It's better to reserve the model before you check its animation. This way we don't do the work twice.https://docs.google.com/spreadsheets/d/1C7jyrSu4Kmwvyp51eJJIcPGXEX-KZz5GufMEBpUT-EI/edit#gid=0

I just wanted to clarify, not all animations should be silky smooth during the transition from the final frame to the beginning one. Only ones that are supposed to loop like idle animations and barret's victory pose. Some enemies like zemzelett will have 2 idle animations, so you need to have a sharp eye to find which ones they are.

As for me, I'm spending my day burning my old floor and installing the new one.

I'm done with BOAABOAA - 2 Hands go inside the model starting from frame 7. 3,6,9,10,13 the wheels twitch instead of roll for all of them

Is this acceptable? because they twitch throughout the entire animation. Otherwise they would be documented like animation 2. Also should i be looking for issues like animation 2? Or should that not matter?

I'm done with BOAABOAA - 2 Hands go inside the model starting from frame 7. 3,6,9,10,13 the wheels twitch instead of roll for all of them

Is this acceptable? because they twitch throughout the entire animation. Otherwise they would be documented like animation 2. Also should i be looking for issues like animation 2? Or should that not matter?

Animation 2 seems fine. Frame 12 is actually an original frame from the game. As you go through more models, you'll learn what it is you're looking for. Small clipping issues like that aren't a problem, it's the big clipping issues that need to be documented and fixed.

Don't worry about posting your findings here, just throw them up on this spreadsheet https://docs.google.com/spreadsheets/d/1C7jyrSu4Kmwvyp51eJJIcPGXEX-KZz5GufMEBpUT-EI/edit#gid=0 (https://docs.google.com/spreadsheets/d/1C7jyrSu4Kmwvyp51eJJIcPGXEX-KZz5GufMEBpUT-EI/edit#gid=0) as you finish

Alright i posted my findings on the spreadsheet, if you want to proof check them and let me know what you find, if nothing out of the notations I've made than i think i know what to do and i'll start more models

I won't be checking behind anyone. If y'all say the model is good, then it's good. Only thing I'll be doing is going back and fixing all the errors that get reported. From there will likely be a beta release of everything I, NFITC1, and DLPB have done. Then we'll go from there.

I was just testing the Aero Combatant fixes, and his main attack is a 3 hit move and the SFX gets called for each hit. Usually bam .... bam .... bam. But since they are being called for the same frame as the original it's, bambambam long before his animation finishes.

I'm not positive, but I think pushing them all to call 4x later should completely fix the sound problem.

Setting the delays and hold cameras for four times their current amount made the delay between sounds four times slower and the camera stayed on the target for four times longer. Set sound delay 1 should probably remain at that value. This snippet is at 0x10E in buab or 0x32DCC1 in battle.lgp

This can either be solved by changing EVERY BEh CALL IN EVERY ANIMATION FILE (indicated NOT preferable) or I can squeeze some asm action into the animation handlers like I did for the camera scripts and handle it there. This indicates that at least the values provided to BE and C2 would need to be quadrupled.

EDIT:To make this change in the ASM, make the following changes starting at 0x021A1E:

I've been looking at how the game pauses... since the pause var can literally stop everything on screen (apart from the menu).

Seeing what accesses the pause var can tell us which parts are being frozen and thus give us the correct locations of the animation advancement code.

Unfortunately.. it isn't that simple. Magic is not just one counter. A lot of magics use a different counter for their specific animations... and that's before we get on to Summons and everything else.

I suppose NFITC1 may be able to trace all this back to a function that controls them all? And then we may get some luck with it. But if not, you guys will need to interpolate the magic too (are you doing this? Can this even be done?).

5C042B, 5D4464, 5D46B2

These addresses control just a tiny portion of animations I found. I forget which is which, but one is "Cure".

Certain model animation is advanced from 00424E5F

You have already found the counter for action times.

I've confused myself with all this to be honest. Anyway, good luck with this project, it's way more involved than my pause hack job (which will work 100% but will never be as smooth as this one hopes to be).

Getting Joker and Death Dealer to have their cards rotate smoothly is going to be a very VERY hacked job. The animation will look a little bit different (the cards won't turn on angles and whatnot) but it's the only way I can get it to work. Otherwise it just looks ridiculous. EDIT: Unfortunately Joker and Death Dealer animations are not interchangeable. Joker took about 3 hours to fix. It will be a long LONG time until I fix Death Dealer. If someone else would like to take up the task, let me know.

I've been looking at how the game pauses... since the pause var can literally stop everything on screen (apart from the menu, which uses the global pause var).

Seeing what accesses the pause var can tell us which parts are being frozen and thus give us the correct locations of the animation advancement code.

Unfortunately.. it isn't that simple. Magic is not just one counter. A lot of magics use a different counter for their specific animations... and that's before we get on to Summons and everything else.

I suppose NFITC1 may be able to trace all this back to a function that controls them all? And then we may get some luck with it. But if not, you guys will need to interpolate the magic too (are you doing this? Can this even be done?).

5C042B, 5D4464, 5D46B2

These addresses control just a tiny portion of animations I found. I forget which is which, but one is "Cure".

Certain model animation is advanced from 00424E5F

You have already found the counter for action times.

I've confused myself with all this to be honest. Anyway, good luck with this project, it's way more involved than my pause hack job (which will work 100% but will never be as smooth as this one hopes to be).

Nothing wrong with hacks. To get things to work, and I assume the magic, like textures, will likely need to have frames duplicated since their animation files aren't in magic.lgp.

If anyone ever figures out the spell effects I had played around with some image morphing software that did a pretty good job of interpolating them. Assuming you can add more spell effect frames that is.

Currently we have about 130 of the battle models error free and ready for beta testing in game.

What I need now is for someone to make a quick demo showcasing 15fps w/ no mods vs. 60fps heavily modded with all of our best models and graphic interfaces and all of the other cool strawberries we have around here. Your capture card will obviously need to be able to record smoothly at 60fps.

Anyone who is interested and capable please reply below and we'll get you set up with everything you'll need to use this mod.

Last I remember (from years ago) there was always some kind of problem keeping a steady frame rate using FRAPS with FF7. But that might not be a problem anymore.

It certainly is still a problem (and I'll be discussing this with NFITC1. Dziugo was in the process of fixing the frame limiter code), but as I just explained to Covarr, there is a way around it.

Get Ochu (or any trainer that can change fps), or change fps any other way to, let's say, 120.[to do this using Hextlaunch, the hext file should have a line reading: 7C0B00 = 00 00 00 00 00 00 5E 40 ]

So the game will run at 120 fps (you'll need to disable vsync in aalis driver). It doesn't matter if it runs less than 120.., as long as it's a fair bit over 60.

Next, use fraps or Dxtory and set it to do the limiting. Set it to 60. The game will now record properly and at 60, because fraps/dxtory will do the limiting instead. It's unknown what causes this issue at the current time.

The issue affects battle and field... and possibly menu. But not world map.

@NFITC1 What could cause a 2-4fps drop when recording? It has happened to me on 3 different computers. As I said, it can't be due to slow computer because setting to a higher fps and letting the capture program do the limiting works fine.

I think what dziugo said is right... the frame limiter is broken. I have no idea why this issue does not affect world map.

Currently we have about 130 of the battle models error free and ready for beta testing in game.

What I need now is for someone to make a quick demo showcasing 15fps w/ no mods vs. 60fps heavily modded with all of our best models and graphic interfaces and all of the other cool strawberries we have around here. Your capture card will obviously need to be able to record smoothly at 60fps.

Anyone who is interested and capable please reply below and we'll get you set up with everything you'll need to use this mod.

Currently we have about 130 of the battle models error free and ready for beta testing in game.

What I need now is for someone to make a quick demo showcasing 15fps w/ no mods vs. 60fps heavily modded with all of our best models and graphic interfaces and all of the other cool sh*t we have around here. Your capture card will obviously need to be able to record smoothly at 60fps.

Anyone who is interested and capable please reply below and we'll get you set up with everything you'll need to use this mod.

Maybe I can help? I have an elgato HD Capture card and also have X spilt which displays frames you record at? I get 11 frames fully modded out not sure about fully unmodded though can easily find out for you

...What could cause a 2-4fps drop when recording? It has happened to me on 3 different computers. As I said, it can't be due to slow computer because setting to a higher fps and letting the capture program do the limiting works fine.

I think what dziugo said is right... the frame limiter is broken. I have no idea why this issue does not affect world map.

The only thing I can figure is the frame limiter was designed with PSX in mind. Every time I've fraps'd ff7 it's always given me 12 fps in battle too. The PC port was never designed to work with other applications that want video memory. There's calls to enter critical sections all over the place (critical sections can only be accessed by one process at a time) so it's possible that the direct video capture software is leap-frogging those requests with ff7. That's a layman's guess so it could be WAY off. I'm not sure there's anything we can do about it.Come to think about it, when I make traces it slows down the fps too. I'm not sure why that is either. I know that not all applications do that.

...I suppose NFITC1 may be able to trace all this back to a function that controls them all? And then we may get some luck with it. But if not, you guys will need to interpolate the magic too (are you doing this? Can this even be done?).

5C042B, 5D4464, 5D46B2

These addresses control just a tiny portion of animations I found. I forget which is which, but one is "Cure".

No such luck. These are three separate functions.

0x5C042B: Can only be evoked by animation scripts. Only A4, A5, E6 and E0 call this. Haven't dug into conditions that must be met.

I know that Bolsa made LiBrE. since he made an editor maybe he at least knows where or how the animations are stored?

They're stored in magic.lgp The problem is that they don't have parent files to load into kimera.... well, rather that the parent files are the **AA files in battle.lgp but kimera doesn't have the functionality to recognize them.

Well, over on my side, I finally sussed how to stop the knights disappearing in the summon, but it does mean 13 exceptions have to be manually coded... 1 for each knight (they each have their own function and the entire summon has one massive function). lmao.

Well, over on my side, I finally sussed how to stop the knights disappearing in the summon, but it does mean 13 exceptions have to be manually coded... 1 for each knight (they each have their own function and the entire summon has one massive function). lmao.

I just made some progress with the limit animations.The weapon animation data in the limit files is different from the normal animation files. I've already successfully opened, interpolated, saved, injected, and tested Cross-slash's animation. The only issue is saving. The weapon bone gets lost in the process.

Here's what I had to do:

1. Copy kyou.a00 from magic.lgp into the folder with the rest of the rt** files.2. rename rtda to something else. I usuaully prefix it with "~"3. rename kyou.a00 to rtda4. Open rtaa in hex editor and change byte 0x24 and 0x28 to 00h.5. Remove rtck - rtcz from the directory (these increase the weapon counts in kimera where the problem exists)6. Open rtaa in kimera7. Interpolate8. Save9. rename rtda to kyou.a00 and reinsert into magic.lgp

Cloud did Cross-Slash just fine, but the weapon vanished. Something about that animation file is making kimera think the weapons aren't right and things go weird. While not so viable for Cloud, it would work fine for Red XIII. :D

A veritable strawberries ton has been done. Though there are still a few issues to iron out, I'm pretty proud of everything we've gotten done and wanted to share. Any problems you notice that aren't listed in the readme, please let us know!

Magics are all handled from functions that that call makes, NFITC1. The summons, items, enemy skills... everything, most likely (The knights of round is)

00BF23B8

The list of functions that are executed are placed starting there (the function queue as you said). Cure for example, calls 2. One sets things like the "CURE" title bar and text... the rest are the green sprites, called multiple times to generate the effect you see on screen.

Since the counter for the main call can go to 63h, this probably means the total functions that can be called in any one magic is 100.

What I'm thinking is, in order to get these magic effects running at the speed you want, you are going to have to mess about calling the main call 3 of 4 frames (or something) or manually edit the counters(maybe) for each and every function that is called (that would be a nightmare, but I can supply you with the way to find all that get called).

Let me know what you think.

In related news... I fixed the issue with knights of round, but not how I'd like... basically I have to make that call function call all 13 knights' functions. I've done this by comparing the register value to the knights' functions, but only when the main call is being skipped by the pause var. It's a very annoying fix.

So let's take first few knights....

0047ABB00047C7930047CBAE0048034E00480776

If the value in the register is 0047ABB0, it will always be called. Thus the knight will never disappear. I have no idea why the knights disappear when the call isn't calling them... and yet other magics that use the same call function do not. (like cure).

So first bug report of the Betafiring animations (Barret, Sweeper, Shinra Guard) are bugged, The damage calculates far after the animation is done. And the actual muzzle flash animation is way out of sync

Well I can't get this mod to work entirely. There seam to be something wrong with the battle animation of one or a few enemies. Every time I enter a battle the game crashes. It also seams that 7th heaven has an bad impact to it. In the end I used the direct mode and used only the main characters animations and started the game without 7th Heaven. I'm not sure if it's only me, but for me does the animations look to 'clean'. I think a 30FPS mode would look more usual maybe.

Fresh copy of FF7, install OGL Driver, install HextLaunch, config both, applied reunion patch. Than i copied the TA released models to the battle.lgp, copied the animation files into the battle.lgp and magic.lgp, patched the .exe, loaded up the game.

EDIT: Guard Scorpion's tail attack is smooth as silk, but again damage calculations seem to take 4 times as long at least

I wonder if the reunion patch is affecting your damage calculations, mine are showing up on time but are off the screen too quickly.

NFITC1, DLPB found the value that fixes a lot of things except the camera is at 30fps. Any chance you can work your magic and interpolate the frames once?

Also, this 005BB464 = 2C 00 should be the change necessary to get the damage to stay on the screen as long as it used to, and it works, but it each frame it's in a different place. Any ideas?

As an update, I'm slowly putting these models in the direct folder to try to figure out which one is causing a crash on battle start. So far I'm through the bombing mission and all playable characters with no errors. AND IT LOOKS DAMN GOOD

I'm such an idiot. I just realized I never put the 60fps battle. Lgp into the folder.. Nor was I launching from hext launch. I am an idiot.. I'm getting the crash on start of battles in the bowels of the reactor. So my guess is cloud, Barret, sweeper, or the grunt is causing the crash. Though you said you completed the bombing mission.. So i am guessing that i'm still doing something wrong

For this test I removed all custom battle models and it still crashes.

To be clear, that instruction sets the menu back to what it was with the PSX... i.e. a full 60fps frame rate, which will look correct at 60fps. It also sets the camera back to what it was on the PSX (30fps, on PSX double frames to compensate). Obviously, 30fps is still too slow for 60fps on PC (which doesn't do the doubling up that the PSX does).

That instruction also fixes some other things like damage calculation, and hit times. (At least it should).

To be clear, that instruction sets the menu back to what it was with the PSX... i.e. a full 60fps frame rate, which will look correct at 60fps. It also sets the camera back to what it was on the PSX (30fps, on PSX double frames to compensate). Obviously, 30fps is still too slow for 60fps on PC (which doesn't do the doubling up that the PSX does).

That instruction also fixes some other things like damage calculation, and hit times. (At least it should).

Is there any way to make the PC version double it's frames? It's a classic disney trick.

In an ideal situation where you want movement to look ultra-realistic in an environment, your camera moves every frame while your animations move only every other frame. I'm not sure if that would even be possible here, but it's fun to see in action.

However, if you double every frame, the timings of all of the animations should line up and everything would retain the 'smooth' nature of the 60 fps look you guys are all looking for. Ultra-fast mode doesn't really do it for me... Does it still function the way it looks in the YouTube videos?

Is there any way to make the PC version double it's frames? It's a classic disney trick.

In an ideal situation where you want movement to look ultra-realistic in an environment, your camera moves every frame while your animations move only every other frame. I'm not sure if that would even be possible here, but it's fun to see in action.

However, if you double every frame, the timings of all of the animations should line up and everything would retain the 'smooth' nature of the 60 fps look you guys are all looking for. Ultra-fast mode doesn't really do it for me... Does it still function the way it looks in the YouTube videos?

Right now the AI script, SFX, and Animations, are 60fps and the camera technically has 30 unique frames per second but moves correctly with the 60fps models. The only thing still moving too fast are magic effects and limit breaks

Right now the AI script, SFX, and Animations, are 60fps and the camera technically has 30 unique frames per second but moves correctly with the 60fps models. The only thing still moving too fast are magic effects and limit breaks

Would there be any way to double the frames of the magic effects or limit breaks? To have the game call the same frame twice in a row every time? that might make it possible to slow them down and keep them looking the same as everything else. I know I'm really late to this, but I love the concept and I am really blown away by all the great work done on this!

Limit breaks are VERY close to being able to be interpolated if NFITC1 can work a little magic.

Texture animations and magic are a different story. From what they've found so far it looks like they will have to be edited one at a time in the exe. Currently trying to find a more feasible way of doing things.

As I told you in chat the other day, I'm content to leave the battle square transitions (and by extention, the Hojo battle transition or any other transition that move a camera to a new position before the next battle) alone since they don't come up too often. However, it's possible that I found some fixes for it. I'm almost certain I found the fix for the victory cam extension.

0x4310F6 (0x0304F6) 1E -> 780x431131 (0x030531) 08 -> 200x4311AE (0x0305AE) 31 -> C40x4313DE (0x0307DE) 10 -> 40That ought to make it last the correct amount of time. It's slightly possible that this will affect next battle transition too. Not likely the camera motion, but the length of time it pauses while it "should" be adjusting the camera.

I also just proved that AB opcode C2 and F7 queue up the damage indicator. Thanks to knowing that, I've found that 0x5BB410 controls displaying the damage done. Duration is set just a little ways into that method:

0x5BB464 (0x1BA864) 0B -> 2CRE-EDIT:So that change does make the damage stay on longer. It does not behave after the regular 11 frames it was intended to stay up. I think, however, that those values that control its position are coupled right there a little lower in that same function. Of course it's not in front of me right now so I'll have to explain later

Obviously since I am dealing with pause (doubling up frames), those addresses will point to those areas. The main jumps.

By analyzing things that access 00DC0E70, 009AD1AC and especially 00DC0E6C, you will find pretty much every main part of the battle structure. All the main counters are jumped using 00DC0E6C.

You *may* also find, like me, that the intro to battle cam skips. If it does, I think I have an explanation.

Also, yeah, I sent that exact damage change to Obese the other day, and we found it messes something else and so won't display on screen right :P I asked that that be sent to you, because I'm out of ideas in how to fix it.

Also, yeah, I sent that exact damage change to Obese the other day, and we found it messes something else and so won't display on screen right :P I asked that that be sent to you, because I'm out of ideas in how to fix it.

I think you'll appreciate this, NFITC :P Not that it helps this mod. It's just my code to stop knights disappearing (so I guess if someone wanted to be really thorough they could use this as a fix for them disappearing on pause). Basically, when the 13 knights functions are being called, they must be called even on pause. I have no idea why... because by that logic, so should everything else.

But I had to rearrange the assembly to fit mine in, and I did it with no bytes to spare:P

Basically, the time until the menu becomes active has to be set correctly. Above F4 is four times the default. If you don't set this, the menu becomes active early, and the camera skips. It's pretty cool the stuff that uses these counters too... you can see how the game adds in the enemy, characters, menu and so forth, in an order. Placing in values 1 through 5. The one above is for the main options.

NFITC1, your values are spot on. The camera stays on screen the correct amount of time, but at least one of the victories causes very fast camera movement. It also seems like certain magic spells and attacks the camera still moves too fast (albeit at 30fps now). I would doubt the camera info would be stored within each particular magic file, but is it possible?

DLPB, I tried your value for the menu, and it does delay the amount of time before the atb begins moving (it even says WAIT) but everyone is standing around for a second or two before it begins. Maybe it's set to wait for too long?

As far as I am aware, that's precisely what the original game does... because sometimes the lead-in is longer. See Midgardsormr. Any less will break camera on certain enemies.

edit

Quote

<DLPB> It's just you only realize it's needed on certain enemies<DLPB> i quadrupled the value, which means at 60fps it should be the same<obesebear> what would double the value be then?<DLPB> #Against Midgardsormr the controls should appear almost at same time as the camera stops<DLPB> hmm given how nfitc has used the cam, perhaps it's now out. Double would be ><DLPB> 429C0C = C6 05 F4 D0 BF 00 7A<obesebear> ah ok lemme try<DLPB> that's only if it was miles out... against sormr the cam should stop at same time as controls are given<obesebear> perfect<obesebear> it begins moving just as soon as the camera is done panning<DLPB> must be how NFITC has done things<DLPB> Anyhow... nice to see that;s fixed<obesebear> Yep, slowly but surely :)

Or perhaps that's why my own cam is broken... cause im limiting it to 1 in 4 frames instead of 1 in 2.

NFITC1, your values are spot on. The camera stays on screen the correct amount of time, but at least one of the victories causes very fast camera movement. It also seems like certain magic spells and attacks the camera still moves too fast (albeit at 30fps now). I would doubt the camera info would be stored within each particular magic file, but is it possible?

I suppose in some cases it might be. I would suspect that some of them actually have camera scripts embedded in them. I suppose it's also possible that I missed one or two codes that make movement increments.

NFITC1, any chance you can take a look at Kimera's source and figure out how to fix the error "bad animation" 8-15? According to borde these are weapon animations, which would explain why kimera gets confused since it's expecting animations like the **da files contain.

I just decided to give this project a go after backing up my current install. I have to say it is much better and more noticeable than I expected at first. Now I really wish my HDMI port on my laptop wasn't broken so I could capture this and show it off. Somebody needs to make a video of this mod. Even though some glitches remain it is absolutely fantastic and people need to see it for themselves.

Ok tried to use the lgp version but everytime I'm trying to extract says can't recognize. Used many versions and the old 0.5 worked. But after modifying with the 60 fps files it can't re-pack. Says file externally altered.

edit: I managed to recompile my magic.lgp by using an old version of lgp tools (not sure which one) and the command line and did a lot of testing!

C:\Games\Final Fantasy VII\ff7.exe opened successfully.Succeeded in loading by File Name.

---------------------------60fps.txt

Changed: 17Replaced: 0Permissions: 0

No errors.---------------------------

No DLLs detected.

___________________________

10/8/2014, 5:41:27 pµDoes that mean it is working?

When I was using Vsync, camera looked very smooth. Without vsync everything was too fast but 60 fps. With Vsync 30 fps locked. I was about to post a video but not sure if this is working right so I want to confirm that and then record it.

You don't put anything in the direct folder. You pack the files I provided into their respective lgps.I use the command line version kranmer compiled of aali's v.5 unlgp program. Sithlord48s version should also work.

Never use lgptools it doesn't correctly repack certain files.

Vsync should be disabled. And you need to patch the 1.02 ff7.exe with the provided .dif files

New version .83 posted. Only minor changes unfortunately, which you can view at the bottom of the first post.

Models are completely finished at this point until a new version of Kimera comes out. Version .82 had 60 downloads and no one reported any crashing, so I assume you should be able to play through the game with no crashes, but if this does cause a crash, please check your app.log and report the scene which caused it so I can try to narrow down which model is the perpetrator.

NFITC1 is currently decoding the AB files, so hopefully that will lead to some further fixes in the future.

Also, if someone wants to make a before/after video, I'll happily add it to the first post.

NFITC1 is currently decoding the AB files, so hopefully that will lead to some further fixes in the future.

Making some good progress on that front too (http://wiki.qhimm.com/view/FF7/Battle/Battle_Animation/Animation_Script). I'm mostly convinced that the majority of the byte parameters are frame counts. Almost universally increasing those by four will interpolate everything automatically. There are some exceptions to that, however.

I see you've been busy while I was away. I'm very impressed by your progress.

I'm sorry I wasn't around to help you with the limit breaks. It looks like I did some wrong assumptions when I coded the support for it in Kimera. Looks like I was fooled by some garbage files I created accidentally. I'll fix that issue ASAP.

By the way, I had a look at your google doc for this project. I'm suprised by al the ainmations noted as crashing Kimera. It tried some of them and they seem to work perfectly on my end.

The crashes only occur when you're actually viewing the root rotation (or maybe translation) numbers on the side of the screen. I think all that's happening is that the actual numbers (around 1000 I think) are higher than kimera can display. If it was set to 9999 I think it wouldn't crash anymore.

From there all we have to worry about is the quadrupling the damn texture files!

That actually has to be done per animation as an exe edit. That'll take a while. :(In the meantime, I found where the "advance 2D effect" and "advance 3D effect" handlers are being called from in the battle frame advance loop. Now I just need to call them every fourth frame and it should all sync up. That's slightly akin to DLPB's battle frame-rate fix by essentially cycling the pause variable every four frames as the effects would still be 15fps while allowing the 60fps animations.

As far as a video, I'll see what I can do. I've never done any capturing before, and while my computer is decent, I don't know if it can handle 1080p at 60fps. But let's just wait a bit and see if NFITC1 has cracked the texture problem.

As far as a video, I'll see what I can do. I've never done any capturing before, and while my computer is decent, I don't know if it can handle 1080p at 60fps. But let's just wait a bit and see if NFITC1 has cracked the texture problem.

First attempt is a sort of failure. Instead of changing the animation every fourth frame it only displayed the animation every fourth frame. :( Still, that's a bit closer.

UPDATE:Thanks to DLPB's fix for his 60fps battle mod I managed to find where the textures are being cleared after frame advances! Now I can call THAT every fourth frame and the 2D effects are working exactly as desired!

3D effects still acting a little weird though. It's like they are still being animated every frame, but every fourth frame they go back to the frame from two frames ago and start over. Like 1,2,3,2,3,4,3,4,5,4,5,6,5,6,7,6,7,8, etcNevermind. My jumps were stupid. 3D effects are perfect too. :D 8-)

Also pausing the battle makes all effects disappear, but I think I know how to solve that too.

I can tell you what's visually going on, but it seems there's more to it. If I summon anything, the summon handler tries to take control of the camera. Something like the 2D effect clearer is preventing that control from holding. It keeps jumping between where the camera starts in the various phases and the last place the character that summoned it left it. It's hard to explain and I can't capture video right now (my laptop's motherboard is giving out and I can't afford a replacement right now).I need to send you the dif file I've created and have you apply it and see for yourself if it works with the other 60 fps improvements we've made. Summons will probably still look weird, but I can't guarantee any of the 2D effects will look great.

EDIT:obesebear and I are discussing this right now, but the alternative to what I've just done is to alter a whooping 1,918 individual functions MANUALLY. I made a list (dynamically, of course) and thought I'd better save it for posterity. If anyone (or a group of anyones) is diehard enough to tackle this, here are the 3D handlers that I've identified:

425D29425FC442782A439C6B439EE043AF1B43CC4D43CD0C43CDE043D17E43D4DF43D65443D73E43D89243D98443DB3143DC8D43DEB043E02843E2B543E50C43E85E43E96243EA5943F2AE43F4A643F59C43F65E43F74D43FB7543FE0744009F4401BD4402D54403CB4404FE44065144084A440A6C440C22440CF5440DEC440ECD440FFE44116644137544166B44184D4419A7441D6344209C442179442B6744357D44366844375644385E443A2F443D2944409344425644453144469C44487B4448D64453DC44593F445BA0445DAF4461B044656B446926446F2B4474D5447C2A447CB84481524482F14484224488D2448B4B448BA644939C4494FA4497524498F1449CD7449DD3449F9844A15944A2F544A7D244B97544BCBD44C0C544D9A344DBC844E3D344E56B44E6E944E80D44EDC044FF634500BD450999450F4245138145162845199B451CA44522AD453450453FBF45500C4550D045521945542E45556B455BC0455E16455F8B4571484572F64575CF4577144578F0457C60458C9B458D864593A24594464595C745994C459A3F459B12459C95459DFD459F2345A09145A18F45A3B345A5EB45A6A645A99845ABAA45AF3945B0CF45B48745BA2C45BC8545BD4245BE5845C26345FF5C460303460A1D4615A14617A7461DCF46245F462B074632AE46338E463F4246406E464960464A6A464BAD464F0D4656554657AA46596D465A29465CB3465E514660634664A946652D466604466807466A7A466CD24672564673AA46758D467987467BA8467C8B467ED44680154682164688A24698EF469A7C469BE5469F3A469FB346A0A146A15646A7BF46A89046A98946AB0046B17546B40D46B57146B5F346BA0B46C9F246CB5D46CCC846CE3646D17746D32C46D45D46D64746D7BE46D8F446D9C846DDFA46DF6546E0BA46E2EA46E46146E57A46F22D4700314700F747025A4704384707CC470B8E470EEF4710234711A147148B471722471922471B90471C61471D994720CF4722FD47256C4726C547288A472B3D472C4B472D7A47301347310F4731AD4738DE473CC2474C71474D1C47518A47568747577747588D475989475BB7475CB1475E9C47605F4761864763C5476513476672478031478DB6478EDF479AB2479EAA47A15A47A52D47B00A47BC2C47BECB47C17747C3BF47C51647CAAC47CF8447D37B47D49D47D72647E72547E7F347E91947EE9E47F31047F50F47F7C747FA51480946480B3A480D91480DF94813BF4813FB4814374815BD4817C6481867481B5A481BE8481E7C4821E04822454822854823E44825E04834B4483866484A164854F44855A54858AA4859AA485E6A485F5B48615F4862B64864EB48667048685C48697C486A35486BDF486E18486FA0487277487842487A2C487BD2487C73489CF0489F4548A07448A95248AA6148AC5E48AD3C48AF4048B2C048B7C048BBFC48C75D48D7BC48DA7A48E2CD48E6BD49023449036D49067949075549081F490ABC490DE5490F2A4915E94917384918F1491B0E491E244923AB49258F4926E549281649299C492C4C492F2749313349346B49377549389F493A11493C9D493F49494091494773494D62494F264951A04952A84953D949551049680C4969FA496AC1496CC54970864971EF49731049741749757A4976D0497A37498A964990FE499227499388499540499823499A1A499C33499E6D499FEF49A0B949A1E949A32349A55B49A7AB49AC0A49ADEC49B12C49B16D49B20649C37C49C6E449E35649E55849E6F349E93A49EB0649ED0A49EEE749F10E49FB8749FBF749FF2E4A0F524A1F8A4A27CC4A2BE54A2D0E4A30C64A33624A36894A3A2E4A3E2B4A401B4A41714A425F4A43F54A46E74A499F4A4BE64A4D7C4A4EEA4A4F7B4A584D4A5D3C4A6CB84A792C4A7A034A7AC84A84314A89BB4A8B864A911A4A942F4A953F4A96274A99084A9C324AAAAF4AAC514AACE84AB1104ABA854ABCB04ABDF14ABF6A4AC1E74AC3544AC4F14AC8E14ACAEA4ACC4F4ACF674AD4B64AD5CD4AD6F94AD79A4ADA7C4ADD054ADEB34AE03C4AE3D24AE76E4AE9894AEA8C4AEC564AF0C84AF4244AF6F44AF8E84AF9C74AFC2F4B00504B060B4B06DC4B07EC4B092D4B0AE64B0D934B16A84B19854B1F124B24F74B25F24B275D4B29144B2B754B2D5C4B2E2D4B31304B34104B35524B377D4B39F24B3E724B3EF34B40454B41914B439D4B44704B45844B47B74B4CA14B53D94B56DA4B5BE34B5EE04B615A4B63A44B65A84B76144B79694B79E14B7A974B7BA74B809D4B81A24B89504B8A954B8F894B997F4B9B4F4BA03F4BA8C14BA9EA4BAE744BB0DF4BB3354BBA5C4BBB244BC2BD4BC3834BC3F64BC9AD4BCA544BCC254BCCC74BD41F4BD4C14BDE584BDF674BE08C4BE80C4BE9D54C0D634C11854C12DC4C14AB4C16AD4C1BA24C218F4C22F54C2D5F4C2E4B4C31984C362B4C37574C3A074C3BEF4C3DD74C406D4C40E54C43724C44C24C4A6B4C4E1D4C51E14C52904C53D64C55074C56FF4C5B5B4C5CDE4C60364C62DC4C650A4C694D4C69A84C6F424C740B4C79A74C7BA84C7D7A4C833D4C854A4C86CF4C8B104C8CC84C8F744C8FB54C91044C95354C965F4C972E4C98E74C9C024C9DA24CA64A4CAC854CB2264CB30D4CB71D4CB8974CBF804CC18A4CC3FC4CC5B04CC68F4CC7E84CC9D04CCB854CCC744CCDCD4CD2754CD3744CD54A4CDB554CDC544CDE294CE4874CE5F84CE7804CE9EA4CEB734CEE2A4CF15B4CF3C54CF6D24CFBE54D021E4D03EC4D05B64D08E64D0A5A4D0CB54D107B4D19104D1F074D202A4D219B4D23F64D25844D2BC74D2CEA4D2EB44D31FC4D33D14D3A374D3B364D3CA84D3FDD4D42914D48C64D49C24D4B5D4D4BEE4D4D644D50704D54B24D594C4D68FB4D69A64D70444D71744D72D04D75494D78B94D7AD04D7DAA4D7FDF4D81774D83764D93144D95024DA0864DA1824DA5164DA6DF4DAD5C4DB00F4DB15F4DB26E4DB4D24DB9D64DBA784DBBF24DBE484DC10C4DC2BF4DC7D74DCA514DCBC44DCD244DD0BD4DD4A64DD5484DD79E4DD8914DDA444DDE9F4DE1194DE2734DE51E4DE9BC4DEA5E4DECB44DEDAA4DEF5D4DF3B84DF6324DF78C4DFAFD4DFEE64DFF8B4E01E14E02E54E04984E08F34E0B6D4E0CE04E0FA74E12004E12C34E13D94E1E984E24B74E259A4E2DF34E33384E34364E3A444E3D514E401E4E44C64E45A94E48D44E4B3B4E4F064E50CA4E59624E61284E62A54E647D4E666E4E6AB74E6FEC4E71D24E73AF4E75DC4E78754E81F04E92924E93904E95AC4E9D1D4EA0F24EA2F44EA4D54EA6A04EAAF14EAC644EAEFF4EB7AE4EBA534EBC954EBD864EC0B24EC7FC4ECC664ECFAB4ED04F4ED3204ED5754ED7B04EDAA94EDFFE4EE2364EE4934EE9AD4EEA514EED224EEF774EF1B24EF4C14EF5374EF5B84EF7DB4EF87F4EFB504EFDA54EFFE04F02D94F04604F082B4F08CF4F0BA04F0DF54F10304F133F4F14794F19064F1A204F1B3A4F1F5B4F1FFF4F22D04F25254F27604F2A594F2C354F32FD4F36084F37DD4F3A6E4F3CFF4F3DD04F3FB04F419F4F44AB4F454F4F48204F4A754F4CB04F4FBF4F51044F540B4F54AF4F57804F59D54F5C104F5F094F61174F64504F66494F67CE4F697D4F6C2B4F6CCF4F6FA04F71F54F74304F773F4F78244F79BF4F7C2B4F7CCF4F7FA04F81F54F84304F87294F880E4F89A94F8C154F8CB94F8F8A4F91DF4F941A4F97134F9A4D4FAAAC4FB1D94FB2934FB3FC4FB9634FC52C4FCC1C4FCD1D4FCE714FD1284FE6CC4FE7C54FE9B04FEACE4FEF5A4FF1E24FF3114FF5F24FF82E4FF9124FFC9A50001F50011050031350046C50057F*500C458B500FCC50124E5013775016375025B350265E5033F55039E55047CA504D72504F7D505BC3505D5F505E2E505F0E5063505066C75069BA506D87506E9D50701D5071F75073C350749F5077925078D8507CA4508BED508EB450907E50921E5093BE5095F55096925096F3509B1050A9E050ACDA50AE6050B07D50B1A350B2F750B48350B5F050B6D650BA3650BE4850C0F050C22150C6EE50C7BF50C8ED50CAAB50CF6050D37250D5F550D72650DBFF50DCD050DDFE50DFC550E49350E8CF50E9A050EB7650EDAE50EFAB50F25D50F3BB50F46150FA5B50FEE250FFB351012A51040D51080D5108DE510A0B510C49510E085110E051137C5115AA511634511942511E2A51229751235E5124D55127B4512A9F512BB45137E9513BAD513CC7513D9A5141315142435143AE514506514B07515238516297516ACF516D3F516E135170BE5171E351731A5174DD5177D55178F9517C7A517DBB5180065181475188F3518AFF518C07518E2D51922451933651962A519754519A1B519E16519EE951A06351A3EA51A62151ABC851AD1751AE9151AFF751B3AA51B67D51B8F751BA1A51BED951C6E551CBD351CCFC51CE7651CF8951D0DE51DACA51DCE151E06851E3B351E83D51E98051EA7351ED9751F01151F14251F6EE51F81151F9C651FC3151FD5651FF77520406520746520BE3520D7C5210275213D1521967521AD2521C4C521DB252216B5225E752272152289B522C58522F575230EE52336D5234E15239A8523D85523F1C52419B52431D5247F0524C23524EB75252E25256355257565259CD525B1F525CCE525FFA5265645266C3526957526B4D526C20526EB8526FD05274E2527776527932527D945280B25282CE52840C52876E52882E5288FB528A27528C64528E2A5292E75295A252971552A00152A0E652A1B952A44052A77352ABE952AD2D52AE5052B09D52B33752B46852BA7052C02052C16B52C2A552C9BC52CC9052CF1552D01052D72752DC0C52E02652E16052E23152EBE852EEC252F01752F2C052F65C52F72552F83752FEFC5300D15303A75306DC53079A530AFC530C16530E1D530F035311EB53152653177B531C10531DD55320CA53218853237D5325A753268D532963532C56533005533199533370533A52533B9E53411D5344DE53456653463953484D534C3A534CCE534DA1534FB55351325351D45354635358E05359B1535B28535D775363015365955369A0536DD4537068537427537507537BC3537D6353831553858E538650538C6F538D77538F0E539174539590539883539A19539C6853A41853A69C53A76D53A83E53A98153AACD53AC2853B14D53B40753B8BA53BB4E53BD4453BE1753C0C153C20E53C2B053C53F53C9A553CA7653CBCF53CE5353CF6953D55353D64653DBB353DC6153E28253E5A153E6FC53E8B153EB4453F05E53F3B853F48953F84053FCE65400155400A854064E540863540C605411B35412CC5416D95419AF541C9A541DB954286E542BAE542C7F542E4A5432EE54362F543908543A2B543BBE543EC75440D95444735446DD544D43544F0354513F54542D545A90545C50545E8C54616354629854660E546846546E86546FD05472045473585476B0547B94547D56547F3C54809A5483E65486E2548829548980548C5E548F5A5490D1549228549542549A43549BD0549F2154A41654A54D54A84654B28B54B9E354BB0254BC4F54BE0554BF0954C19F54C28A54C3F054C73554CA8854CE7B54CF4C54D3BC54D53154D84054DA2354DAF654DE0A54E06554E2FE54E63754E88754EE3A54EF7D54F0F654F40954F76C54F8B554FBA054FFC955011D55029755073B55097F550DE355126155140F5515BF551A1C551CCC551F0C551FDD5523495524CE55280F552911552B04552C14552E2B5531D75532E05533BA5537DF553B88553DC1553EB655415C55439C55446D5547D955495E554C9F554DA1554FD055533F55544855552B5558BA555B0F555BE05562CC5568955569E3556B1B556E35556F4A5571C55574FE55765E55788B557AE8557BAA557E58557FC555848F5585BD558882558C0455903355918855925955958655991A5599ED559C82559EA255A2F855A3C655A4D455A88355AC1555ACFF55B1A355B47755B6C755BBBE55BEE155C06D55C17D55C53B55C77755C84155CAF755CE9E55CFFC55D0DD55D37855D6E055D7B755DB9855DF5F55E03755E49355E67155EA0A55ECA055F28455F42E55F64155F93255FB3C55FC3755FEF25600BE56020D5602FC5604E55607415609DB560C3256149A56163E561737561908561C87561FAF5624A5562C60563DC5563FBD56419156451556470F564844564A3B564B8F564CF6564E375650B35654845657895658825659BD565B9F5660075661A0566287566871566E615675385676E35678A5567E4456837156850F568ECD5691FE5693E35695CC569CAB569FDA56A9FA56AA3B56AB9856B17C56BA6256C30756C40E56C82856D25256D81756D97E56DB5256DD3256E65A56E81E56EA1D56EBC756EE4256EFFE56F14356F3F656F49656F6F056F9FD570120570244570417570531570688570996570AD6570C89570E24570FFD5714685716B257185C571A48571B06571CFB571F6657202A572912572A9F572CE0572DE75732915733A457364257380A5738C8573B8B573E87573F6D57421B5744BE57461C574901574CC7574E71575168575341575BEB57687A576A84576BD657708E5775FF57771457784F5779BD577C0E5782AF578378578B175794CD5797B15797EF579A97579BF3579D4B57A08257A7DE57AA5557ACAF57AE6E57B02D57B71257BECD57C1DD57CCE357D4CA57D69657D89B57DA9357E35E57E52B57E7D657E9D457EBD257EDD057EFA757F13B57F35657F44C57F77557F94257FB0557FCC857FE3657FFDF5804D458059D580D0C580F3E58119558173E581B7C581E5D582657582924582B4158474458488B584A5E584C4F584E14585412585B7358608A58729B5873FA5875FD58782F587A50587E7E588205588A5458900558932B589461589D38589FAE58A62958A9C258AC5958AF5D58B28558B5E958BABA58C02E58C10C58C7BC58CB0858CF8958D21058D3E158D60558D7AF58D95258D9F658DB7458DD8B58DE8258DFFA58E24F58E60D58F6E358F78E58FC1B590811590931590A54590B8E590D8A590FC459134F5917D55920635922715923F4592538592A36593A955940B2594C07594D825950925953FD59560159579159588C595A055967025968E3596B7E596DA55972065981015988465988DC598997598E29599004599C3D599EA359A07B59A49859A6F259A7D059AB5459AC9D59AD7F59AFBC59B4B059C50F59CAC159CF9F59E2CF59E3A359F2E859F55559F70759FBA05A033B5A05CE5A08395A0F695A10ED5A14B55A160A5A19FA5A1B555A1E935A20105A22005A23EE5A26D35A29235A2B085A2C455A2D8E5A303F5A322C5A3D8A5A3F8C5A40DD5A43595A45045A48F65A4D2F5A4E6D5A506E5A53F75A54C85A56515A58A35A638E5A64515A655A5A67C75A69E15A6B1E5A6D375A71B05A75E95A77275A79285A7CB15A7D825A7EEE5A80635A83015A855B5A86B85A89D65A8AC35A93A95A94775A95F55A97745A9B985A9C585A9D255A9EA55AA1365AA3415AA9FA5AAD5C5AAE1C5AAEE95AB0185AB2555AB5CD5AB8F55ABC715AC1425AC5475AC85E5ACA505ACBD05ACD775ACFDA5AD15A5AD4285AD4F35AD6C15ADC6E5ADE785AE0145AE30B5AE5DE5AE8C55AEAD65AED555AEEF55AF02D5AF26C5AF48E5AF6C55AF8AA5AFA7F5AFB3D5B01125B01FD5B07165B17755B1E955B26365B29AD5B2BA65B2D0A5B2F185B310F5B33545B35495B37095B38375B3B2F5B3CAA5B40175B415C5B44C85B483A5B4A765B50D25B58C95B5B1E5B5BEC5B5CE15B5F305B619E5B635B5B66335B671D5B69AF5B6DA35B6FAD5B73235B74FA5B75D25B786B5B7C6A5B7E005B81755B824D5B840B5B86BA5B891C5B8ABD5B8BC25B8C8A5B8F7D5B91415B92955B935D5B95F95B992E5B9A265BBA825BBD245BC21F5BC48C5BC8125BCAAA5BDA0F5BEA3C5BEB685BFB915BFCCC5BFD935C0BA55C0E4B5C1B815D36015D43315D442F5D45CA5D48175D4A585D50725D552D5D602A5D699C5D6B5B5D6CB65D6F0E5D705F5D72265D73D85D75425D75E65D77785D792E5D7B24As far as I can tell that's inclusive. Ignore then 8-digit one. I don't know what that is or where it came from. Not only this, but there are likely multiple edits per method. On the flip side there are probably some that don't need any modification at all. That likely comprises less than 5% of them.There are also 2D effect handlers, but not near as many. Less than 125.

If you don't know what this means then don't worry about it. Just accept the fact that interpolation of 2D/3D effects is FAR AND BEYOND anyone's dedication to this game. Feel free to prove me wrong though. ;)If you're curious about how to alter these PM me and I might try to explain. Be warned it's extremely technical and requires knowledge of x86 assembler and how the battle render engine works.

Those are sad news NFITC1. This reminds me a lot to what happened over a year ago. Thanks a lot for your hard work guys. It's obvious a lot of effort has gone into this project. Unfortuantely, I don't think it can be completed either. There is a lot of people who can handle small assembler hacks. But the knowledge about the engine needed to actually understand the way the timming is handled...

NFITC did you ever come up with the animation fix for things like the characters leaving the limit break area too quickly? Another good one is the guardian attack animation when they shoot their fists.

And what about Cloud's limit break battle text.

With a fix to those, I was hoping to put out a video and see if we can attract any people to the project to fix up those summons.

The problem is that the game was never meant to be 60fps for all things in battle... Changing one part wrecks another. From what I have seen, and what NFITC1 has told me, fixing the battle to use 60fps for PC may mean manually editing all of those functions manually, and if so, th eproject is pretty much dead.

NFITC did you ever come up with the animation fix for things like the characters leaving the limit break area too quickly? Another good one is the guardian attack animation when they shoot their fists.

And what about Cloud's limit break battle text.

That's the animation script fixes. I haven't started making those yet because I haven't completely identified all of them.

my "dead" means the project won't be done, not that it's impossible. I mean the project is dead in the water in terms of ever being completed. :) I can't see anyone undertaking that task... I always feared it would come to that when I saw how every magic seemed to have its own handle. I was hoping you'd be able to find some sort of workaround.

My thoughts exactly. Now all we need is a team of x86 asm experts that understand how everything works and with enough passion for FF7! :-PSeriously, I'd love to get a team together to do this, but I don't know anyone who knows how this works apart from myself and DLPB here.

Eh? But I thought I was just reading this project was dead? Or else just some very confusing posts.

Of course I'll wait, I'm not planning to play VII For a few weeks at least, I just wanted to have a nice version setup.

And I am shocked by how bad the Frame-rate is, I don't remember it bothering me before, I wonder if it's because of my 120HZ screen? Two years using that and 60FPS doesnt' seem as smooth as it used to, so I imagine that is my troubles with 15FPS.

If you guys actually manage this 100%, I would not be surprise if SE contacted you to get this put Officially in the 2012 version. No work on their end, but an amazing visual increase in the game.

I just meant I didn't think Viruses made it through torrents is all. No torrent I've ever downloaded over the years has had a virus is what I meant, I thought because of hash-checks, comments, ectera, it was near impossible.

The only way to identify a virus for certain is to be infected by it. Virus checkers aren't always right. They'll catch about 99.5% of viruses and call more progs out as viruses. There's nothing special about torrents that could make them virus free if they were designed to be that in the first place.

I just meant I didn't think Viruses made it through torrents is all. No torrent I've ever downloaded over the years has had a virus is what I meant, I thought because of hash-checks, comments, ectera, it was near impossible.

Well, you're right. With comments and number of seeders, you usually get a very good indication.

I folllowed the guide up on the current version to see if I liked it, however when starting I get an error about no battleswirl_framerate = 60 cmd.

I booted the game up anyway, but some interesting things happened:

The camera is so god damned smooth...thank you, seriously. Wow. That looks better. Animations literally seem to just be twice as fast...which makes some stuff kinda awkward. Enemies are also facing backwards. My Limit Break bar filled up pretty instantly. Also, the bottom chunk of the screen was eliminated almost entirely.

Ah, a shame if it's not compatible with mods out there, I have to choose smooth gameplay or lego block characters. Tough choices. I did save a copy of my config and am trying to make it as close as possible. Am having issues with the new config though, most options are removed, or changed...hm.

I got it to work with the new version. I copied what ettings I could / used the bootleg in the main folder thing to set some settings, but stuff like internal resolution are gone, vbo, other things, hmm...so I got the Battlswirl 60 command to run

But is this honestly what it's supposed to be like? Just 4x speed? Because I used a Limit Break and well...it was over in the span of a single blink. The smooth camera and everything is appealing, but that...also with the Hexteditor, I realized music never plays, it must be related to bootleg and the like. So it seems both 60FPS plugins aren't usable with bootleg / mods, and this one just seems awkward. Kinda like when you speed up a video 2x speed, that's how it feels, not to natural.

Damn, I restored everything back to the way it was, my .lgp's, my .exe, but for some reason the black box is still there, eliminating the UI. No idea, nothing else besides your 60FPS mod was installed and I reverted all the files, yet the big black box remains, basically the UI is just gone.

(http://oi59.tinypic.com/t71pv4.jpg)

It worked fine before this mod, but I have restored every file, so it's odd it persists.

If you're going to use this mod, it should be installed last. On mine, NFITC, and DLPB's computers this has worked fine, so I don't know where the problem is.

The files in BATTLEFILES and MAGICFILES only alter model animations and won't conflict with 99% of the other mods out there (the exception being files that alter animations will be reverted back to their originals). The .dif files, though they edit the exe, only change certain values. Values that aren't changed by any other mods AFAIK. The HextLaunch files can easily be disabled by removing the portion of the txt file you think causes the problem.

So really, I don't know how this would mess up anyone's game. Was everything working right when you only had bootleg installed?

If you're going to use this mod, it should be installed last. On mine, NFITC, and DLPB's computers this has worked fine, so I don't know where the problem is.

The files in BATTLEFILES and MAGICFILES only alter model animations and won't conflict with 99% of the other mods out there (the exception being files that alter animations will be reverted back to their originals). The .dif files, though they edit the exe, only change certain values. Values that aren't changed by any other mods AFAIK. The HextLaunch files can easily be disabled by removing the portion of the txt file you think causes the problem.

So really, I don't know how this would mess up anyone's game. Was everything working right when you only had bootleg installed?

Yeap, everything worked fine with onyl bootleg, I've updated the above post with a screenshot showing what the mod caused. Also trying to copy over old options from 0.7 just causes the config to reset to defaults...

0.8 Config

Quote

# ff7_opengl-0.8b config file

## USER OPTIONS #### If you just want to play the game, these are the only options you'll want to change.

# check your Nvidia/ATI/Intel control panel settings if this option doesn't seem to workenable_vsync = no

# allow FF7 to use linear filtering for its textures# some things look slightly better with this option on, but alot of textures just lose their detail# only affects low-res textures, high-res replacements will still be filtered where appropriatelinear_filter = off

# plugin used to play music, VGMstream requires a set of looping .ogg files in the music/vgmstream folder.# If no music plugin is loaded the game will play MIDI as usual but FF7Music will NOT work.music_plugin = plugins/ff7music.fgp

## ENHANCEMENTS #### All the little extras that weren't part of the original game, default options include only trivial bug fixes.

# make all dialog boxes transparent, same effect as the transparent dialog boxes YAMP patchtransparent_dialogs = off

# enable alpha blending for textures without an existing blending effectfancy_transparency = on

# display frames per second counter in upper right cornershow_fps = yes

# display some real-time debug informationshow_stats = no

# store external textures in a compressed cache for increased performance# compression is not lossless, some artifacts may appear when this option is in use# texture cache does NOT update automatically if the source image changes, however, deleting anything from the cache# will cause that file to be recreated from the sourcecompress_textures = no

# max size of the texture cache to hold in RAM, in megabytes# don't set it any higher than 1GB unless you want your game to crashtexture_cache_size = 256

# use pixel buffer objects to speed up texture loading# might crash horribly on ATI cards but should work for NVIDIA usersuse_pbo = yes

# plugin used to play movies, FFMpeg is the only choice for nowmovie_plugin = plugins/ffmpeg_movies.fgp

## MODDER OPTIONS #### These options are mostly useful to modders and should not be enabled during normal play.

# read files directly instead of using LGP archives# for example; if FF7 is looking for aaab.rsd in char.lgp, this option will make it open direct/char/aaab.rsd first,# if this file doesn't exist it will look for the original in the LGP archivedirect_mode = off

# show every failed attempt at loading a .png textureshow_missing_textures = no

#change battle Framer-atebattleswirl_framerate = 60

0.7 config

Quote

# ff7_opengl-0.7.11b config file - modified by Bootleg

## USER OPTIONS ##

## If you just want to play the game, these are the only options you'll want to change.

# limit snowboard, coaster and highway minigames to refresh rate / 2, i.e. 30fps for a 60hz display mode# vsync must be enabled and working for this to have any effectminigame_framelimiter = on

# same thing, but for the battle swirlbattleswirl_framelimiter = onbattleswirl_framerate = 60

# allow FF7 to use linear filtering for its textures# some things look slightly better with this option on, but alot of textures just lose their detaillinear_filter = off

# plugin used to play music, the FF7Music plugin MUST be enabled for FF7Music to work.# If no music plugin is loaded the game will play MIDI as usual but FF7Music will NOT work.music_plugin = plugins/ff7music.fgp

## ENHANCEMENTS #### All the little extras that weren't part of the original game, default options include only trivial bug fixes.

# make all dialog boxes transparent, same effect as the transparent dialog boxes YAMP patchtransparent_dialogs = off

# prevent glitches due to rounding errors by rendering in the nearest (larger, if supported)# multiple of the original resolution and up/down-scalingprevent_rounding_errors = yes

# enable alpha blending for textures without an existing blending effectfancy_transparency = on

# display frames per second counter in upper right cornershow_fps = yesskip_frames = no

# display some real-time debug informationshow_stats = no

# store external textures in a compressed cache for increased performance# compression is not lossless, some artifacts may appear when this option is in use# texture cache does NOT update automatically if the source image changes, however, deleting anything from the cache# will cause that file to be recreated from the sourcecompress_textures = no

# use pixel buffer objects to speed up texture loading# will probably crash horribly on ATI cards but should work for NVIDIA usersuse_pbo = yesuse_vbo = yes

# replace FF7's default framelimiter timer sourceuse_new_timer = yes

# use a more stable (but less accurate) timer to control FF7's framelimiter# this option has no effect unless the use_new_timer option is onuse_stable_timer = yes

# plugin used to play movies, FFMpeg is the only choice for nowmovie_plugin = plugins/ffmpeg_movies.fgp

## MODDER OPTIONS #### These options are mostly useful to modders and should not be enabled during normal play.

# read files directly instead of using LGP archives# for example; if FF7 is looking for aaab.rsd in char.lgp, this option will make it open direct/char/aaab.rsd first,# if this file doesn't exist it will look for the original in the LGP archivedirect_mode = off

# show every failed attempt at loading a .png textureshow_missing_textures = no

You can update to the latest driver, but make sure to copy over your settings. I'm not sure what changed, but I assume it'll work fine.

I don't recommend this. 0.8+ music runs with .ogg music files from the vgmstream plugin. FF7Music music and all the Bootleg music mods won't function anymore. It's possible some other errors may happen. Vgr is going to need to test all the Bootleg mods with the latest .8 driver to figure out any other possible errors, but until then, you MUST use 0.7.11b with Bootleg.

-Textures and magics will now display correctly!-Battle victories delayed so they end at the proper time-Battle won't actually begin until the opening camera has finished panning

Known problems-Yellow indicator above player spins too fast-Animations need to delay 2x before executing (only slightly noticeable)-Slots may appear a little strange. After talking with DLPB this seems to have everything to do with the broken game timer, so it's not running at 60fps and is more like 57 or 58 causing them to hiccup-Summons do work, and will cause damage, but watching them may cause epilepsy. Check the first post with the quote from NFITC1 to see why this is and how it can be fixed. It is unlikely we will be fixing this problem, so volunteers are welcome.

-Summons do work, and will cause damage, but watching them may cause epilepsy. Check the first post with the quote from NFITC1 to see why this is and how it can be fixed. It is unlikely we will be fixing this problem, so volunteers are welcome.

Oddly, this is what caused me to discover the cause of and solution to the Vincent Mug Glitch.

ADDENDUM:While I previously thought this problem an "all-or-nothing" fix, there's actually a way around that! It involves some creative re-coding, but each piece can be done one at a time. I mostly say this because summons are in disastrous need of fixing, but the way I initially envisioned it couldn't be fixed without breaking everything else too.

It's a reimagining of the limiter I wrote earlier. What I sent you forceably skipped three frames before actually advancing the effects. However, each animation has a loader function which gets called immediately before queuing the "master thread". All I have to do is change that limiter to accept a variable number of frames to skip (defaulting to 3) and make each of these loader functions set that to 0. That way individual animations can get fixed (like summons, which will still take time) and not break anything else. It's still a big task to fix even one summon, but if I can fix one I can instruct someone on how to fix another and we can ultimately fix all summons without screwing anything else. Also wouldn't hurt to fix a few other things like the magic/summon charging effects either.

Ok tried FRAPS and worked great but I can't have the cool overlay image I'm using with OBS as my channel avatar, without editing the video. And rendering takes so much time! Also forget 720HD, 1080HD with firefox, waterfox etc. atm. Chrome works well!

Ok tried FRAPS and worked great but I can't have the cool overlay image I'm using with OBS as my channel avatar, without editing the video. And rendering takes so much time! Also forget 720HD, 1080HD with firefox, waterfox etc. atm. Chrome works well!

Does Firefox play videos with Flash or HTML5? Flash is not playing 60fps but when I switch to HTML5, it does.

While OBS is good to capture gameplay, if you want precision you'll need to use something else, like Fraps.

Not really. The trick is in your settings; FRAPS defaults to low CPU usage settings where possible, while OBS has slightly nicer defaults at the cost of being slower. If your CPU is too slow, lower compression (or even lossless) can make a big difference. Experiment with different codecs and see what works for you. If rendering is an issue, maybe avoid lossless because that'll need re-rendered anyway before uploading to YouTube unless you want to deal with insane filesizes that take forever to upload and burn through your bandwidth.

Personally I use Dxtory for capture, and

edit: and don't finish my posts? Huh.

Personally I use Dxtory for capture, and it works great—best performance I've gotten out of all that I tried—but I'm not sure it's got an overlay feature like you're looking for. One thing you can try is using other capture software in conjunction with OBS. Any capture software that can output to a DirectShow stream (Dxtory for sure, maybe FRAPS?) can then be picked up by OBS, which can then add the overlay and do the encoding and writing and all that jazz. If the issue was in the capture itself, this should fix it.

Just so's ya know, YouTube enabled 60fps support earlier today for videos at 720p or higher. So if you want to put future videos there instead of MediaFire, it's a viable option now.

Awesome, I was wondering when it was finally going to be implemented. Unfortunately, I don't know strawberries about encoding, so if someone else wants to upload these (or make better ones [please!]) it's fine with me. The ones on mediafire are lossless.

Awesome, I was wondering when it was finally going to be implemented. Unfortunately, I don't know strawberries about encoding, so if someone else wants to upload these (or make better ones [please!]) it's fine with me. The ones on mediafire are lossless.

Yeah, there are still some camera movements operating at 30 instead of 60. No idea why.2 and 3 are the same thing. NFITC1 referred to them as animation fixes. Basically the models are supposed to delay a certain amount of time before and after certain actions. This also affects things like "confusion" where the character spins in place. These animation calls need to be doubled in time taken before the next action

Thanks for the video LetCreativityPlay. I'll put it up on the first post and check out what you're talking about with Catastrophe.

For everyone else. Do not use the lgp.exe ulgp.exe I included in the download. It will work, but has some errors. Instead, use Luksy's lgp inserter/extractor https://dl.dropboxusercontent.com/u/3227870/ulgp_v1.2.1.7z

For things like barret's attack, the game wouldn't display his shell casings, and some textures like muzzle flashes weren't working. Luksy's changes fixed that problem. All new uploads will include his program with his permission.

I've fixed the camera for the summons....and discovered a new problem. For some reason, while effects only have to be drawn once a frame, summons need to be drawn every frame. I'm still hunting down the cause.

I've fixed the camera for the summons....and discovered a new problem. For some reason, while effects only have to be drawn once a frame, summons need to be drawn every frame. I'm still hunting down the cause.

DLPB ran into the same problem on his PSX-style battle mod. He solved it by abusing the game's pause function, but that broke actual pausing, and I don't think it'll work when other stuff is rendering at native 60.

If you find a solution to this, I'd be curious to know how you did it.

I used a sloppy work around. Hopefully you can go a step further and see about doing it a different way. Basically, any function address in the queue that caused flashing (i.e. was disappearing 3 of 4 frames) was forced to be drawn (if that's what the main function call is doing) all 4 frames. You can't simply tell everything to draw all 4 frames (at least I couldn't find a way) or it causes even more issues. Only a few things in the game have a bug with the pause variable. It exists in the original game... that when the game is paused, certain models disappear (Rufus on the helicopter and the Summons are two so far).

So, my workaround goes through a list of function addresses and compares them to the one in the queue. If match, then draw. If not, then skip. It's rather hard to explain, and my 60fps uses the pause var of course. Here are the changes:

obesebear, will 60 fps work when the game is rendered at 2560 x 1440, or only 1080p?

It will work at all possible resolutions. The only hiccups you may see are from the game's limiter not working correctly. So instead of exactly 60fps you may only get 57 or 58fps. The game has ALWAYS had this problem, but there's nothing we can do about it at this point.

Just read that summons are broken. How broken are they? Are they worse than default?

The summons still work and will cause damage to the enemies like always. However, I would suggest closing your eyes during the summon, because the screen is going to flash from the battle ground to the summon animation VERY rapidly back and forth.

While I'm here, NFITC1 or DLPB, any idea why sometimes in battle certain textures won't load? The main one I've tested is against the Custom Sweeper. Sometimes when it or Barrett attacks the muzzle flash and spent shells don't appear, but I can reload the save and play the exact same fight again and they'll work. If it works, it works the rest of the battle, if they fail to load, they won't work the rest of that battle. Seems to almost be a 50/50 chance.

Haha. Bummer that summons are completely broke. What is the technical limitation? I'm not too smart with programming but I can help you test some new fixes if you have them or anything else you want to experiment on in regards to 60 fps. Let me know how I can help.

While I'm here, NFITC1 or DLPB, any idea why sometimes in battle certain textures won't load? The main one I've tested is against the Custom Sweeper. Sometimes when it or Barrett attacks the muzzle flash and spent shells don't appear, but I can reload the save and play the exact same fight again and they'll work. If it works, it works the rest of the battle, if they fail to load, they won't work the rest of that battle. Seems to almost be a 50/50 chance.

That's an animation script thing, remember? I can sort of fix that, but I don't know why it only sometimes works.

Has anyone tried seeing what summons look like at 30 fps? i believe the ps1 battles scenes were 30 fps. what about getting the game to 30 fps instead of 60 fps as a compromise? At least this way everything will be working the same as the console. 30 fps looks way better than 15 fps in battle. i understand that the ultimate goal is 60 fps but now I'm curious.

No. The ps1 battle (animations, 2d/3d effects etc) was 15 unique frames a second, duplicated 3 times to be 60 frames. The only thing in PSX that is true 60fps is the battle menu. The camera is 30 unique frames in PSX.

That's an animation script thing, remember? I can sort of fix that, but I don't know why it only sometimes works.

Ha, nope I don't remember discussing it. You'll have to bear with me if every month or so I pop back in and ask the same questions over an over. I've been brute forcing a lot of school information in, and as a result I think some other things have gotten shoved out.

Has anyone tried seeing what summons look like at 30 fps? i believe the ps1 battles scenes were 30 fps. what about getting the game to 30 fps instead of 60 fps as a compromise? At least this way everything will be working the same as the console. 30 fps looks way better than 15 fps in battle. i understand that the ultimate goal is 60 fps but now I'm curious.

As for 30fps, there's no need. The difficulty in making 30fps work is basically the same as 60. But if you're looking for how the game originally ran on PSX without the smoother battle animations, you should check DLPB's thread. Its title is pretty similar to this one.

Haha. I tried it with other mods and my game is running in slow motion. :)

Anyways, for what it's worth, installation instructions are way too confusing for the average gamer person and the amount of work required to patch the game will be daunting for most. I can't wait to see everything streamlined.

When I launched HextLaunch.exe, an error appeared: "You have an error in your config file, some options may have been parsed. (no such option 'battleswirl_framerate')

Haha. I tried it with other mods and my game is running in slow motion. :)

Anyways, for what it's worth, installation instructions are way too confusing for the average gamer person and the amount of work required to patch the game will be daunting for most. I can't wait to see everything streamlined.

When I launched HextLaunch.exe, an error appeared: "You have an error in your config file, some options may have been parsed. (no such option 'battleswirl_framerate')

I can't simplify the installation instructions any more than they already are, unfortunately. As for your hextlaunch error, you'll need to double check step 1 of the instructions, this only works on v .8 and higher.

Ha, nope I don't remember discussing it. You'll have to bear with me if every month or so I pop back in and ask the same questions over an over. I've been brute forcing a lot of school information in, and as a result I think some other things have gotten shoved out.As for 30fps, there's no need. The difficulty in making 30fps work is basically the same as 60. But if you're looking for how the game originally ran on PSX without the smoother battle animations, you should check DLPB's thread. Its title is pretty similar to this one.

Would there be an option to choose your FPS option? Say for those who prefer 30 vs 60 for in-game battles. Although 60 does look super smooth from the vids, I think I would prefer something a little over the normal 15 fps, but not quite to the extent of 60, i.e., a 30 fps option would be definitely nice if you could choose.

Would there be an option to choose your FPS option? Say for those who prefer 30 vs 60 for in-game battles. Although 60 does look super smooth from the vids, I think I would prefer something a little over the normal 15 fps, but not quite to the extent of 60, i.e., a 30 fps option would be definitely nice if you could choose.

I don't think I'll ever understand the people who want fewer fps, but yes it would be possible. All the code that's been modified would need to be halved. Someone would then need to interpolate the original model animations only one time and then fix the hundreds of errors it produces (or go through and delete every other frame of each animation of the ones I did). Then you could have 30fps

I don't think I'll ever understand the people who want fewer fps, but yes it would be possible. All the code that's been modified would need to be halved. Someone would then need to interpolate the original model animations only one time and then fix the hundreds of errors it produces (or go through and delete every other frame of each animation of the ones I did). Then you could have 30fps

Having 30fps for battle is as broken as 15. Because the menu has to be 60 for the slots to work correctly. I'm not talking about graphically either, I mean also programmatically. If you have 8 frames between slots, you have 8 frames in which to press a button and get the correct item. At 30fps, you are now at a 100% disadvantage. Choosing slots is now 2x harder than it was on PSX, and was designed to be. 30fps battles defeats the whole purpose.

As for 30fps, there's no need. The difficulty in making 30fps work is basically the same as 60. But if you're looking for how the game originally ran on PSX without the smoother battle animations, you should check DLPB's thread. Its title is pretty similar to this one.

Alright. I'll check it out.

It's this thread if anyone else wants to give it a shot: http://forums.qhimm.com/index.php?topic=15403.0

NFITC1.... I am not sure what your summons looked like (I always assumed they just flickered like mine used to). Do you have a video?

No. I'm not sure it would make sense to anyone because I don't actually have my battles running at 60fps although it would make sense for them too. I'm trying to keep as few modifications from the original as possible to make sure I've got 'clean' changes.

EDIT:OK, I've made a video of what it's doing now.https://www.youtube.com/watch?v=gIRTsfV5Wds

If you watch to the end you'll notice that when paused, the frame does draw and stay valid. Something that happens while running that invalidates all the 3D actors each frame. I've just got to prevent that from happening on actor 3 and the problem might go away.

No. I'm not sure it would make sense to anyone because I don't actually have my battles running at 60fps although it would make sense for them too. I'm trying to keep as few modifications from the original as possible to make sure I've got 'clean' changes.

EDIT:OK, I've made a video of what it's doing now.https://www.youtube.com/watch?v=gIRTsfV5Wds

If you watch to the end you'll notice that when paused, the frame does draw and stay valid. Something that happens while running that invalidates all the 3D actors each frame. I've just got to prevent that from happening on actor 3 and the problem might go away.

Then use the 2 pause addresses to zero in on it. Nop the jumps.

00DC0E70: Not this one. This one shouldn't be affecting any of that. Pause = 1

00DC0E6C: This one is used by magics A LOT, and narrowing it down may be a hassle. Pause = 1

009AD1AC : I'd start nopping jumps after this one and see what happens. Pause = 0

If pausing means it stays drawn and unpausing means it doesn't then you should be able to nop the jumps and find out which is affecting the situartion?

It's quite possible that even in the original PC game, the slot icons are mixed up... but regardless, at 60fps they are completely broken. It's hard to explain what I mean by broken, just try using her slots without the fix.

It's quite possible that even in the original PC game, the slot icons are mixed up... but regardless, at 60fps they are completely broken. It's hard to explain what I mean by broken, just try using her slots without the fix.

You and I had a long discussion about this months ago and it was working fine... what changed?

You and I had a long discussion about this months ago and it was working fine... what changed?

It's always been broken... even back then. But I didn't realize because the Arena slots and Cait slots work fine (they haven't got a bug). This fix is only for the bug that exists. The other value I changed in menu sorted everything else, but the bug ruined things.

Good to see that this project seems to be as dead as the interest of the maker to document his stuff properly - then again, that shouldn't wonder anyone. People inherently stop caring about the stuff they did at certain points.

@Amon1995 if you are still here: Apparently you didn't follow the steps in the tutorial. This use to happen if you do not use HextLaunch to start FF7. And if FF7 does not start, then that is because you didn't configured the path in the settings.ini properly.Then again, since the OP didn't mention this fact AT ALL, BUT ONLY THE INSTALLATION README included with it (which is a total JOY, because you'd expect something as CRUCIALLY NEEDED as this application, only surpassed by an actual PATCH - and by that I don't mean a fricking C# program that requires .NET, but a real binary PATCHER in C or C++, like something to actually EDIT the values required for 60 FPSs in battle mode to work - to be INCLUDED in the package. Because people otherwise would be downloading the package from a different PC, get it on a stick, transfer it to a Windows PC, open the archive and would see the insulting reference on a usually totally unneeded additional package - oh, wait, THAT'S WHAT'S ACTUALLY THE CASE HERE).

So there. Try to do it like that, works for me.

@albruto: Well, what did you do? Because I did it, just yesterday, and boy, at least the packaging works like a charm. Then again, the packager comes from Aali, who has proven his competence more than enough times.

Oh and SCREW this verification system. I cannot BELIEVE people would submit to such a broken verification system that first requires you to do the verification per registration, and then per post. Your admin's competence at work, guys!

It's dead because it's been proved extraordinarily difficult. The "fix" needed would take an incredible amount of time and will likely just break something else. And even then, it might not fix everything. We all worked on this and it was a shame it had to end, but it was not through a want of trying. Your post is wholly unhelpful, as I am sure you are aware.

Good to see that this project seems to be as dead as the interest of the maker to document his stuff properly - then again, that shouldn't wonder anyone. People inherently stop caring about the stuff they did at certain points.

@Amon1995 if you are still here: Apparently you didn't follow the steps in the tutorial. This use to happen if you do not use HextLaunch to start FF7. And if FF7 does not start, then that is because you didn't configured the path in the settings.ini properly.Then again, since the OP didn't mention this fact AT ALL, BUT ONLY THE INSTALLATION README included with it (which is a total JOY, because you'd expect something as CRUCIALLY NEEDED as this application, only surpassed by an actual PATCH - and by that I don't mean a fricking C# program that requires .NET, but a real binary PATCHER in C or C++, like something to actually EDIT the values required for 60 FPSs in battle mode to work - to be INCLUDED in the package. Because people otherwise would be downloading the package from a different PC, get it on a stick, transfer it to a Windows PC, open the archive and would see the insulting reference on a usually totally unneeded additional package - oh, wait, THAT'S WHAT'S ACTUALLY THE CASE HERE).

So there. Try to do it like that, works for me.

@albruto: Well, what did you do? Because I did it, just yesterday, and boy, at least the packaging works like a charm. Then again, the packager comes from Aali, who has proven his competence more than enough times.

Oh and SCREW this verification system. I cannot BELIEVE people would submit to such a broken verification system that first requires you to do the verification per registration, and then per post. Your admin's competence at work, guys!

That kind of sarcasm is not needed. Read some of the previous pages and you will find out that they have worked on this project as far as it can go. Any further work is beyond their resource and time capacity, so it's essentially reached its final release.

1. I haven't commented on the fact that there might have been some flaws with the project itself. No word at all. I was commenting on the UTTERLY convoluted installation process which could have been simplified with one proper patch included with the 2xcam one (apart from the files that still would have to be patched into the LGP files - something that I actually understand AND approve of). Even if there are some flaws with the patch itself, it's still a major improvement over 15 FPS (although I found myself to be somewhat content with 19, which I patched by myself. How did I do that? Oh, I just wrote a C program - like I already suggested - that would set the battle speed to 19 FPS. Makes me wonder why the maintainer couldn't have done so ... because, you know, it takes less than 300 LOC, and it would still be highly commented, and there would be a small API to search for other values within the file. Just saying).

2. I was also commenting on the insulting documentation. Seriously, I mean it, it's insulting. It might be a somewhat impressive technical project, I admit that without hesitation. But not having all information in the OP - or expecting me to read through all of this text as someone who just wants to get it running - and even suggesting AGAIN to read something that I am absolutely not interested in - you see the point?

Thanks for making my point that somehow you guys COMPLETELY missed what this is about. It's about how this now dead project is dealt with. I mean, hell, there are questions that even I - who just tried this patch out yesterday - could answer, because I ran into the same problems, but unlike other people, I could SOLVE them. ANYONE would have done so.

Oh and SCREW this verification system. I cannot BELIEVE people would submit to such a broken verification system that first requires you to do the verification per registration, and then per post. Your admin's competence at work, guys!

It happens on registration and on the first post, to stop spambots. That's it. You are the first person to ever have a problem with this; if it proved to be a consistent issue for people we'd remove it, but I'm not going to be disabling our spam protection for the convenience of one user who only registered to complain anyway.

Check your attitude or leave. The tone of your past two posts has been far more insulting than the documentation you're complaining about. I have worked hard to keep this community as drama-free as possible, and I won't have it ruined by someone who just wants to whine.

Don't Be a D*ckBe courteous, polite and show respect to others. Use of the forums is a privilege, not a right. Being a d*ck may get you warned. It may get you moderated. You might get banned for being a d*ck. Even if you are right and someone else is wrong, keep things civil.

The installation would have been made easier if the project had reached an end state. It's been abandoned and likely won't ever see a true release. That's why there is no proper installer (why bother releasing a broken product?). It's been decided that it's beyond anyone's time or effort to finish the project due to how the game works. That's a view based on a lot of work and looking into the game assembly.

I love it when teenagers first learn how to use the internet. It's always such a joy.

Here's an idea. If you think you can improve upon something, be it a gameplay mod here or something in real life, turns out it's actually more helpful to improve it than to whine and complain. You think you can do better? By all means. We're waiting.

What's the difference between this mod and http://forums.qhimm.com/index.php?topic=15403.0 ?

Have you guys thought of merging both mods?

They're intrinsically different mods. The one you linked is "PSX-Style" 60fps. What this means is that the MENUS in battles run at 60, but the battle scene itself above still runs at 15, precisely as the PSX version of the game worked. The only reason that mod needs to exist is because the original PC version ran the entire battle at 15, including menus; this messed up Tifa's slots limit break, among other things.

The mod in this thread is intended to get EVERYTHING running at 60. The problem is, that would require interpolating every single animation in the game, since there's no engine feature to do it automatically in real-time. There is, as far as anyone knows, no feasible way to do this without spending hundreds of man-hours on each one manually.

I briefly talked to DLPB about seeing if he would be able to alter his to use these animations. Not sure if he ever got around to trying, but I would say it's not very hopeful. Fairly certain NFITC1 is also fed up with working on this.

If we could figure an easy way around the summons, this could take the place of DLPB's no question. Unfortunately it's just too big of an obstacle.

I love it when teenagers first learn how to use the internet. It's always such a joy.

Here's an idea. If you think you can improve upon something, be it a gameplay mod here or something in real life, turns out it's actually more helpful to improve it than to whine and complain. You think you can do better? By all means. We're waiting.

Strange, don't you think? First you make assumptions about my age, however true or false they may be, then you suddenly shift and ask for assistance.

What I can give you is the source code of the program I've been using to set the frame rate myself back then. Nothing more, nothing less. Maybe it's utterly useless, maybe its base might help. I have no idea. But there you go: http://pastebin.com/tzfhMh0B

What I can give you is the source code of the program I've been using to set the frame rate myself back then. Nothing more, nothing less. Maybe it's utterly useless, maybe its base might help. I have no idea. But there you go: http://pastebin.com/tzfhMh0B

The link is invalidated in a day though, so you'd better hurry up. :)

Without even looking at it I know it's useless. Why? Because we already know how to change the frame rate. The problem is the animations don't interpolate on their own. It's not just a question of models, the effects, the camera, and the animation scripts will all need to be adjusted. I'm the one that discovered all this and I'm the only one with knowledge about it. Not that someone else couldn't take up the cause, but I'm not interpolating all the ~3000 animation handlers. I've done the camera and most of the animation scripts, but all that is meaningless without interpolated effects. Don't even get me started on summons either.

Is there anyway to launch FF7 through Hexlaunch with out getting the error "please use the final fantrasy 7 launcher". It's says it's usable on steam but as i see there's no way to launch only ff7 without the launcher,anyway to get passed the error?

In your FF7 rootfolder: HL-Files -> Settings.ini -> open it with a text editor and remove ff7.exe from file and add it to process. Save it. If you now start FF7+ it should wait until you start the game through the launcher.

Without even looking at it I know it's useless. Why? Because we already know how to change the frame rate. The problem is the animations don't interpolate on their own. It's not just a question of models, the effects, the camera, and the animation scripts will all need to be adjusted. I'm the one that discovered all this and I'm the only one with knowledge about it. Not that someone else couldn't take up the cause, but I'm not interpolating all the ~3000 animation handlers. I've done the camera and most of the animation scripts, but all that is meaningless without interpolated effects. Don't even get me started on summons either.

Beating a dead horse, but I guess the issue is that you want to do it right or not at all. Rather than just having everything interpolated uniformly, you want to manually adjust the interpolation for each frame according to the character animation? Considering you're going from 15 to 60 fps that could be important. It's jarring in a way when interpolation is too smooth.

Even if you were ok with automatic uniform interpolation, that would have to be done by the renderer which would probably need to be way more advanced than what's used in FFVII. This can be done by a post-processing injector, but requires that the game engine pre-render the next frame which I doubt we can set the current FFVII engine to do.

I must already thank you for all the great work you did so far! I follow this forum for so long, but for some reasons I just subscribed now...I was modding my FF7 everything is working nicely, but I found the battles very slow, and thus I realized that battles were actually always like that (15 fps), so I just downloaded the "60 fps" patch, so far I followed the instructions given on the folder... But I'm blocked on a step, probably because of my limited understanding (I'm not English, even though I understand most of it). I'l copy paste the blocking part.

Quote

7. Create the folder C:/battle and put your battle.lgp in there. Create C:/magic and put your magic.lgp in there

8. Put lgp.exe in the main folder of your C:

-> Do I have to put the lgp on the "C:" Disk? freely? (need Admin rights, which I have, but I still questionning myself if this is the right way to do)

Quote

9. Put copies of unlgp.exe in both of your new battle and magic folders and drag/drop your lgp's onto it. Once it finishes extracting the contents, delete unlgp.exe and the lgp files.

-> This one, I don't understand at all, can you please enlight me?

I think I understand the remaining part, I'm looking forward of your answers, many thanks and wow... Good Job!! <3

Actually, ulgp http://forums.qhimm.com/index.php?topic=12831.0 (http://forums.qhimm.com/index.php?topic=12831.0) is the best for extracting and recompiling lgp files. It's easier to use.

The way it works is, if you drag your battle.lgp file on top of ulgp.exe, it will extract all of the battle contents into a new folder (battle.lgp will create a battle folder, magic.lgp will create a magic folder, etc). From there, all you have to do is copy the 60fps files over the ones in the new folder. Once that's done, you drag the folder over ulgp.exe and it will recompile all the files back into an lgp file. Put that file back into your game data folder and you're ready to go.

Thank You obesebear for your answer, I finally managed to make it work (to follow all the steps). But when I launch my game (with HextLaunch, with admin rights or not). I receive a message "You have an error in your config file, some options may not have been parsed. (no such option 'battleswirl_framerate).

I press OK, the game launches. I start my first and then... Holy. Battles are even more slower !! :cry: :cry: But I see that the animations are smoother but everything is so slow, like in slow motion or something... Did you ever met this problem? How can I resolve this? :(

I reinstalled FF7 recently, and even before I felt that the game was slower, than before I don't why though... (I got a really good PC Config, I got a integrated graphic card (Intel) followed by NVidia GEFORCE 840m, Intel Core I5 Hawshell).

As for the battleswirl_framerate = 60, Ali may have discontinued that option in the driver, I'm not sure.

It sounds to me like you've added the **da files to your battle.lgp correctly but messed up something with HextLaunch. Basically, your battle is still running at 15fps, but your models are running at 60fps making them appear slow. All I can say is to go through the steps in the installation text file again and make sure you've followed every step.

The option (along with speed control of Snowboard, coaster, and G-bike) are present in latest driver :) Although there should be no option, because there are correct frame rates for each. All should be 60, except G-Bike, which should be 30. So, really, they should just be set to that by default.

I'll try to redo the installation, and tell you if I managed to install it clearly :)

By the way I'm very impressed that you answer really quickly :) <3

Aynath

-EDIT-

After some researches on my files and all, I found that I hadn't the Aali 0.8 driver or highter version, but the 0.7. So

Quote

*Requires Aali's driver version .8 or higher* Open ff7_opengl.cfg and add line battleswirl_framerate = 60. Then set Vsync to no. Save.

Simply couldn't work (I suppose that's the reason...).

What I've done to have my ff7 version (I may have done bad but it worked well). I have the re-release 2012 version (downloaded from the SQ-E Store), and I converted it to a FF7 1998 version thanks to a software. And then I modded it with Bootleg (Tifa's package), vanilla version, overhaul etc... With that, I patched it in order to play the New Threat Mod (Which I love it <3). It works but it's kinda slow as a I said before (I saw that it's actually normal, battles are at 15 fps, but it ran at 9-10 fps...) That's why I wanted to boost up in 60 fps.

I know that I should not use bootleg if I want the NT mod, but if I don't use Bootleg, I can't make FF7 work, weird huh...

Maybe those will help you to find what's wrong, thanks a lot <3 <3

Aynath

-EDIT 2-After several tries, I actually managed to make the battles faster... But several animations were weird to see (Barret's Attack animation), and some were simply not animated (Cloud's Braver)... So I just give up this time, I actually managed to get the 14-15 fps like before so I'm OK with.

Some interesting bits:bp_53cc holds a pointer to "some game object" which is a big singleton of a 0xaa0 byte long structure holding a lot of information and resources.At offset 0x9f0 of this structure, there is an object holding the callbacks of the currently running system.

Then we have:if(lolo.bp_53cc->f_020 == 0) C_0066059C(lolo.bp_53cc);//G_DRV_10:FlipThat is the graphic's driver's "Flip" functions is called; i.e the backbuffer which has been updated during the "REFRESH" call is presented to the used.Maybe it is nothing, but I assume that we only have made the renderer to put out 60FPS but do not update the backbuffer respectively. The irregular draw of the effects seems to be hint for that. Is this for some one useful? ???

I have fixed the new model animations to work properly at 60fps using my method. A few small issues remain (nothing we haven't fixed before). My method has introduced a few other issues too, but NFITC1 is looking into the biggest problem: Bahamut Zero flickering.

The pause method allows us to specifically duplicate frames for only the 2D magic effects - or other things we can't fix using interpolation. Everything else can have the pause flag removed... allowing the full interpolation. This hybrid system is the ONLY way of getting something satisfactory.

I'll get NFITC1 to look at the changes so far - and then if it's all looking good I will add it to The Reunion as an option if I am free to use the interpolated effects. I'll also place our work here too, of course.

I've amended NFITC1's fix for the damage numbers at incorrect times to work with my pause method. He'll have to see whether I've overlooked something, but so far it's looking good... with the exception of Scorpion tail attack.

The summon flickering was caused by that. With my method, the pause limits it correctly. But for a full flowing camera - it will need NFITC1's magic. Most camera operations are elsewhere - and have been fixed by NFITC1 (I have amended it to be a full flowing camera - not the 2x version on the main page).

In other words, there are 2 main functions for camera movement. Most are controlled by the other. I am not sure why the above causes the flickering, but if no fix can be found, it's ok, because my method fixes the issue. New magic files also aren't needed.

I never really checked anything in game, but in theory everything should work fine. The only ones that might have issues are models like proud clod and emerald weapon that are actually two separate models

Doesn't appear to be any problem with those enemies. I'd need someone to revify that they are animating at correct speed, but looks good. Only issue I saw was that Emerald's lower half was still animating as he was dying... but that may be an original game issue.

OK i've compared it frame by frame and I think i've missed something :P The new model files make the battles go the correct speed again (when I disable pause for the model movement) - but it's still moving once every 4 frames. The camera is correct and moving each frame.

Enemies seem fine. Haven't tested Guillofelgho or Carry Armour - but will do so later.

Flickering summons I can fix - so long as your interpolation for them is at 4x like the battle.lgp files.

Camera will need further modification by NFITC1, because there are 2 functions, not just 1. One deals with the victory camera as well - which is currently too fast. All in all though, it does seem to be very doable. It's a little pesky that so many parts rely on other parts. So you fix one thing, and another thing then goes out. But the pause method can help with the biggest issue - the magic.

Nah - it may be that the other function deals with it. But I may have overlooked something. I'll get latest files sorted and send you it uptodate. File 1: The limiter fix File 2: 60fps with pause File 3: Further modification that includes your cam fix and interpolated 3d stuff (pause limiting is removed from camera and 3d movement). This also led to flickering summons with pause method... but I've been able to get past that... I think!

Edit.

OK Summons looking good now magic.lgp is updated. And the victory camera is also looking good now too. Not sure what has changed. Surely magic.lgp didnt fix that?

Its awesome you guys are still working on this and 60fps battle is amazing! I've got it working properly with normal 1998 ff7.exe but it doesn't seem to work when I use 7H to launch the HextLauncher I have all 7h iros working but no longer 60 fps battles. The 60 fps option in the animations iro doesn't seem to be working either. Is there any way to get the 7H IROs and the 60 fps mod working together? I can post my load order but won't do it unless asked because its a lot of text.

Thanks guys

Edit - I always use the hext launcher to launch the ff7.exe but switch the setting to ff7_bc.exe when using 7H just to clarify

Edit2-Sorry its been a while since I've been on these forums. I see DLPB reunion that includes this I'm going to give that a try

It doesn't include this project. Reunion currently has a 60fps mod but it's not interpolation. NFITC1 and I are trying to fix my version up to work as a hybrid with this one. It's going quite well aside from the odd problem. It won't be ready for a while.

Update:

Working

2D effects, and some other parts, are limited using the pause var (DLPB).

3D elements are interpolated (Obesebear).

Camera is working at 4x the smoothness (NFITC1)

Menu is correct speed (DLPB. Tifa reel fix by Dziugo).

Death animation is correct speed and 4x smoother (DLPB. One of them by NFITC1).

Damage numbers' display is fixed (NFITC1).

Delay between action and damage display is fixed (NFITC1)

Intro timer, Fade in/out, and eye opener are fixed (DLPB).

Silence/Sleep texture speed corrected (DLPB).

Tifa Limit Break game crash is fixed (DLPB).

Problems

Bahamut Zero has a serious issue at the beginning of the sequence. Flickering. I am not sure I can fix it. NFITC1 is looking at it. I have also altered Dziugo to see if he wants to help.

Phoenix summon has brief flickering on one part.

Hades fire effect flickers (not sure if this is part of the original summon).

One of the victory camera transitions is broken (one for NFITC1 to look at).

Death Sentence skull, Chocobuckle, and Death (the model with scythe) animate too quickly.

Knights of Round knights do not animate their attacks. Does not require interpolation (extra interpolation actually slows the animation down by 4x).

Possibly limited to Steam, but I have seen the battle begin with a black screen that is impossible to remove. I can't replicate it, so let's hope it was a one off :P.

Slight stutter in some areas. Rufus escaping on the helicopter springs to mind.

Hey guys! Is it okay for me to post in here still? It's been about a year since my last post but I do see the update.

I'm actually working on a portable handheld gaming PC for older games using the UDOO x86 board so I was stopping by to see exactly what all has been worked on. The battles just look so amazing when this is working properly. I'm assuming it wouldn't work 100% with the new threat mod since that mod adds new magics and what not. Is that correct?

This particular mod does not affect magic. However, this mod has also been merged with Reunion since all the bugs we were facing were ironed out and incorporated with his mod. Whether or not Reunion conflicts with new threat, I don't know.

Thanks for the answers guys! I'm going to look at and see if there is anything that breaks the two. I'm guessing it should be as easy as pointing 7H mod directory to the same Reunion directory but we shall see once everything is setup.

NT will very likely not work with the 60 FPS mod without a patch, because NT has new enemies with their own animations. Though, these animations are copies of existing ones which make it actually easy to replace them with the animations on which they base on.

So what I did was ran the 7th Heaven Game converter then ran reunion setup

After enabling some mods including NT and changing the mod directory the game started and there really wasn't that much out of wack.

Slash-all didn't exactly fit perfectly but the battle interface was SO smooth and beautiful!! Some screen flashes from summons like Bahumut ZERO

My battle and field model mods wouldn't work anymore though until I switched from the original 7th heaven subscription mods to the ChaOS IROs (may not have needed any field/battle model mods anyway now that I've done a bit of reading and see those are exactly what Reunion installed)

The battle animations never seemed to run as smoothly as the youtube video on this posts first page even with only reunion installed but that may be on my end.

I don't even know what I would need to do to get these working together so this is more or less just a report. I'd be more than happy to help or test in anyway I could if this seems worthwhile or interesting to anyone.

(One thing I wanted to add that is probably pretty obvious but the re translated dialogue was back to original with NT)

Hey! Thanks a lot for answer! But then i did that you say i have another problem/

60fps.txt

Changed: 0Replaced: 0Permissions: 0

Errors(13):Line 4 (60fps.txt): Could not write to memory.Line 5 (60fps.txt): Could not write to memory.Line 6 (60fps.txt): Could not write to memory.Line 7 (60fps.txt): Could not write to memory.Line 8 (60fps.txt): Could not write to memory.Line 9 (60fps.txt): Could not write to memory.Line 10 (60fps.txt): Could not write to memory.Line 14 (60fps.txt): Could not write to memory.Line 17 (60fps.txt): Could not write to memory.Line 20 (60fps.txt): Could not write to memory.Line 21 (60fps.txt): Could not write to memory.Line 24 (60fps.txt): Could not write to memory.Line 25 (60fps.txt): Could not write to memory.==================================================

Holy... Then i do it all for classic ff7 1998 (modificated) i get all process done in hext_launcher, but... Battles get soooo slooooow, it is veeeeery slow, to open battle i need to wait over 10-20 sec, and animations is veeeery low too O_O

UPD: still doing wierdo, have very fast animations lol :D

UPD2: Okey, i did it! But have troubs with Barret and Cloud first limit breaks, maybe other LB too, idk. Limits have white or random textures. Magic is missing textures too. And when battle starts I have message "GLITCH: conversed error"

UPD3: Yay! I finaly did it all :D But have a little microfreezes in battles sometimes