[Projekt] Extracting Ace Combat

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

Kiri678 hat geschrieben: 30.07.2022, 17:00
About the "babhuskas", those are the "LOD levels" of the player models in terms, unlike the CPU ones which are separated, on one of the Lean Viewer's tab, you got a prompt that you can check which model contains derivates, and it will show them at the same count
Bruh, i'm facepalming so hard right now. But thanks, for pointing out my mistake. I saw level plane LOD's so i thought that those are real LOD's and this is just another blender import bug, but it looks like these LOD's are probably used for replays, considering the quality...
Right. It’s another Blender bug (the VRML specification states clearly that only one of those should be imported). The different sizes stem from the fact that the PSX uses fixed-point arithmetic, which is limited by value range – if a model is twice as far away, you want its coordinates being half as big to compensate potential arithmetic overflows. Incredibly clever; I doubt I would have had that idea myself.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Idk what kind of experience you got, but as i've said, after converting the map into x3d almost everything imported as it should. But only materials lost info about which texture should that material have, basically blender import bug since that info is contained if you open x3d file with notepad++.
yesterday i was talking about more of a glitch that occured to me when i was still using 2.79, on Blender Render, most of the aircraft models will look fine, however when switching to Cycles, the model would be the same, however their UV coords would suddenly "explode", this is possible to fix by tweaking the "mapping" tab, despite for some reason the settings i remember to apply aren't saved, and couldn't find the blend with them saved for some reason
Bild

now that you mentioned about the tool you used, i may check out later if i could make it to work with the other maps aside of Geofront from Tunnel Vision, before Blender, i mentioned about using meshconv, which is a simple cmd tool which you can convert models like wrl into obj, aircraft at most part worked correctly with one or other exception, the tool didn't liked the maps by begin more complex, and the conversion always failed when triggering the script to work with the variables
It’s another Blender bug (the VRML specification states clearly that only one of those should be imported)
And yeah, Krishty's reply explain better the duplicates, i used the term LOD, due on UE4 modding you could import models, including morph targets as separate meshes, but nice to know it got a logical explanation

noticed about the talk about from parsing some of the data values from AC3, i did a short list for the map structure using zfx as reference at the time, but at some point i may look forward in documenting better, i managed to make Mission Notification to work, which part of the crash was because of the skybox, replacing it with one that works solved out(but depending of the structures replaced, the game would crash with buzzing sounds)
0 small binary file(skybox)
1 Tile map of the level
2 Folder with one file per level tile
3 Folder with about a hundred tiny binaries Models of moving units (planes, parachutes)
4 Folder with small binaries Weapon models (missiles, bombs, ...)
5 Folder with Handful of small binaries static models (sky boxes, ships, large buildings)
6 middle binary file
7 Folder with a handful of small binaries(player/enemy position)
8 small binary file
9 small binary file
10 small binary file
11 Folder with hundreds of textures of terrain & buildings
12 Folder with textures of AI planes appearing in the level
13 Folder with textures of rockets appearing in the level
14 Folder with cloud textures and sprites for sun / moon and stars (lantern, lantern)
15 Folder with texture for outline map and japanese text
16 all sounds that occur in the level
i also tested replacing the R-101 with the Aurora model data, worked fine, but i don't remember if stats changed, probably would be interesing if indeed changes, as the export version got some slight diferences
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

RythusOmega hat geschrieben: 31.07.2022, 01:43however when switching to Cycles, the model would be the same, however their UV coords would suddenly "explode", this is possible to fix by tweaking the "mapping" tab, despite for some reason the settings i remember to apply aren't saved, and couldn't find the blend with them saved for some reasonBild
Try scaling the texture with -1 in Y. Blender probably uses Bottom-Up convention for pixels or something like that. Alternatively, flip the BMP vertically.
RythusOmega hat geschrieben: 31.07.2022, 01:43i also tested replacing the R-101 with the Aurora model data, worked fine, but i don't remember if stats changed, probably would be interesing if indeed changes, as the export version got some slight diferences
This is immensely interesting for me as well – I’d like to have AC3’s flight model in my game. If you ever try it out again, let me know!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Kiri678
Beiträge: 10
Registriert: 13.07.2022, 18:35

Re: [Projekt] Extracting Ace Combat

Beitrag von Kiri678 »

Right. It’s another Blender bug (the VRML specification states clearly that only one of those should be imported). The different sizes stem from the fact that the PSX uses fixed-point arithmetic, which is limited by value range – if a model is twice as far away, you want its coordinates being half as big to compensate potential arithmetic overflows. Incredibly clever; I doubt I would have had that idea myself.
So it's done that way because of system limitation, but it also doubles as optimization?
Talk about swatting two flies with one hit, if so.

