This repository has been archived on 2026-05-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
gcmbrowser/gcmbrowser.vtg

42 lines
88 KiB
Plaintext
Raw Normal View History

2026-05-18 12:36:54 -04:00
VSDB<EFBFBD> `'TAG_DATABASE_9.0`<00> P <00><00><><EFBFBD><EFBFBD>@<00><><EFBFBD><EFBFBD>`<00><00><><EFBFBD><EFBFBD><00>`<1B> P <13>
union @ @ class @
@enum @ @enumc
@@struct @@gvar@@typedef@@define@@proto@<00><><EFBFBD><EFBFBD>proc`@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><01><><EFBFBD><EFBFBD>dts<-@dts<1@rts<п<><D0BF>inu< @cev<Կ<><D4BF>lppaf@lppa<70>@aeraV@ogran@toobT@etyb@nuocr@etadt@ubedo@ubedd@ubeda@ubedk@rtne<6E>@rtneu@elif~@elif|@manf<6E>@manf{@tsf<73>@emag_@emag`@emagc@mcgy@_mcg;@_mcgS@_mcgH@_mcgQ@_mcgR@_mcgO@_mcgv@_mcg9@_mcgB@_mcg8@_mcgA@_mcg>@_mcgC@_mcgE@_mcg<@_mcg3@_mcg=@_mcg?@_mcgG@_mcgF@_mcg:@_mcgJ@_mcgN@_mcgK@_mcg@@_mcgI@_mcgD@_mcgM@_mcge@_mcgs@_mcg<63>@_mcgL@_mcgU@_mcg<63>@_mcg4@cmcg@cmcg@emcg<63>@emcg)@emcg<63>@emcg @fmcg<63>@fmcg@gmcg@gmcg@gmcgk<67><6B><EFBFBD>gmcg@gmcg<63>@gmcg%@gmcg<63>@gmcg'@gmcg<63>@gmcg&@gmcg<63>@gmcg@gmcg<63>@gmcg*@imcg<63>@imcg"@pmcg]@pmcgX@pmcg^@pmcg@pmcg@pmcg<63>@pmcg#@pmcg<63>@pmcg@pmcg<63>@pmcg@wmcg @wmcg@zmcg!@dncg7@dncg.@dncg5@dncg6@daeh<65>@daeh<65>@gbil@igamb@niam @sxam<61>@emanW@deen@sffoY@sffo<66>@mmisl@ezisZ@ezisw@ezisj@irts<74>@irts@irts<74>@cartp@cartm@iartx@epyt[@gasu@resuh@resug@
:,<1E><1E><1D><1D><1D><1D><1D>\<1D>riD6(<1D><1D><1C><1C><1C><1C><1C>~v`G;%<1C><1A><1B><1B><1B><1B>v[M.<1B><1A><1A><1A><1A><19>zcE5 <1A><19><19><19><19><19><19><19><19><18>tm]M=4!
<19><18><18><18><18>
<18><18><18><18><18><18>wk`H<2)=<14><17><17><17><17><17><17><17><17><17><17>xob[G&<14><13><13><13><13><13><13><13><13><13>nf^SM>2(<13><12><12><12><12><12><12><12><12>\<12><12>pI3<12><11><11><11>c<11><11>z H1<11><10><10><10>5<10>oT<10><10><0F>l<0F><0F>}<0F>QH?4+"<0F><0E><0E><0E><0E><0E><0E><0E> <0A>{dSD9+ <0E> <0A> <0A> <0A> <0A> <0A> <0A> <0C>  o [ O 8 , $  <0A> <0C> <0C> <0C> <0C> 
<EFBFBD> <0C> <0C> <0C> <0C> w j [ R I @ /   <0C> 
<EFBFBD> <09> <09> <09> gcmExplodegcmGetFileByFnumgcmGetFileByNamegcmGetFileByOffset desttj<><6A><EFBFBD><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><01><02><03><04><05><06><07><08> <09>
<EFBFBD> <0B> <0C> <0A><0E><0F><10><11><12><13><14><15><16><17><18><19><1A><1B><1C><1E><1F> <20>!<21>gcmGetFullFileNamegcmExtractFilegcmFreeStringTablegcmPrintFile file FILE fnumgcmGetFile gcmPrintwhichdatagcmPrintData data gcmname gcmInitgcmGetFSTEntryType
fnamefst headInf headGCMstringtable entries vectorstd maxsizestringtable_offset GCM_FSTstringtable_offfile_lengthfile_offsetfname_offsetGCM_FSTEntryapploadertrailersize
entry dateverGCM_ApploaderInfocountrycodetracksizetracklocationdebugflag argoffsimmemsizedebugmonsizeGCM_DiskHeaderInfo userlen userpos bootfiledebugmonaddr debugmon gamenamemagicwordgamemaker gamecodeGCM_DiskHeaderGCMPieces GCMPiece type size offset name areaGCM_FST_STRINGTABLEOFFGCM_FST_ROOTGCM_APPLOADER_BINARYGCM_APPLOADER_TRAILERSIZEGCM_APPLOADER_SIZEGCM_APPLOADER_ENTRYGCM_APPLOADER_VERSIONGCM_DHEADINF_COUNTRYCODEGCM_DHEADINF_TRACKSIZEGCM_DHEADINF_TRACKLOCATIONGCM_DHEADINF_DEBUGFLAGGCM_DHEADINF_ARGOFFSETGCM_DHEADINF_SIMMEMSIZEGCM_DHEADINF_DEBUGMONSIZEGCM_DHEAD_USERLENGCM_DHEAD_USERPOSGCM_DHEAD_FSTMAXSIZEGCM_DHEAD_FSTSIZEGCM_DHEAD_FSTGCM_DHEAD_BOOTFILEGCM_DHEAD_DEBUGMONADDRGCM_DHEAD_DEBUGMONGCM_DHEAD_GAMENAMEGCM_DHEAD_DVDMAGICGCM_DHEAD_GAMEMAKERGCM_DHEAD_GAMECODEGCM_APPLOADERGCM_DHEADINFGCM_DHEADGCM_MAX_PIECESGCNDVD_FNAME_LENGTHGCNDVD_SECTORSIZEGCNDVD_SECTORSGCNDVD_MAGICNUMLIBGCMVERSION<stdlib.h><string.h><stdio.h> <vector>
depthfn fnames vectorstd finishedgcmExplode system retcode strcat
fputc outfileexecstringb endposposoutgcmExtractFile strcmp strtoknextStart currname newnamegcmGetFileByName done currgcmGetFileByOffsetgcmGetFileByFnum
clear stringgcmGetFullFileName
tbuff<66><00><><11><12><13><14><15><16><17><18><19><1A><1B><1C><1D><1E><1F> <20>!<21>"<22>#<23>$<24>%<25>&<26>'<27>(<28>)<29>*<2A>+<2B>,<2C>-<2D>.<2E>/<2F>0<>1<>2<>3<>4<>5<>6<>7<>8<>9<>:<3A>;<3B><<3C>=<3D>><3E>?<3F>@<40>A<>B<>C<>D<>E<>F<>G<>H<>I<>J<>K<>L<>M<>N<>O<>P<>Q<>R<>S<>T<>U<>V<>W<>X<>Y<>Z<>[<5B>\<5C>]<5D>^<5E>_<>`<60>a<>b<>c<>d<>e<>f<>g<>h<>i<>j<>k<>l<>m<>n<>o<>p<>q<>r<>s<>t<>u<>v<>w<>x<>y<>z<>{<7B>|<7C>}<7D>~<7E><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><><00><>ml gcmPrint exitgcmFreeStringTable
fname fclose
fopengcm gcmname gcmInit argoffgcmZeroOut strcpy strlen realloc
fgetc memset
ftell free
front strdestGCNDVD_FNAME_LENGTH malloc tmpbuffmaxentries oldposji root newEntrypush_back feof rewindtmp
fgetsGCM_APPLOADERGCM_DHEADINFGCM_DHEAD areaGCM_MAX_PIECES destfile_lengthfile_offsetstringtableat entriesfgcmPrintFile name printf theData typeptrgcmPrintDatastringtable_offsetGCM_FST_STRINGTABLEOFFGCM_FST_ROOTGCM_APPLOADER_BINARYtrailersizeGCM_APPLOADER_TRAILERSIZEGCM_APPLOADER_SIZEGCM_APPLOADER_ENTRY dateverapploaderGCM_APPLOADER_VERSIONcountrycodeGCM_DHEADINF_COUNTRYCODEtracksizeGCM_DHEADINF_TRACKSIZEtracklocationGCM_DHEADINF_TRACKLOCATIONdebugflagGCM_DHEADINF_DEBUGFLAGGCM_DHEADINF_ARGOFFSETsimmemsizeGCM_DHEADINF_SIMMEMSIZEdebugmonsize headInfGCM_DHEADINF_DEBUGMONSIZE userlenGCM_DHEAD_USERLEN userposGCM_DHEAD_USERPOS maxsizeGCM_DHEAD_FSTMAXSIZEGCM_DHEAD_FSTSIZEfstGCM_DHEAD_FST bootfileGCM_DHEAD_BOOTFILEdebugmonaddrGCM_DHEAD_DEBUGMONADDR debugmonGCM_DHEAD_DEBUGMON gamenameGCM_DHEAD_GAMENAMEmagicwordgamemakerGCM_DHEAD_GAMEMAKER gamecode headGCM_DHEAD_GAMECODE NULL toPrintfname_offsetgcmGetFSTEntryTypenLongNumber byteSwapGCNDVD_MAGICNUM size
fread offsetGCM_DHEAD_DVDMAGICGCMPieces
fseek
magicgcmCheckMagic fnum
entryGCM_FSTEntrygcmGetFilegcmGetDatawhichdatagcmWhichData file FILE dataGCMgcmPopulateFSTneedByteSwap <vector><unistd.h>"gcminfo.h"gcmFreeStringTablegcmExplode gcmInit <0C><04><05><06><07><08> <09>
<EFBFBD> <0B> <0C> <0A><0F><10> theGCMGCM printf argv argc main
usage<string.h>"gcminfo.h"@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><04>mcg"<11>dts<<3C><>dts<<3C><>rts<<05>rts<<3C><>inu<<12>cev<<14>cev<<3C><>lppaG<61>lppa<70><61>aerap<61>aera<72><61>cgra <09>ogra<72><61>ogra<72><61>vgra<06>taj<61>b<><62>toob><3E>toob<6F><62>etyb'<27>aelc<6C><63>nuocU<63>nuoc<6F><63>rruc<75><63>rruc<75><63>atad<18>atad<11>etadX<64>etad<61><64>ubedO<64>ubed<65><64>ubed:<3A>ubed<65><64>ubed<<3C>ubed<65><64>ubedJ<64>ubed<65><64>tped<65><64>tsedn<64>tsed <0A>enod<6F><64>pdne<6E><65>rtnei<65>rtne<07>rtne <20>rtne<6E><65>cexe<78><65>tixe<78><65>fh<66>olcf<63><66>foefg<66>tegfw<66>tegft<66>elif<19>elif<17>elif<1A>elif<18>elifm<66>elif<00>elifl<66>elif<69><66>inif<69><66>nf<6E><66>manf<6E><66>manf<6E><66>manf.<2E>manf<6E><66>manf<6E><66>munf!<21>munf<16>epof<6F><66>tupf<70><66>aerf(<28>eerf<72><66>norf<72><66>eesf$<24>tsf@<40>tsf <0C>letf<74><66>emag/<2F>emag<61><67>emag5<67>emag<61><67>emag8<67>emag<61><67>mcg <0C>mcg<13>mcg <09>mcg<63><67>_mcgs<67>_mcg<63><67>_mcg]<5D>_mcg<63><67>_mcgY<67>_mcg<63><67>_mcgZ<67>_mcg<63><67>_mcg[<5B>_mcg<63><67>_mcgV<67>_mcg<63><67>_mcg<63><67>_mcgq<67>_mcg<63><67>_mcg=<3D>_mcg<63><67>_mcg9<67>_mcg<63><67>_mcg;<3B>_mcg<63><67>_mcg&<26>_mcg<63><67>_mcg?<3F>_mcg<63><67>_mcgB<67>_mcg<63><67>_mcgA<67>_mcg<63><67>_mcg1<67>_mcg<63><67>_mcg4<67>_mcg<63><67>_mcg3<67>_mcg<63><67>_mcgF<67>_mcg<63><67>_mcgD<67>_mcg<63><67>_mcgr<67>_mcg<63><67>_mcgM<67>_mcg<63><67>_mcgT<67>_mcg<63><67>_mcgN<67>_mcg<63><67>_mcgH<67>_mcg<63><67>_mcgK<67>_mcg<63><67>_mcgP<67>_mcg<63><67>_mcgR<67>_mcg<63><67>_mcg<63><67>_mcg<63><67>_mcg<02>_mcg^<5E>_mcg<63><67>_mcg_<67>_mcg<63><67>_mcg<1B>_mcg<63><67>_mcgo<67>_mcg<63><67>cmcg"<22>emcg<0F>emcg<63><67>emcg!<21>emcg<63><67>emcg<1B>fmcg<10>fmcg<63><67>fmcg<1A>gmcg<1D>gmcg<1E>gmcg<15>gmcg<63><67>gmcg <20>gmcg<63><67>gmcg<1F>gmcg<63><67>gmcg<1E>gmcg-<2D>gmcg<0E>gmcg<63><67>gmcg<1C>imcg
<EFBFBD>imcg<63><67>imcg<0F>nmcg<63><67>nmcg<10>pmcg<63><67>pmcg%<25>pmcg<63><67>pmcg<16>pmcg<63><67>pmcg<14>pmcga<67>pmcg<12>pmcgW<67>pmcg<19>wmcg<17>zmcg<63><67>dncg<63><67>dncg<63><67>dncg*<2A>dncg<63><67>dncg<63><67>dncg<63><67>daeh2<68>daeh
<EFBFBD>daehI<68>daeh <0B>i{<7B>j|<7C>gbil<69><6C>igam<1F>igam6<6D>igam<61><6D>niam<08>llam<61><6D>exam~<7E>sxamC<6D>sxam<04>smem<65><6D>lm<6C><6D>emanf<6E>eman<61><6E>deen<15>eweny<6E>nwen<65><6E>txen<65><6E>noln,<2C>llun0<6E>sffo#<23>sffo<66><6F>pdlo}<7D>tuo<75><6F>ftuo<75><6F>sop<6F><70>nirp <0B>nirpe<70>rtpb<70>hsupx<70>laer<65><72>cter<65><72>iwerv<72>toorz<72>mmisL<73>mmis<69><73>ezis)<29>ezis<69><73>dts<74><73>dts<05>crts<74><73>crts<74><73>crts<74><73>drts<74><73>irts<74><73>irtsk<73>irts<08>irts<01>irts`<60>irts<03>lrts<74><73>trts<74><73>tsys<79><73>fubt<62><74>dehtd<74>geht <0A>pmtu<74>bpmt<74>rpot+<2B>cartQ<74>cart<72><74>cartS<74>cart<72><74>iart\<5C>iart<72><74>epytc<74>epyt<79><74>gasu<07>resu7<75>resu<73><75>resuE<75>resu<73><75>tcev<65><76>tcev<06>cihw<1C>cihw<13>
<EFBFBD> <0A> * <0A> <0A> p L  <0A> <0C> <0C> <0C> ~ Z <0C> <0C> <0B> <0B> d <  <0B>
<EFBFBD>
<EFBFBD> <09>
o
9

<EFBFBD> <09> n <09>>  <09><08><08>M<08><07><06>J<07><06>W<06>, <00>gcmExplodeintGCM*data<12> @@@@@@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@tf<>@@+@-@.@/@1@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@Q@R@S@T@U@V@W@X@Y@Z@[@]@^@_@`@a@b@c@d@e@f@g@h@j@k@l@m@n@o@p@r@s@t@u@v@w@x@y@{@|@~@@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@<00>@D&<00>gcmGetFileByFnumGCM_FSTEntryGCM*data,int fnum<&<00>gcmGetFileByNameintGCM*data,char*name?(<00>gcmGetFileByOffsetintGCM*data,int offsetG(<00>gcmGetFullFileNameintGCM*data,int fnum,char*dest9$<00>gcmExtractFileintGCM*data,int fnum4(<00>gcmFreeStringTableintGCM*data7"<00>gcmPrintFileintGCM*data,int fnum<02>@@R <00>gcmGetFileintGCM*data,GCM_FSTEntry*entry,int fnum,FILE*file*<00>gcmPrintintGCM*data<"<00>gcmPrintDataintint whichdata,GCM*data6<00>gcmInitintchar*gcmname,GCM*data>(<00>gcmGetFSTEntryTypeintGCM_FSTEntry*entry<00>GCM<05><>@<00>@<00>@<00>@<00>@@ <00>fnamechar* <00>fstGCM_FST0<00>apploaderGCM_ApploaderInfo/<00>headInfGCM_DiskHeaderInfo(<00>headGCM_DiskHeader<00>GCM_FST3!<00>stringtablestd::vector<char*><06>j@<00>@<00>@<00>@<00>@<00>@6<00>entriesstd::vector<GCM_FSTEntry> <00>maxsizeint+(<00>stringtable_offsetint<00>offsetint<00>sizeint<07>X@e@s@v@y@<00>@<00>@"<00>GCM_FSTEntry(%<00>stringtable_offint$!<00>file_lengthint<04>{@|@~@@$!<00>file_offsetint%"<00>fname_offsetint'<00>GCM_ApploaderInfo<05>f@t@u@w@x@*<00>apploaderchar[0x200]$!<00>trailersizeint<00>sizeint<00>entryint%<00>dateverchar[10](<00>GCM_DiskHeaderInfo$!<00>countrycodeint"<00>tracksizeint<07>k@l@m@n@o@p@r@&#<00>tracklocationint"<00>debugflagint<00>argoffint# <00>simmemsizeint%"<00>debugmonsizeint$xGCM_DiskHeader <09>T@_@`@a@b@c@d@g@h@ <00>userlenint <00>userposint!bootfileint%"~debugmonaddrint!}debugmonint*|gamenamechar[0x03e0]"{magicwordint"zgamemakerint!ygamecodeint)LGCMPiecesGCMPiece[]-@GCMPiecestruct GCMPiece@GCMPiece<05>V@W@Y@Z@[@EtypeintDsizelong CoffsetlongBnamechar*Aareaint.,>GCM_FST_STRINGTAB
@ @@+@-@/@1@ &
<stdlib.h><02>@/@ & <string.h>&<stdio.h><02>@+@&<vector>G(LgcmGetFullFileNameintGCM*data,int fnum,char*dest, CgcmExplodeintGCM*data9$<00>gcmExtractFileintGCM*data,int fnum<14> @@@@@@@@@@@ @!@"@#@%@&@'@)@*@<1C>@
@ @ @@@@@@@@@@@@@@@@ @!@"@#@%@&@'@)@*@<&<00>gcmGetFileByNameintGCM*data,char*name?(<00>gcmGetFileByOffsetintGCM*data,int offsetD&<00>gcmGetFileByFnumGCM_FSTEntryGCM*data,int fnum4(<00>gcmFreeStringTableintGCM*data*<00>gcmPrintintGCM*data6ZgcmInitintchar*gcmname,GCM*data, @gcmZeroOutintGCM*data:$<00>gcmPopulateFSTintGCM*data,FILE*fileR <00>gcmGetFileintGCM*data,GCM_FSTEntry*entry,int fnum,FILE*fileD <00>gcmGetDataintint whichdata,GCM*data,FILE*file7"<00>gcmPrintFileintGCM*data,int fnum<"<00>gcmPrintDataintint whichdata,GCM*data>":gcmWhichDatavoid*int whichdata,GCM*data>(3gcmGetFSTEntryTypeintGCM_FSTEntry*entry1+byteSwapintint nLongNumber0#gcmCheckMagicintFILE*file0#gcmCheckMagicintFILE*fileR gcmGetFileintGCM*data,GCM_FSTEntry*entry,int fnum,FILE*fileD gcmGetDataintint whichdata,GCM*data,FILE*file>" gcmWhichDatavoid*int whichdata,GCM*data:$ gcmPopulateFSTintGCM*data,FILE*file<03>@@^@%"needByteSwapint&<vector> &<unistd.h><02>@
@!&"gcminfo.h"1mainintint argc,char**argv&
usageconst char*<04>@@@ @ &<string.h>!&"gcminfo.h"