P
paul
Guest
I've just told you how he does it
Having compliable code that is unreadable and unstructured is useless, changing asm is easier in that respect. The process of updating them all would literally take years of work.
Please don't say such things! Its far worse to recreate the game in a different engine and use modern formats. First of all, there is no advantage in using modern formats to store the games data. You gain nothing and give yourself a nightmare worth of converting. Also please don't just throw around the just "rewrite them yourself", I have attempted to do that with the Midgar Conversion Project: https://www.ff7catalog.com/threads/15744/ AND with Finishing Touch: https://www.ff7catalog.com/threads/16211/ both times I realized it is utterly impossible to rewrite or convert the scripts since it takes about 5 days to a week to convert a field working 2-3 hours a day. Given there are only around 50 weeks in a year and there are over 700 fields ehh I wouldn't bother.Building a house out of toothpicks isn't a great idea. If you are willing to spend THAT kind of time, you'd be better off just recreating that game in some engine and recreating the assets in modern formats. Don't even both trying to convert scripts, rewrite them yourself
That is asuming you need 50% of the lines avoiding duplicate functions/code in the scripts(which probably almost every field shares in someway).Lets say on average the each field has 1500 lines of code which is generous. Multiply that by 700, and you got 1,050,000 lines.
FFVII.Data.triangleId = entity_manager:get_entity( "Cloud" ):get_move_triangle_id() if (FFVII.Data.triangleId == FFVII.Data.expectedTriangleId) then if (FFVII.Data.progress_game < 7) then entity_manager:player_lock( true ) -- field:menu_lock( true ) background2d:scroll_to_position( -96 * 3, 60 * 3, Background2D.SMOOTH, 1.066667 ) script:request( Script.ENTITY, "Cloud", "scene_part_1", 6 ) FFVII.Data.progress_game = 7 script:request_end_sync( Script.ENTITY, "Biggs", "scene_part_2", 6 ) script:wait( 0.2 ) script:request_end_sync( Script.ENTITY, "Jessie", "scene_part_3", 6 ) script:wait( 0.333333 ) script:request_end_sync( Script.ENTITY, "Biggs", "scene_part_4", 5 ) script:wait( 0.266667 ) script:request_end_sync( Script.ENTITY, "Cloud", "scene_part_6", 6 ) script:wait( 0.266667 ) script:request_end_sync( Script.ENTITY, "Barret", "scene_part_8", 6 ) script:wait( 0.4 ) -- music:execute_akao( 0x20, 52, 64 ) script:wait( 0.266667 ) -- music:execute_akao( 0x20, 32, 64 ) script:request( Script.ENTITY, "DoorLeft", "open", 6 ) script:request( Script.ENTITY, "DoorRight", "open", 6 ) script:wait( 0.333333 ) script:request( Script.ENTITY, "Jessie", "scene_part_10", 6 ) script:wait( 1 ) script:request( Script.ENTITY, "Biggs", "scene_part_11", 6 ) script:wait( 0.2 ) script:request( Script.ENTITY, "Wedge", "scene_part_12", 6 ) script:wait( 0.5 ) script:request_end_sync( Script.ENTITY, "Barret", "scene_part_13", 6 ) -- Prepare map change script:request( Script.ENTITY, "Barret", "scene_part_15", 6 ) script:wait( 1 ) -- field:movie_set( 20 ) FFVII.Data.bMoviePlaying = 1 -- field:play_movie() load_field_map_request("ffvii_md1_2", "md1_1_Director_on_update_addr_1044") entity_manager:player_lock( false ) -- field:menu_lock( false ) end end
You do not need a program for every user ,this can and is done in alot of other reverse engineered engines so that when you start up the project for the first time it converts data.Remember: All the data conversion must be done programmatically because we can not distribute converted data! This means each user will have to have a program that converts all the original data to the XYZ's Engine Data and the conversion can not be done by hand. Unless off course the engine can use the original data.
You aren't distributing any data belonging to them, you are distributing converted code to make the data work, still requiring every user to launch it and link to original data folders/archives for the conversion to convert original data that they already have by having bought the game.For games that are still being sold this does happen, not distributing any data is the only way to be 100% safe, unless of course you are a well vexed lawyer![]()
So was the chrono trigger remake, 100% remade assets/scripts/code and they got C&D. Its a heavily grey area and the same laws don't apply everywhere. Might as well just make it use the original data files rather than risk being shut down IMO.You aren't distributing any data belonging to them, you are distributing converted code to make the data work, still requiring every user to launch it and link to original data folders/archives for the conversion to convert original data that they already have by having bought the game.