yesterday i was talking about more of a glitch that occured to me when i was still using 2.79, on Blender Render, most of the aircraft models will look fine, however when switching to Cycles, the model would be the same, however their UV coords would suddenly "explode", this is possible to fix by tweaking the "mapping" tab, despite for some reason the settings i remember to apply aren't saved, and couldn't find the blend with them saved for some reason
Yeah, i don't really use blender to render :) so i probably missed metting with that bug... and since materials got broken on import anyway i just made new material with texture and assigned it, uv's stayed as they should.

i also tested replacing the R-101 with the Aurora model data, worked fine, but i don't remember if stats changed, probably would be interesing if indeed changes, as the export version got some slight diferences
Interesting.

Unrelated related trivia:
Both jpn versions are a bit clunky in terms of plane control, basically you can't pitch and roll at the same time. It seems that using analog stick as d-pad in duckstation fixes this problem, more or less(still testing). However that control issue ain't present in both pal and ntsc releases. I guess it was that weird transition period from d-pad to analog so they fixed that and changed plane data, among other things.
Zuletzt geändert von Kiri678 am 07.08.2022, 23:11, insgesamt 1-mal geändert.
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Unrelated related trivia:
Both jap versions are a bit clunky in terms of plane control, basically you can't pitch and roll at the same time. It seems that using analog stick as d-pad in duckstation fixes this problem, more or less(still testing). However that control issue ain't present in both pal and ntsc releases. I guess it was that weird transition period from d-pad to analog so they fixed that and changed plane data, among other things.
Indeed, i also got that impression due aside of the jap version, i'm familiarized with the ntsc/pal releases too, more ntsc as it was the one i played on my PS1 before the jap, as i finished it at first time on ePSXe due to a disc sector error that made one of the missions to softlock at loading

When setting up Duckstation, as i found both it and Beetle HW thanks to the recomendations i got(but Duckstation by far will be my current emulator, as it can accept PGXP fine, and PCSX2 recently got the GUI designer on their team), tested both versions, and compared to PSXfin, which i assigned most of my controllers to d-pad, Duckstation allowed me to assign better the analogs without begin such weird, as ePSXe didn't had a good deadzone adjustment and some games could input very clunky

I noticed out when doing a quick flyby on Bravado using the F-15S/MT, ntsc/pal despite different in structure, it applied some interesing QoLs like this one, which by far is the main complainment tend to see people talking about during their AC3 experience, aside of the personal opnion which is the less of the issues

Aside of aircraft perfomace idea, i guess depending of the file structure, and how those were stored, i could try out to migrate those QoLs to the jap version by file swap, not sure if the BPB files would be enough or not, but other tests similar to that would be trying to make an "single disc patch" based from an pirated collection copy i have, that it was where i played the jap version first

Unlike most multi-disc games like FFVII, Driver 2, etc... AC3 is indeed exotic, as despite begin split into two discs, it got most of the content on both discs, so this is why despite unaccesible when going into Mission Simulator or loading a save profile, you can load the missions of the opposing disc without any issue aside of missing audio and containers, otherwise, the expected result would be that the game would crash at the moment you tried to load an "unexisting mission data"

Part of begin multi-disc, probably was thanks to using Redbook CD audios, along with video data which took mostly all the size for each disc, and is noticeable due XA compression audios went also used(noticeable examples begin the characters and the HUD voice clips), so a solution, that could work in practice, but is still a theory, would be compressing stuff into the same quality as the XA, along the videos, if applied well, the hurdles would be including data from the second disc in new separate slots, along people that are familiarized with the Redbook quality would weird out at first

Switching the files with the one of the pirated disc wasn't too effective, as common from the "game rips scenario", some perks went migrated, like removing the Redbook audios and the .SPB data, which generated new softlock points(like on Fates interwined, Utopian Dreams, and Dillema, when the "COMMUNICATION INTERRUPTED" message is triggered, the missing files generates a conflict that instead of loading the next one, it stops the read buffer), but the disc change messages on the other end, still worked the same, meaning that not exactly on the AC3 files, but the collection structure did the perks

(Also, if Krishty could reply, but is it me, or from times when accesing ZFX by going into topics, at some hours the forum would ask me to save a html page? i found that weird due it happens occasionaly, and from the brief look, ZFX looks normal, no signs of a possible malware attack as this behaivour was similar to old websites made on Blogger than went hijacked, despite yeah, not such active by the natural effect of Forums x Discord)
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

RythusOmega hat geschrieben: 01.08.2022, 23:02(Also, if Krishty could reply, but is it me, or from times when accesing ZFX by going into topics, at some hours the forum would ask me to save a html page? i found that weird due it happens occasionaly, and from the brief look, ZFX looks normal, no signs of a possible malware attack as this behaivour was similar to old websites made on Blogger than went hijacked, despite yeah, not such active by the natural effect of Forums x Discord)
We did have downtime last week but everything should be fine. If you’re asked to save a file, it normally indicates that the forum was not transmitted properly and the browser cannot display the HTML correctly. Save the file and open it with a text editor; maybe this will shed some light on the problem?



Some AC3 skins will be re-released for AC7 as part of the 3rd Anniversary Update:
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Kiri678
Beiträge: 10
Registriert: 13.07.2022, 18:35

Re: [Projekt] Extracting Ace Combat

Beitrag von Kiri678 »

Some AC3 skins will be re-released for AC7 as part of the 3rd Anniversary Update:
Ahhh, they be going for that nostalgia, then again, i'm not nostalgic as i still play AC3. But regardless of me having issues with vanilla AC7 those skins do look nice.

but other tests similar to that would be trying to make an "single disc patch" based from an pirated collection copy i have, that it was where i played the jpn version first
Single disc patch with some additional bug fixes would be interesting experience. Basically v1.2 hehe.
Right, since "collection" was mentioned, i can offer mine, if it can help with "dissecting" (idk, it's prob only way i can help here).
I'd say it's pretty much complete, ntsc, pal, jpn v1.0 and v1.1 (from emuparadise no less :)), appen disc disc 2...
There are some other paradox and vector stuff, didn't have time to check them out, prob just gameshark code integration or smth like that.... also some other niche AC3 related stuff...
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Right, since "collection" was mentioned, i can offer mine, if it can help with "dissecting" (idk, it's prob only way i can help here).
I'd say it's pretty much complete, ntsc, pal, jpn v1.0 and v1.1 (from emuparadise no less :)), appen disc disc 2...
There are some other paradox and vector stuff, didn't have time to check them out, prob just gameshark code integration or smth like that.... also some other niche AC3 related stuff...
Indeed, nice you did your homework already, but yeah, i went also at the same step too, probably a bit more lunatic due to my nature of begin from the backup center workflow, some stuff obviously aren't totally "legit", but it was what made me to know the PS1 at the time, and is something common at my country, brief overview goes from :
-1.0 copies that i downloaded in 2010
-NTSC and PAL versions
-Appendisc, with a dump from Direct Audio that i got separately
-the demo discs Krishty linked on the old posts, not all of them, as they are dupes
-the recent betas from PAL from Hidden Palace that released last year
-the R4 bonus disc, that contains the AC3 teaser
-the "collection" disc that i mentioned(originally called 6 in 1 NATO Collection from a "company" called Ultra, contains AC2, AC3, Plane Crazy[that doesn't work], Agile Warrior F-111X, Wing Over II and Sidewinder II. and one of the covers showed get even more obscure stuff like Thunder Force V, Raystorm, etc...)
-all the official guide books in scan format, with two dupes for Official Guide
-Photosphere(game manual), along with Direct Audio manual
-Mission 00 VHS mirror uploaded by "Benjamin Bortchwez"(famous japanese AC user for posting in depth information and photo shots)
-Kei Yoshimizu concept arts he posted at twitter
-rare photos from the font glyphs used in the game
-the AC3 original script written book, a public release from a crowdfunding campaign from a modder that i helped
-the backup of the html page from AC3's website and the "hidden" high quality loading sounds(that now is shut down)
-a still in development audio extraction repository from AC3 i'm doing, including the XA clips, so most of the HUD sounds are complete
And that mostly the surface of it, i didn't included other stuff due they aren't originally from PA/Namco itself, or less relevant, stuff like aircraft fanarts from a old forum "i made part" and old fc2 websites, one or other lost 3D model made by fans, along preservating stuff like AC3 remade models from Xpand for Vector Thrust and the vectors made by Rugal, which i had contact with him before his retirement. Lean Viewer, the AC7 skin dumps along stuff from the other AC games and non-AC that i like
Benutzeravatar
Kiri678
Beiträge: 10
Registriert: 13.07.2022, 18:35

Re: [Projekt] Extracting Ace Combat

Beitrag von Kiri678 »

Let's see Paul Allen's collection.

Jokes aside, i have around 70-80% of stuff you listed (i should really make a list of what i have and what i don't).
And now you nudged me into collectionist frenzy, i'm finding old stuff to which i even lost CD's (like eRacer, had it on disc together with Incoming Forces).
Really hoping to find appen disc cd1, basically direct audio (unless its pure Audio CD, in that case i already have that...).
Back then ((10+ yrs prior) damn, time flies fast, can't believe it's been that long since i put appen disc on epforums) i really should have kept going after i found cd2 of appen, i would probably find it.
Zuletzt geändert von Kiri678 am 11.08.2022, 22:50, insgesamt 1-mal geändert.
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

Kiri678 hat geschrieben: 11.08.2022, 20:43Let's see Paul Allen's collection.
lol yeah

Speaking of collections, I wanted to talk about the PAL/NTSC versions of AC3 today, but then this happened: ComebackKid bought a rare Japanese Press Demo of AC04, talked a bit about it, and even uploaded it!
https://twitter.com/Comebackkid2136/sta ... 6550317057
Only 30 copies were made; YouTube only has a single video about it; and it is dated a few months before release – so this is kind of a big deal. Thanks again, cK!

acanalysis works with the demo (it’s playable in PCSX2 as well), and Dog prompty analyzed it:
https://twitter.com/Death_the_d0g/status/1557786481313341442 hat geschrieben:Some early music renditions of Sitting Duck, Comona, Tango Line and The Northern Eye, small differences in the liveries used for the F-14 and the F-22 compared to the ones used for the final game and a different particle effect config for stuff like explosions, etc.
Amazing stuff. He posted the beta versions of the soundtracks here:
https://www.youtube.com/watch?v=45lsP49DfRA
https://www.youtube.com/watch?v=a46NrfAT4Hw
https://www.youtube.com/watch?v=eKeH_r87zDQ
https://www.youtube.com/watch?v=lK2B3BdDl3w

There were also traces of NPCs and planes that had been removed for the final release. Follow his timeline for more!

Fun fact: The demo was on auction for $7,47 :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Kiri678
Beiträge: 10
Registriert: 13.07.2022, 18:35

Re: [Projekt] Extracting Ace Combat

Beitrag von Kiri678 »

Only 30 copies were made
Dayum, that's rare. Took me a while to find iso link.

A fine addition to my collection...
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

Krishty hat geschrieben: 11.08.2022, 22:41I wanted to talk about the PAL/NTSC versions of AC3 today
Okay, it’s time.

The PAL/NTSC-U versions (EU/US) of AC3 have an additional file, and it has odd strings inside. Turns out, it is the game EXE with another compression applied – a bit like the ULZ we all know, but not as advanced. I call it PS-Y, after its magic ID.

I’ve written an article about how I reverse engineered this compression. I won’t post it here because it strongly relies on font color and monospace formatting, which is a bit hard with phpbb, so head over to http://krishty.com/articles/namcos-ps-y ... ssion.html
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 1946
Registriert: 25.02.2009, 13:37

Re: [Projekt] Extracting Ace Combat

Beitrag von Alexander Kornrumpf »

You make it look so easy.
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

Having a kind of Rosetta Stone and plaintext content was really helpful. I realize that most projects will rarely have either of that, let alone both …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 1946
Registriert: 25.02.2009, 13:37

Re: [Projekt] Extracting Ace Combat

Beitrag von Alexander Kornrumpf »

I meant it as a compliment. Good stuff!
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

I traced the roots of the algorithm back to an LZSS sample by Haruhiko Okumura, written in 1989. (Via Wikipedia, source code archeology, and luck.)

Here is the new “Origins” chapter: http://krishty.com/articles/namcos-ps-y ... ml#origins

explainlzss.jpg

It is impressive just how widespread LZSS was at the time. Okumura was later honored by the IEEE for his work in compression technology (and he kindly retweeted me). Wikipedia specifically mentions games by Electronic Arts using LZSS derivates.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 1946
Registriert: 25.02.2009, 13:37

Re: [Projekt] Extracting Ace Combat

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben: 23.08.2022, 23:39 I traced the roots of the algorithm back to an LZSS sample by Haruhiko Okumura, written in 1989. (Via Wikipedia, source code archeology, and luck.)

Here is the new “Origins” chapter: http://krishty.com/articles/namcos-ps-y ... ml#origins


explainlzss.jpg


It is impressive just how widespread LZSS was at the time. Okumura was later honored by the IEEE for his work in compression technology (and he kindly retweeted me). Wikipedia specifically mentions games by Electronic Arts using LZSS derivates.
Having been in the ring with an LZSS-like myself I immediately thought I recognised something there, but I wasn't sure if it was red-car-phenomenon. Thanks for confirming.
Benutzeravatar
Infrid
Beiträge: 12
Registriert: 04.11.2016, 14:20
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Infrid »

Thank you for the article, it was really a nice read, I always enjoy technical writings like yours. With the article in mind I tried to get down the rabbit hole and find the function that decompress those exe, you can find it in SLUS_009.72 at address 0x801642c0. This guy starts as soon as you see the PlayStation logo, way before the Namco one.

I fired up ghidra, the decompiled code is just a clue and an interpretation of the asm one but is an interesting read nonetheless.

Code: Alles auswählen

undefined4 decompress_psy_stage1(int *data_psy)

{
  int decompressed_buff;
  int iVar1;
  
  if (*data_psy == 0x592d5350) {
    decompressed_buff = FUN_80164294(data_psy,data_psy[3] + 3U >> 2);
    if (decompressed_buff != 0) {
      return 0;
    }
    iVar1 = data_psy[9];
    decompressed_buff = FUN_801641d0((int)data_psy + (data_psy[5] & 0xfffffffcU),iVar1);
    if (decompressed_buff != iVar1 + data_psy[4]) {
      return 0;
    }
    decompressed_buff = FUN_80164294(iVar1,data_psy[4] + 3U >> 2);
    if (decompressed_buff == data_psy[0x16]) {
      data_psy[0xf] = -0x7fe00010;
      data_psy[0x10] = 0;
      FlushCache();
      EnterCriticalSection();
      Exec((EXEC *)(data_psy + 7),1,(char **)0x0);
      return 1;
    }
  }
  return 0;
}
I renamed few vars and function names, the real decompression part is inside FUN_801641d0

Code: Alles auswählen

byte * FUN_801641d0(byte *param_1,byte *param_2)

{
  byte bVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  byte *pbVar5;
  int iVar6;
  uint uVar7;
  uint uVar8;
  
  uVar8 = (uint)*param_1;
  param_1 = param_1 + 1;
  uVar2 = 1 << (uVar8 & 0x1f);
  while( true ) {
    bVar1 = *param_1;
    uVar7 = (uint)bVar1;
    param_1 = param_1 + 1;
    if (bVar1 == 0) break;
    while( true ) {
      uVar3 = uVar7 & 1;
      uVar7 = uVar7 >> 1;
      if (uVar7 == 0) break;
      if (uVar3 == 0) {
        bVar1 = *param_1;
        pbVar5 = param_1 + 1;
        uVar3 = (uint)CONCAT11(bVar1,*pbVar5) & uVar2 - 1;
        param_1 = param_1 + 2;
        if (uVar3 == 0) {
          uVar3 = uVar2;
        }
        iVar4 = (int)(uint)CONCAT11(bVar1,*pbVar5) >> (uVar8 & 0x1f);
        pbVar5 = param_2 + -uVar3;
        if (iVar4 == 0) {
          iVar4 = 1 << (0x10 - uVar8 & 0x1f);
        }
        iVar6 = 0;
        if (0 < iVar4) {
          do {
            bVar1 = *pbVar5;
            pbVar5 = pbVar5 + 1;
            iVar6 = iVar6 + 1;
            *param_2 = bVar1;
            param_2 = param_2 + 1;
          } while (iVar6 < iVar4);
        }
      }
      else {
        bVar1 = *param_1;
        param_1 = param_1 + 1;
        *param_2 = bVar1;
        param_2 = param_2 + 1;
      }
    }
  }
  return param_2;
}
if you dig the asm code you might find out what the unkown parts of the header are, and how they are used. Side note, the executable is decompressed at 0xb070 in RAM.

good luck!
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Well, i know the topic is mostly focused in Ace Combat, however even if part of the content got a connection but it also applies to offtopic, is still something very interesing based on the whole model research of the PS1, but focused more of my department which is ripping tools

During the break time of a project i'm working, i was visiting Xentax and Zenhax a lot, considering the progress of ACI model ripping will get some considerable updates soon, but aside of them, i decided to visit the VG Resource(home of Spriters Resource, but also of Models Resource), going some threads about the information if the platforms allow grouping two games into one because of the same engine, i found a user mentioning on a PS1 ripping thread a emulator called Avocado(even if this name got a bit infamous...)

Avocado is akin to Duckstation and Beetle HW, one of the current Playstation open source emulator made to replace PSXfin and ePSXe by the two begin outdated and not getting updates, in parts of emulation and issue tracking, it works mostly fine despite one or two glitches like misplaced FMV or few audio glitches, but the keypoint isn't exactly on the original, but on a modified branch made by the user "Rickomax"
https://github.com/JaCzekanski/Avocado/issues/107

Ricko's Avocado introduces two interessing options few PS1 emulators got at first sight, the first is the Free Camera, on the last decades free camera on PS1 was something few people "could manage" using the OGLE suite of GLIntercept, but seeing it was a headache to setup, and i didn't get to make it to work. but now is more simple using this emulator, you can configure the keys at the way you want, so i focused to setup akin to Frans' IGCS/UUU free camera controls. it's very useful when games got the pause function, despite for disabling some HUD elements may become a bit hard by lack of texture dump/replacements, fast fowarding, or loading .psv save states. along for dumping purpose, it won't work on games that forces cutscenes to disable the pause button, i think CE can bypass that with the speed hack injection, but i didn't tested yet

Bild
Bild
example with Ray Tracers

The second, and the most eyecatching function, is indeed, the "3D Screenshot" function, this tool is similar to snaps, but made for extracting model data in .obj and bypass the z-buffer limitations, and indeed is very satisfactory to use, but not everything is flowers as despite it can work in different games, not all of them will export models, as some will result at the ripping process to occur, but the output won't be generated, which can still be exported using debug mode, but it won't get such cool results, as the .obj will be a z-buffer rip like the NinjaRipper/3DRipper ones, and the raw will be a gambled mess, which sucks as there were some games i was really interesed to rip models, but i couldn't get them to work...

Also, the ripping isn't one of the best due at some points the functions you can tweak can generate different results, like disabling backface culling in some games result in them disappearing and affecting the rip in general, and on others, you need to play with the free camera to avoid some faces from exploding or disappearing

Bild
example extracting Eclipse Eye from G-Darius, ignore some glitched textures and meshes

In general, even with the limitations, is still a very powerful tool, however isn't like the definitive way to facilitate the process as some games may include stuff that rippers won't be able to rip by normal, consider it as like the "Ninjaripper" of the PS1 games, and as a alternative option for people that would like to research models, but without reversing. for Ace Combat this tool indeed is inrelevant as yeah, Air Combat use default PS1 model containers, easier to extract with the most common tools, and most of Kris' work is still important for the AC2, AC3 and Driver extraction(even that the AC2 models aren't available at public yet). i would look forward if most of the git users got plans at doing stuff like that to other emulators that suffers from z-buffering, like PCSX2 and MAME, due RPCS3 and Xenia main issue of OpenGL/DX12 limit will be solved with the newer Ninjaripper 2, despite i can't afford it due the project started as a Patreon membership plan in euros, and the newer versions include a token authentication to comfirm you're a patron to use the tool
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Now on more "Ace Combat" topics for real, today marks the day of one more goal, the ACI, but also ACAH and soon AC6 models begin imported in their correct way, it was 3 years of research and made with help of contributors, the new one begin the MVP of the new progress, as previously the player/skeletal meshes got the infamous issue of begin misplaced all over the place, but now this is no more

For people that would like to check the scripts to test it out(as yeah, getting ACI dumps isn't something easier, but i'll be fixing that when possible, as i'm busy with other projects on my backlog also), the Github link is available for everyone, and part of the progress can be found on one of the most popular phpbb game research forums
https://github.com/GreenTrafficLight/Ac ... nder-Addon

As sort of a bonus, seeing part of my popularity with Kris started because of it, sharing some of new blueprints i made comparing the PS1 models of R-101 and X-49, along with Falken Z.O.E. as they're the most noticeable models that debuted on ACI, of course, texture colors may not be 100% correct as dumping the color values of the game is still not possible even it works the same as ACAH, but compared to last year progress, which assembling was a nightmare because of complex parts like weapon bays and landing gears, is now more easier
Bild
Bild
Bild
Bild
Bild
Bild
Bild
Bild
Bild
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

Infrid hat geschrieben: 24.08.2022, 16:03With the article in mind I tried to get down the rabbit hole and find the function that decompress those exe
This is amazing! Thank you so much. I haven’t had the time to pursue it in detail, but I see that the algorithm actually has a few options that are read from the header (maybe window size?).
RythusOmega hat geschrieben: 12.09.2022, 22:41The second, and the most eyecatching function, is indeed, the "3D Screenshot" function, this tool is similar to snaps, but made for extracting model data in .obj and bypass the z-buffer limitations, and indeed is very satisfactory to use
This is a FANTASTIC feature, easily one of the best I’ve seen in the past years. Don’t know if others have seen the screenshots from the Github thread, but this is amazing on so many levels!
Bild
Bild
Now I really want to implement 3D snapshot function into my own games :D

Also, thanks for the hint with Avocado. I was still stuck with ePSXe after all these years …
RythusOmega hat geschrieben: 14.09.2022, 03:42Bild
Bild
Great to see those. I remember you having made overviews of every AC3 plane before, but seeing them side-by-side with 15 years of graphics progress is even more impressive!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Krishty hat geschrieben:This is a FANTASTIC feature, easily one of the best I’ve seen in the past years. Don’t know if others have seen the screenshots from the Github thread, but this is amazing on so many levels!
Yeah, i mostly seen all the pictures, along testing out the tool during those days, is still not one of the perfect still, due for ripping some models really depends of getting the correct camera angle to avoid the faces to explode because of the z-buffer, and i could notice each game would follow a specific set of rules of which camera is the best to get a clean model. the good thing is the free camera can help on this process(despite on some games, like AC3, FOV limits would stll affect even with them deactivated, i think because of some rulesets used in the engine during gameplay) but on the other, i tested out CE, but the game speed options didn't work due it would freeze the entire emulator, but still, Avocado got some interesing wildcards, like frame-by-frame skipping, "time travel"(which you could rewind for some seconds the current cache of gameplay), and frame limit control like most old emulators

Now about an emulator for playing games normally, even that Avocado is indeed very good in perfomance, it got few glitches as some games like NFS Porsche Unleashed would instant crash and stop emulation, and FMV wouldn't play correctly, depending of the niche of library games like AC3 which from what i seen didn't had such issues(but i only tested out in Awakening still) Duckstation and Beetle HW would be the better choices, the latter is a bit complex due you would need to learn at how to use Retroarch, when the eariler is made in QT, and one of the team members is helping PCSX2 giving the QT rework as a option too, Duck isn't perfect also for very slight glitches like on Rage Racer which the music playback wouldn't work correctly, but by far is one of the most friendly emulators of the current time, as texture modding is more easier with it than on Beetle(which requires to have a directory at the game folder, and Beetle is restricted to run only .bin and .cue)
Krishty hat geschrieben:I remember you having made overviews of every AC3 plane before, but seeing them side-by-side with 15 years of graphics progress is even more impressive!
Indeed, those were made in 2017, at the time i joined ZFX and i found out about the progress, there's also a interessing trivia that i did most of them using Blender 2.79, which at the time i didn't found about the Film Transparency options, so i had to do most of the work using Photoshop to remove the backgrounds, i started using the default grey, but it turned out problematic as soon models like Su-43 got slight issues with similar colors in a gradient sensitive, and it could be very noticeable some shading would transpire of the background on the old blueprints
Bild

I got plans at probably remaking those, like doing also from other models i didn't made, but i made a list, like the Vessels/Ships of Neucom and GR, but also focusing on other models like the AC2 ones and now the ACI ones, i even had plans at doing sort of size chart as a bonus due on 2017 i tried to make a catalogue, but some stuff like the flying booms of the Tankers was mismatched as the Model Display models contains a different scale compared to their in-game CPU models, despite i may put on hold for a moment as i will need to do some double checks on my hardware first

The old overview blueprints i did in 2017, along two new ones i made from Darkstar in both PA and the model made by Microsoft/Asobo can still be found on the Ace Combat Onedrive repository, as well i sent most of them to a user when i was still active on Twitter, not sure if he reuploaded at the time i disappeared, but yeah, for people that would like to still check out them, i also did a backup from some the vector art assets of Godrugal, as he deleted his Deviantart on the last years, he didn't specified the reasons, but before his retirement he had issues by losing his HDD data, not sure if he still follows the internet, but i hope he doesn't feel bothered at them begin hosted on my repo, as i couldn't enter in contact with him by his lack of avaiable SNS to ask permission clearance first
Benutzeravatar
Kiri678
Beiträge: 10
Registriert: 13.07.2022, 18:35

Re: [Projekt] Extracting Ace Combat

Beitrag von Kiri678 »

Well shit, i already have the urge to rip some models. Frst there was psp emulator with rip ability, now ps1 emu. All that is left is for ps2 emu to implement it.

Nice blueprints, tho ACI x-49 still looks weird to me, the model i mean(prob cuz of top engines, and too much protruding canopy) , orig one and xpands remodel is where it's at for me.
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Kiri678 hat geschrieben: Nice blueprints, tho ACI x-49 still looks weird to me, the model i mean(prob cuz of top engines, and too much protruding canopy) , orig one and xpands remodel is where it's at for me.
Yeah, you're not wrong either, due one of the main flaws of the ACI model of the X-49 turned out to be the top engines along with the steel structure, due at some of the Production I.G drawings of both(Geopelia included), they showed the engine structure begin detailed and a bit circular, but in other shots(ex : Reaching for the Stars), or in the in-game and FMV models, the issue turned out they first focused on oval engine structure, which works cool in the sci-fi aspect, but when adapting into the brief realism, it would look out very weird, so at the time of 2015, i could understand they wanted to restructure the X-49 to fit better the common military aircraft aspects, including stealth ones by the addition of weapon bays
Bild
Bild
Bild

Not sure if you followed the news about model kits, but Kotobukiya released this year the 1/144 model kit of the X-49, the model anatomy is basically the same as the ACI one, but the major change is that they re-did the engine structure to fit better the AC3 layout, but also still make it to work with the circular engine aspect yet
Bild
Bild
Bild

Still, some details may look off, as they replaced the Opto-neuron COFFIN with a new design, mechanism is still the same(dual layered chamber), but compared to AC3(matte "cockpit", with Kei Yoshimizu's design), is now of a more simple design aside of the golden canopy, which was a borrowed detail due the X-49 got inspirational cues from the B-2 as mentioned on M&W view
Benutzeravatar
Kiri678
Beiträge: 10
Registriert: 13.07.2022, 18:35

Re: [Projekt] Extracting Ace Combat

Beitrag von Kiri678 »

Yeah, i'm aware of that model kit, and i understand compromises had to be made when turning x-49 into something closer to real life, but still, to me xpand's remodel looks way better, especially cockpit.
At least model wise (even with lack of high details present in model kit), tho i still prefer orig full dark gray scheme but i know that he wanted to highlight some parts and give it his own touch.
But on model kit that cockpit just looks off to me...

Some examples:
blender_rx6C6rTBJ3.png
blender_4vnClcvldc.png
*sigh* Idk, i guess im just some sort of dumb purist when it comes to AC3 stuff like these.
Or maybe i miss unrealism....
Benutzeravatar
RythusOmega
Beiträge: 15
Registriert: 17.07.2017, 09:29

Re: [Projekt] Extracting Ace Combat

Beitrag von RythusOmega »

Yeah, don't worry, as yeah, opnions are opnions, everyone got a distinct one and won't blame you for having a different one either

Xpand models from Vector Thrust indeed got their charm also, however is a bit of a bummer he decided to cease development of the mods, i remember talking with him by DMs and he worked on the R-808 Phoca the last time i seen, i can understand part of it was due to the interest lowering from VT which didn't helped either after the Early Access fiasco, along people that said he still works on BallisticNG team, but also focusing on his personal life

I followed his work since before the VT mods, as when he released the FSX Electrosphere modpack to FSX/FS2004, which i could only test it during the last decade when my rig was more compatible, so after i discovered his VT mods it was a nice surprise for sure. personally, i wanted at some point to apologize with him by something which not sure i made him sad or frustated with me, due part of the fault was thanks to the timing of Krishty releasing the full bundle of the AC3 models when i asked his help before to try reversing the R-101 based on the documentation, is something that happens as is a common rule of internet that you can't control the timing if someone release the same thing first and with more advantages, but i still wanted to apologize if my attitude from that time was cocky, due yeah, i was euphoric at that time for viewing the 3D models when i discovered ZFX, i think is one of the main reasons i started to love 3D modeling in general, due i always went fascianted by the artstyle of AC3 since as a kid

Some interesing tidbits is aside from two models which followed some additional rules, which were the MiG-33 which followed the design cues from Heinkel's version(the old nickname of the user, as i forgot the recent one), and the XR-900 which also got cues based from a scratch made model kit from a female(?) artist i followed(i can't be 100%, due they worked in fashion stuff also aside of AC), most of Xpand VT models were based on the blueprints of JianDaoXiao, which i also had contact with him by DM as i helped him to recover most of his older work which i had backups in hand, isn't a bad thing due Xpand managed to translate well with the artstyle of BallisticNG he used on the models, but in some models there were cues that were more based on the JDX blueprints than on the original models, which i can understand due Lean Viewer didn't released at the time the mods were made, not sure how Xpand would handle the remaining models now with the new references, but i could expect he would follow some cues of the original ones, like the R-531 Mobura, which Jian's blueprint wasn't even closer as by the lack of photos and the backface culling, he couldn't translate well the layers the original model has
Benutzeravatar
Krishty
Establishment
Beiträge: 7854
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Extracting Ace Combat

Beitrag von Krishty »

RythusOmega hat geschrieben: Gestern, 11:26personally, i wanted at some point to apologize with him by something which not sure i made him sad or frustated with me, due part of the fault was thanks to the timing of Krishty releasing the full bundle of the AC3 models when i asked his help before to try reversing the R-101 based on the documentation, is something that happens as is a common rule of internet that you can't control the timing if someone release the same thing first and with more advantages
This never ceases to amaze me: A 17-year old game and two persons extracting it almost exactly at the same time. Yeah, I had no clue.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten