Building a Set.BAS compiler

For those of us who are curious and like to poke around in the game's data files and scripts as well as glitching. Caters to anything from unit/building stats to level data to telling how to glitch and stories of game errors.
Post Reply
GoldStar611
BlackSect Creator
BlackSect Creator
Posts: 861
Joined: Sun Dec 02, 2007 1:16 am
Location: USA
Contact:

Building a Set.BAS compiler

Post by GoldStar611 » Thu Jun 12, 2014 2:37 am

Screenshot.png
Screenshot of latest unstable
Screenshot.png (209.96 KiB) Viewed 577 times

Current Progress:
27 Nov 2016
Greatly increased the search function. It is still case sensitive but now does partial matches. (i.e. searching for names of files works now)


22/23 Nov 2016
Quickly added Replace FORM function
Quickly added a color VBMP viewer

15 Jan 2016
Update to fix the Goto function (Pressing [Ctrl]+[G] then typing MC2 /OBJT 0/BASE/KIDS/OBJT 2/BASE/KIDS will take you to the ground resources)
Added some experimental functionality to extract the EMRS, Vehicle, Building and Ground resources into the appropriate folders (warning: generates >1000 files!)

20 Oct 2015
Implemented Search [Ctrl+F] and Search Next [F3] functions

8 July 2015
Implemented chunk rename function [F2]

7 July 2015
Updated bastools GUI to 7-7-2014. Minor feature updates

3 July 2015
Uploaded alpha of bastools GUI

26 June 2015
A beta version of bastools.py library is available to decompile, edit and recompile SET.BAS files!!!

17 June 2015
A SET.BAS compiler has been completed!! It is in very early stage and should only be suitable for UA files (not IFF in general).
I have done binary comparisons between SET1 and SET 2 and the files are identical. So SET.BAS -> XML -> SET.BAS is now working!!
I am waiting on some updated scripts from one of our users ;)
(removing the binary files as I have somewhat abandoned phase 1 at this moment)

16 June 2015
The Python Script has been developed to enumerate all sections in the SET.BAS file and output the data into a plain text XML file. Data is encoded as hexidecimal, but now allows inspection to the general public!
Binary files may be obsolete!

11 June 2015
Using a custom Python script, ALL sections of SET.BAS have been manually extracted into binary files!! Woo hoo!
Texture mapping files can, and should, be extracted further. Possibly into a folder structure of some type. I will be analyzing them and determing the best course of action.

What is inside a SET.BAS file??
SET.BAS contains 4 sections, with a few additional things of course.
  • 1) First section contains
    • a) Skeleton wireframes
      b) Bitmap texture data
      c) Animation texture data
    2) Second section contains
    • texture mappings, animation timing, mapping, etc of units, vehicles, particles, missles, etc
    3) Third section contains
    • same as above for Buildings
    4) Last section contains
    • same but for ground textures
Updated Phase 1 and 2 * COMPLETE!!!
A python library will be developed to
Import SET.BAS binary files
Import SET.XML text files
Export SET.BAS binary files
Export SET.XML text files

Phase 3: Automation * In Progress
A single program would be developed to automate the tasks of extracting, converting to text, converting to binary and compiling a SET.BAS file.

Your thoughts?
Attachments
BasToolsGUI_27.11.2016.zip
Latest unstable release of BasToolsGUI
(25.89 KiB) Downloaded 26 times
Image
Image

User avatar
MarioSDU6/SDU7
Slime Lord
Slime Lord
Posts: 424
Joined: Sat Oct 09, 2010 3:12 am
Location: Panama City, Latin America

Re: Building a Set.BAS compiler

Post by MarioSDU6/SDU7 » Fri Jul 11, 2014 1:32 am

Someday when the programs get more complete, I'll try to use them, to see if I can somehow make new models (some models for the cities) and then make the new vehicles use them (I dunno if this is possible).

This comes from the lhe visproto.lst (from the SCRIPTS folder of any of the SET folders)

Code: Select all

VP_BRGR1.base  ;  00 QUADER     source: MODELING/_MYKONIER/MYKO1
VPfBRGR1.base  ;  01 |                                        |
VPdBRGR1.base  ;  02 |                                        | upd.:
VPwBRGR1.base  ;  03 |                                        | 25-Jun-98
VPxBRGR1.base  ;  04 |                                        | xpack:
VPgBRGR1.base  ;  05 +----------------------------------------+ 21-Okt-98
VP_BRGR2.base  ;  06 WÜRFEL     source: MODELING/_MYKONIER/MYKO1
VPfBRGR2.base  ;  07 |                                        |
VPdBRGR2.base  ;  08 |                                        |
VPwBRGR2.base  ;  09 |                                        |
VPxBRGR2.base  ;  10 |                                        |
VPgBRGR2.base  ;  11 +----------------------------------------+
VP_HUBI1.base  ;  12 GHARGOIL   source: MODELING/_KYTERNESER/GHARGOIL
VPfHUBI1.base  ;  13 |                     |
VPdHUBI1.base  ;  14 |                     |
VPwHUBI1.base  ;  15 |                     |
VPxHUBI1.base  ;  16 |                     |
VPgHUBI1.base  ;  17 +---------------------+
VP_PANZ1.base  ;  18 EISENHANS  source: MODELING/_TAERKASTEN/PANZER1
VPfPANZ1.base  ;  19 |                                      |
VPdPANZ1.base  ;  90 |                                      |
VPwPANZ1.base  ;  21 |                                      |
dummy.base     ;  22 S T A N D A R D D U M M Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
VPgPANZ1.base  ;  23 +--------------------------------------+
VP_HUBI2.base  ;  24 LAWNMOWER  source: MODELING/_USER/LAWNMOWER
VPfHUBI2.base  ;  25 |                     |
VPdHUBI2.base  ;  26 | (50 Polygone !)     |
VPwHUBI2.base  ;  27 |                     |
VPxHUBI2.base  ;  28 |                     |
VPgHUBI2.base  ;  29 +---------------------+
VP_SIMPL.base  ;  30 Wiesel----------------------------------------+ User
VPfSIMPL.base  ;  31 |                                             |
dummy.base     ;  32 |                                             |
VPwSIMPL.base  ;  33 |                                             |
dummy.base     ;  34 S T A N D A R D D U M M Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
VPgSIMPL.base  ;  35 +---------------------------------------------+
VP_TAERO.base  ;  36 TAERKASTENROBO
dummy.base     ;  37
dummy.base     ;  38 S T A N D A R D D U M M Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
dummy.base     ;  39 DEAD
VP_FLAK2.base  ;  40 Flak normal
VPfFLAK2.base  ;  41 Flak schießt
VP_SATT1.base  ;  42 SCOUT      source: MODELING/_USER/SATELLIT
dummy.base     ;  43 |                                             |
VPdSATT1.base  ;  44 |                                             |
dummy.base     ;  45 |                                             |
VPxSATT1.base  ;  46 |                                             |
VPgSATT1.base  ;  47 +---------------------------------------------+
VP_FLSML.base  ;  48 KNUDDEL    source: MODELING/_USER/SIMPLFLUGIE
VPfFLSML.base  ;  49 |                                             |
VPdFLSML.base  ;  50 |                                             |
VPwFLSML.base  ;  51 |                                             |
VPxFLSML.base  ;  52 |                                             |
VPgFLSML.base  ;  53 +---------------------------------------------+
VP_FLUG1.base  ;  54 KYTFLUGI   source: MODELING/_KYTERNESER/KYT_FLUGIE
VPfFLUG1.base  ;  55 |                                             |
VPdFLUG1.base  ;  56 |                                             |
dummy.base     ;  57 |                                             |
VPxFLUG1.base  ;  58 |                                             |
VPgFLUG1.base  ;  59 +---------------------------------------------+
VP_GLID1.base  ;  60 WARHAMMER  source: MODELING/_USER/SIMPLFLUGIE
VPfGLID1.base  ;  61 |                                             |
VPdGLID1.base  ;  62 |                                             |
VPwGLID1.base  ;  63 |                                             |
VPxGLID1.base  ;  64 |                                             |
VPgGLID1.base  ;  65 +---------------------------------------------+
VP_RAKT1.base  ;  66 RAKETE     source:  MODELING/__GESCHOSSE/USE_THAT
OP_EXPL1.base  ;  67 Explosion  source:  MODELING/__GESCHOSSE/USE_THAT
VP_GRAN1.base  ;  68 GRANATE    source:  MODELING/__GESCHOSSE/GRANATEN
OP_EXPL3.base  ;  69 EXPLOSION  source:  MODELING/__GESCHOSSE/USE_THAT
OP_EXPL2.base  ;  70 EXPLOSION  source:  MODELING/__GESCHOSSE/USE_THAT
VP_JET1.base   ;  71 ERAZER     source:  MODELING/_USER/ERAZER
VPdJET1.base   ;  72 |                                     |
VPgJET1.base   ;  73 |                                     |
VPwJET1.base   ;  74 |                                     |
VPxJET1.base   ;  75 |                                     |
VPfJET1.base   ;  76 +-------------------------------------+
VP_GLID2.base  ;  77 PHANTOM    source:  MODELING/_TAERKASTEN/Phantom
VPdGLID2.base  ;  78 |                                             |
VPgGLID2.base  ;  79 |                                             |
VPwGLID2.base  ;  80 |                                             |
VPxGLID2.base  ;  81 |                                             |
VPfGLID2.base  ;  82 +---------------------------------------------+
VP_WASP.base   ;  83 WASP       source:  MODELING/_USER/WASP
VPdWASP.base   ;  84 |                                             |
VPgWASP.base   ;  85 |                                             |
VPwWASP.base   ;  86 |                                             |
VPxWASP.base   ;  87 |                                             |
VPfWASP.base   ;  88 +---------------------------------------------+
VP_PANZ2.base  ;  89 JAGUAR     source:  MODELING/_USER/PANZRS
VPdPANZ2.base  ;  90 |                                             |
VPfPANZ2.base  ;  91 |                                             |
VPwPANZ2.base  ;  92 |                                             |
dummy.base     ;  93 S T A N D A R D D U M M Y
VPgPANZ2.base  ;  94 +---------------------------------------------+
VP_FLAK1.base  ;  95 +- Eine erste Flak ---------------------------+
VPfFLAK1.base  ;  96 |                                             |
VPgFLAK1.base  ;  97 +---------------------------------------------+
VP_RAKT2.base  ;  98            source:  MODELING/__GESCHOSSE/USE_THAT
OP_EIN1.base   ;  99  MGEINSCHUSS
dummy.base     ; 100 S T A N D A R D D U M M Y
VP_KPAN1.base  ; 101 TEKH       source:  MODELING/_KYTERNESER/KYT_Panzer
VPfKPAN1.base  ; 102 |                                            |
VPwKPAN1.base  ; 103 |                                            |
VPgKPAN1.base  ; 104 |                                            |
VPdKPAN1.base  ; 105 +--------------------------------------------+
VP_HUBI3.base  ; 106 LAURIN     source:  MODELING/_USER/LAURIN
VPdHUBI3.base  ; 107 |                                            |
VPfHUBI3.base  ; 108 |                                            |
VPwHUBI3.base  ; 109 |                                            |
VPxHUBI3.base  ; 110 |                                            |
VPgHUBI3.base  ; 111 +--------------------------------------------+
OP_EXPL4.base  ; 112 Kleine Explosion    source:  MODELING/__GESCHOSSE/USE_THAT
VP_RAKT3.base  ; 113 RAKETE              source:  MODELING/__GESCHOSSE/USE_THAT
VP_RAKT4.base  ; 114 RAKETE (LAWNMOVER)  source:  MODELING/__GESCHOSSE/USE_THAT
VP_ROBO.base   ; 115 +--------------USER-ROBO---------------------+
VP_GIGNT.base  ; 116 GIGANT              source:  MODELING/_KYTERNESER/GIGANT
VPdGIGNT.base  ; 117 |                                            |
VPfGIGNT.base  ; 118 |                                            |
VPwGIGNT.base  ; 119 |                                            |
VPxGIGNT.base  ; 129 |                                            |
VPgGIGNT.base  ; 121 +--------------------------------------------+
VP_LASR1.base  ; 122 LASERSCHUSS    (einfacher Blitz)
VP_LASEX.base  ; 123 LASEREXPLOSION (einfacher Laser-Einschuß)
VP_LASR2.base  ; 124 LASERSCHUSS    (breit)
VP_LASEY.base  ; 125 LASEREXPLOSION (BlitzGegrissel)
VP_KROBO.base  ; 126 KYTROBO
VP_BRGRO.base  ; 127 MYKOROBO            source:  MODELING/_MYKONIER/MYKOROBO
dummy.base     ; 128
VPdBRGRO.base  ; 129 EXPLOSION           source:  MODELING/_MYKONIER/MYKOROBO
VP_GHTT.base   ; 130 Bruch-Wolke         source:  MODELING/__MISC/BRUCH
VP_KLEIN.base  ; 131 Kleiner Brocken     source:  MODELING/__MISC/BRUCH
VP_MITTL.base  ; 132 Mittlerer Brocken   source:  MODELING/__MISC/BRUCH
VP_LFLAK.base  ; 133 Leuchtstrahl-Flak
VPfLFLAK.base  ; 134 Flak mit Leuchtstrahl schießend
VP_MFLAK.base  ; 135 MG-Flak klein
VPfMFLAK.base  ; 136
VPx.base       ; 137 Explosion für Flaks
VP_GLOW.base   ; 138 Glow/SmokeParticle  source:  MODELING/__MISC/BRUCH
VP_Xnew1.base  ; 139 EXPLOSION           source:  MODELING/__MISC/BRUCH
VP_Xnew2.base  ; 140 EXPLOSION small     source:  MODELING/__MISC/BRUCH
VP_Xnew3.base  ; 141 EXPLOSION large     source:  MODELING/__MISC/BRUCH
VP_SULG1.base  ; 142 SULGOGARE
VPxSULG1.base  ; 143 SULGOGARE  explodierend...
VP_GRUEN.base  ; 144 SULGOGAREN-SCHUSS
VP_XGRUN.base  ; 145 SULGOGAREN-SCHUSS Explosion
VP_PANZ3.base  ; 146 TIGER               source:  MODELING/_USER/TIGER
VPfPANZ3.base  ; 147 |                                  |
VPwPANZ3.base  ; 148 |                                  |
VPgPANZ3.base  ; 149 |                                  |
VPdPANZ3.base  ; 150 +----------------------------------+
VP_RADA.base   ; 151 Radarschuessel   ---+
VPgRADA.base   ; 152     +---------------+
VP_SATT2.base  ; 153 BRONSTEIJN          source:  MODELING/_TAERKASTEN/BRONSTEIJN
VPdSATT2.base  ; 154 |                          |
VPxSATT2.base  ; 155 |                          |
VPgSATT2.base  ; 156 +--------------------------+
VP_BLUSH.base  ; 157 VIERECKIGER LASER
VP_RT.base     ; 158 PICO                source:  MODELING/_USER/PICO
VPgRT.base     ; 159 |                                            |
VPdRT.base     ; 160 |                                            |
VP_RTX.base    ; 161 <-zugehörige-RAKETE source:  MODELING/__GESCHOSSE/GRANATEN
VPwRT.base     ; 162 +--------------------------------------------+
VP_TFLUG.base  ; 163 MNIOSJETZ           source:  MODELING/_TAERKASTEN/PANZER1
VPfTFLUG.base  ; 164 DoppelDecker           |
VPwTFLUG.base  ; 165 |                      |
VPxTFLUG.base  ; 166 |                      |
VPdTFLUG.base  ; 167 |                      |
VPgTFLUG.base  ; 168 +----------------------+
VP_BUGGY.base  ; 169 BUDJONOW            source:  MODELING/_USER/BUDJONOW
VPfBUGGY.base  ; 170 |                                     |
dummy.base     ; 171 |                                     |
VPgBUGGY.base  ; 172 +-------------------------------------+
VP_BOMBA.base  ; 173 MARAUDER            source:  MODELING/_USER/ERAZER
VPxBOMBA.base  ; 174 |                                              |
VPgBOMBA.base  ; 175 |                                              |
VPwBOMBA.base  ; 176 +----------------------------------------------+
VP_SULG2.base  ; 177 Miniatursulgogare
VPfSULG2.base  ; 178 |                           |
VPwSULG2.base  ; 179 |                           |
VPxSULG2.base  ; 180 |                           |
VPdSULG2.base  ; 181 |                           |
VPgSULG2.base  ; 182 +---------------------------+
Vp_MFLSH.base  ; 183 MYKONIER-FLAK (nur dünner Lichtstrahl)
VP_BRGR3.base  ; 184 +--- MiniMYKONIER --------+
VPDBRGR3.base  ; 185 |                         |
dummy.base     ; 186 |                         |
VPWBRGR3.base  ; 187 |                         |
VPXBRGR3.base  ; 188 +-------------------------+
VPXBSHOT.base  ; 189 EXPLO 3er MYKOSCHUSS      source: MODELING/_MYKONIER/MYKO1
VP_BSHOT.base  ; 190 3er MYKOSCHUSS            source: MODELING/_MYKONIER/MYKO1
OP_EIN2.base   ; 191 MG-Einschuss / bläulich
VP_X2.base     ; 192 BIG EXPLOSION             source: MODELING/__MISC/BRUCH
VP_HILLB.base  ; 193 mini-BruchBrocken
VP_KYTIE.base  ; 194 Kyterneser-Bruch
VP_STCKN.base  ; 195 Stecken/Bruch
VP_D_AUS.base  ; 196 DUSTERWOLKE               source: MODELING/_TAERKASTEN/PANZER1
VP_KSATT.base  ; 197 Kyterneser-Sattelit       source: MODELING/_KYTERNESER/GHARGOIL
VPxKSATT.base  ; 198 |                                        |
VPgKSATT.base  ; 199 +----------------------------------------+
VP_BRGR4.base  ; 200 MYK-SATT. alles andere: BRGR2 !
VP_TSERP.base  ; 201 SERP----------------------------------+ TAER
VPxTSERP.base  ; 202   |                                   |
VPgTSERP.base  ; 203   +-----------------------------------+
VP_JUBEL.base  ; 204 SchnellBröckchen
VPwTSERP.base  ; 205
VP_XPILZ.base  ; 206 "ATOMPILZ"                source: MODELING/__MISC/BRUCH
VP_MORSR.base  ; 207 BodenONLY-Flak-----+
VPFMORSR.base  ; 208  ------------------+
VP_NFOX.base   ; 209 FOX                       source: MODELING/_USER/NEWFOX
VPwNFOX.base   ; 210 |                                                 |
VPfNFOX.base   ; 211 +-------------------------------------------------+
VP_SULG5.base  ; 212 Versuch eines weiteren Sulgogarens
VP_SULX1.base  ; 213 Versuch eines speziellen SULG-D-FX
VP_PANZ4.base  ; 214 +------------------ LEONID ------------------+ TAER
VPwPANZ4.base  ; 215 |                                            |
VPfPANZ4.base  ; 216 |                                            |
VPgPANZ4.base  ; 217 +--------------------------------------------+
VP_MIG.base    ; 218 TRICKINA       source:  MODELING/_KYTERNESER/MIG
VPfMIG.base    ; 219 |                                                |
VPwMIG.base    ; 220 |                                                |
VPxMIG.base    ; 221 |                                                |
VPgMIG.base    ; 222 +------------------------------------------------+
VP_BSECT.base  ; 223 B.S. ROBO
VP_RAKT5.base  ; 224 Rakete mit weißem Rauch
OP_R3__1.base  ; 225 +- Roter Ring -+
OP_R3__2.base  ; 226 |              |
OP_R3__3.base  ; 227 +--------------+
OP_RING4.base  ; 228 Wüste Lichtsrahlen !
OP_R___1.base  ; 229 +-  blauer Ring      ------+
OP_R___2.base  ; 230 |     |                    |
OP_R___3.base  ; 231 |     |                    |
OP_R___4.base  ; 232 |     V                    |
OP_R___5.base  ; 233 |    wird transparent      |
OP_R___6.base  ; 234 |                          |
OP_R___7.base  ; 235 +--------------------------+
VP_SPEDY.base  ; 236 SPEEDY --------------------------+ KYT
VPwSPEDY.base  ; 237 |                                |
VPfSPEDY.base  ; 238 |                                |
VPgSPEDY.base  ; 239 +--------------------------------+
VP_KUFO.base   ; 240 Ufo-----------+  KYT
VPwKUFO.base   ; 241 |             |
VPfKUFO.base   ; 242 +-------------+
VP_SATT3.base  ; 243 TAERRADAR        source: MODELING/_TAERKASTEN/BRONSTEIJN
VP_LSRED.base  ; 244 Roter LaserSchuß NORMAL
VP_LSRE2.base  ; 245 Roter LaserSchuß klein
VP_REDIN.base  ; 246 BRONSTEIJNEinschuß source: MODELING/__GESCHOSSE/LASER
VP_LSRE3.base  ; 247 BRONSTEIJN-Schuß
VP_ZEPPL.base  ; 248 +-- ZEPPELIN -----------------------+ TAER
VPgZEPPL.base  ; 249 |                                   |
VPxZEPPL.base  ; 250 +-----------------------------------+
VP_MYKO1.base  ; 251 +---- MYKONIER JÄGER ------+
VPgMYKO1.base  ; 252 +--------------------------+
VP_MYKO3.base  ; 253 MYKONIER BOMBER
OP_HHK1.base   ; 254 +--- SCALEFX - Rote Anmierte EinschußHalbkugel --+
OP_HHK2.base   ; 255 |                                                |
OP_HHK3.base   ; 256 |                                                |
OP_HHK4.base   ; 257 |                                                |
OP_HHK5.base   ; 258 |                                                |
OP_HHK6.base   ; 259 |                                                |
OP_HHK7.base   ; 260 +--------------------- transparentst ------------+
OP_HK1.base    ; 261 +--- SCALEFX - Rote Kugel -----------------------+
OP_HK2.base    ; 262 |                                                |
OP_HK3.base    ; 263 |                                                |
OP_HK4.base    ; 264 |                                                |
OP_HK5.base    ; 265 |                                                |
OP_HK6.base    ; 266 |                                                |
OP_HK7.base    ; 267 +--------------------- transparentst ------------+
VP_HUELS.base  ; 268 MNIOSJETZSCHUSS  source: MODELING/__GESCHOSSE/GRANATEN
dummy.base     ; 269
VP_MYKO2.base  ; 270 Mykonier   SMALL
VP_MYKO4.base  ; 271 Mykonier   HEAVY
VP_HUBI4.base  ; 272 GHARGOIL2
VPgMYKO2.base  ; 273 nachgelieferte Genesis-Modelle--------------
VPgMYKO3.base  ; 274                  |
VPgMYKO4.base  ; 275                  |
VPgBRGR3.base  ; 276                  |
VPGSATT3.base  ; 277 -----------------+--------------------------
VPwHUBI4.base  ; 278 GHARGOIL2 -----+
VPfHUBI4.base  ; 279   +------------+
VPgNFOX.base   ; 280 GENESIS NEW FOX Replacement
VP_WOLK1.base  ; 281 Neuer ScaleFxRing source: MODELING/__MISC/FINALFANTASY
VP_WOLK2.base  ; 282                                            |
VP_WOLK3.base  ; 283                                        ----+
VP_RAKT6.base  ; 284 MiniMized Rakete  source: MODELING/__GESCHOSSE/USE_THAT
VP_GLIDW.base  ; 285 WARHAMMERWEAPNO   source: MODELING/__GESCHOSSE/FINALFX
VP_XOLK1.base  ; 286 * WUSCHELRÖHRE      source: MODELING/__MISC/FINALFANTASY
VP_XOLK2.base  ; 287 *                                              |
VP_XOLK3.base  ; 288 *                                              |
VP_SMAL1.base  ; 289 * Dünner Ring                                  |
VP_SMAL2.base  ; 290                                                |
VP_SMAL3.base  ; 291                                                |
VP_SMAL4.base  ; 292                                                |
VP_HFLA1.base  ; 293 HÄUSER FLASH                                   |
VP_HFLA2.base  ; 294                                                |
VP_HFLA3.base  ; 295                                                |
VP_HWOL1.base  ; 296 * WOLKEN PLANES                                |
VP_HWOL2.base  ; 297 *                                              |
VP_HWOL3.base  ; 298 *                                              |
VP_HWOL4.base  ; 299 * ---------------------------------------------+
VP_DFLAK.base  ; 300 ZWILLINGSFLAK source: MODELING/__FLAKS/FLAK_VISPROTOS1
VPfDFLAK.base  ; 301
VP_GABEL.base  ; 302 MykoBodenFlak source: MODELING/__FLAKS/MykoFLAK
VPfGABEL.base  ; 303
VP_XFLKK.base  ; 304 Riesige BodenFlak source: MODELING/BUILDINGS/USERSBODENFLAK
VPfXFLKK.base  ; 305
VPgXFLKK.base  ; 306
VPgDFLAK.base  ; 307 gMykoBodenFlak     source: MODELING/__FLAKS/MykoFLAK
VP_BOMBE.base  ; 308 Detailierte Bombe  source: MODELING/__GESCHOSSE/BOMBE
VPfTTTTT.base  ; 309 TAERKASTENFLAK     source: MODELING/BUILDINGS/TAERFLAK
VPgTTTTT.base  ; 310   |                                              |
VP_TTTTT.base  ; 311   +----------------------------------------------+
VPgROBO.base   ; 312 BEAM USER ROBO
VPgKROBO.base  ; 313 BEAM KYTR ROBO
VPgBRGRO.base  ; 314 BEAM MYKO ROBO
VPgTAERO.base  ; 315 BEAM TAER ROBO
VP_GIGAL.base  ; 316 GigantenSchuß      source: MODELING/__GESCHOSSE/LASER
VP_PHAN1.base  ; 317 PhantomSchuß       source: MODELING/__GESCHOSSE/GRANATEN
OP_R4__1.base  ; 318 Roter ScalierRing etwas höher--+
OP_R4__2.base  ; 319  |                             |
OP_R4__3.base  ; 320  +-----------------------------+
VPGBSECT.base  ; 321 GENESIS Black Sect Robo
VPGSULG1.base  ; 322 GENESIS SulgogarenPilz
VP_SULG2.base  ; 323 GENESIS SulgogarenWuschelDing
VPGSULG5.base  ; 324 GENESIS SulgogarenKugel
VP_MYKOF.base  ; 325 Neue MykonierFlak
VPfMYKOF.base  ; 326 Neue MykonierFlak schießend
VP_HUBI5.base  ; 327 GHARGOIL 3         source: MODELING/_KYTERNESER/GHARGOIL3 -----------+
VPwHUBI5.base  ; 328  |                                                                   |
VPfHUBI5.base  ; 329  |                                                                   |
VPgHUBI5.base  ; 330  |                                                                   |
VPxHUBI5.base  ; 331  +-------------------------------------------------------------------+
VP_FLUG2.base  ; 332 METZEL HETZEL  source: Zeuch:MODELING/_TAERKASTEN/FLUGIE -------+
VPxFLUG2.base  ; 333  |                                                              |
VPwFLUG2.base  ; 334  |                                                              |
VPgFLUG2.base  ; 335  |                                                              |
VPfFLUG2.base  ; 336  +--------------------------------------------------------------+
VP_TRAIN.base  ; 337 TrainingsRobo
VP_BLUU1.base  ; 338 Hochkant-Skale-Ring
VP_SUPAB.base  ; 339 SUPABOMB FX
VP_FLBMB.base  ; 340 Flugie Langsam Bombe
VPgTRAIN.base  ; 341 TrainingsRobo Genesis
VP_TRAI1.base  ; 342 TrainingsVehicle
VPgTRAI1.base  ; 343 TrainingsVehicle Genesis
VP_ANI1.base   ; 344 Flachflicker
VP_ANI2.base   ; 345
VP_ANI3.base   ; 346
VP_ANI4.base   ; 347
VP_WUCH1.base  ; 348 Sternenkugel
VP_WUCH2.base  ; 349   |
VP_WUCH3.base  ; 350   |
VP_WUCH4.base  ; 351   |
VP_WUCH5.base  ; 352   |
VP_GRAN9.base  ; 353 Viel Rauch an der GRanate
VP_NEU01.base  ; 354 HEAVY MYKO Waffe
VP_NEU02.base  ; 355 neue 5Po Waffe
VP_NEU03.base  ; 356 rote Speedy Kugel
VP_NEU04.base  ; 357 blau scale 1
VP_NEU05.base  ; 358            2
VP_NEU06.base  ; 359            3
VP_RAKT9.base  ; 360 blaue MiniRakete
VP_GRANA.base  ; 361 Weniger Rauch an der Granate
VP_TKATJ.base  ; 362 +-----------
VPfTKATJ.base  ; 363 |   XPACK: TAERKASTEN Katjuscha
VPwTKATJ.base  ; 364 |
VPgTKATJ.base  ; 365 +-------------
VP_TODIN.base  ; 366 +---------------
VPfTODIN.base  ; 367 |   XPACK: TAERKASTEN Megafettes Teil
VPwTODIN.base  ; 368 |
VPgTODIN.base  ; 369 +---------------
VP_MMYKO.base  ; 370 +---------------------
VPwMMYKO.base  ; 371 |   XPACK: neuer mittlerer MYKONIER
VPgMMYKO.base  ; 372 +---------------------
>
I wonder if we can edit the visproto and make the new vehicles models work on UA once we do the models and put them on the BAS file. I know the original UA script files do react with all of the "visproto.lst" files. Sorry if I'm off-topic somewhat, is that it's not easy, and I want to experiment with make new models for cities and vehicles.

GoldStar611
BlackSect Creator
BlackSect Creator
Posts: 861
Joined: Sun Dec 02, 2007 1:16 am
Location: USA
Contact:

Re: Building a Set.BAS compiler

Post by GoldStar611 » Fri Jul 11, 2014 2:01 am

MarioSDU6/SDU7 wrote:Someday when the programs get more complete, I'll try to use them, to see if I can somehow make new models (some models for the cities) and then make the new vehicles use them (I dunno if this is possible).

This comes from the lhe visproto.lst (from the SCRIPTS folder of any of the SET folders)

Code: Select all

VP_BRGR1.base  ;  00 QUADER     source: MODELING/_MYKONIER/MYKO1
VPfBRGR1.base  ;  01 |                                        |
VPdBRGR1.base  ;  02 |                                        | upd.:
VPwBRGR1.base  ;  03 |                                        | 25-Jun-98
VPxBRGR1.base  ;  04 |                                        | xpack:
VPgBRGR1.base  ;  05 +----------------------------------------+ 21-Okt-98
VP_BRGR2.base  ;  06 WÜRFEL     source: MODELING/_MYKONIER/MYKO1
VPfBRGR2.base  ;  07 |                                        |
VPdBRGR2.base  ;  08 |                                        |
VPwBRGR2.base  ;  09 |                                        |
VPxBRGR2.base  ;  10 |                                        |
VPgBRGR2.base  ;  11 +----------------------------------------+
VP_HUBI1.base  ;  12 GHARGOIL   source: MODELING/_KYTERNESER/GHARGOIL
VPfHUBI1.base  ;  13 |                     |
VPdHUBI1.base  ;  14 |                     |
VPwHUBI1.base  ;  15 |                     |
VPxHUBI1.base  ;  16 |                     |
VPgHUBI1.base  ;  17 +---------------------+
VP_PANZ1.base  ;  18 EISENHANS  source: MODELING/_TAERKASTEN/PANZER1
VPfPANZ1.base  ;  19 |                                      |
VPdPANZ1.base  ;  90 |                                      |
VPwPANZ1.base  ;  21 |                                      |
dummy.base     ;  22 S T A N D A R D D U M M Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
VPgPANZ1.base  ;  23 +--------------------------------------+
VP_HUBI2.base  ;  24 LAWNMOWER  source: MODELING/_USER/LAWNMOWER
VPfHUBI2.base  ;  25 |                     |
VPdHUBI2.base  ;  26 | (50 Polygone !)     |
VPwHUBI2.base  ;  27 |                     |
VPxHUBI2.base  ;  28 |                     |
VPgHUBI2.base  ;  29 +---------------------+
VP_SIMPL.base  ;  30 Wiesel----------------------------------------+ User
VPfSIMPL.base  ;  31 |                                             |
dummy.base     ;  32 |                                             |
VPwSIMPL.base  ;  33 |                                             |
dummy.base     ;  34 S T A N D A R D D U M M Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
VPgSIMPL.base  ;  35 +---------------------------------------------+
VP_TAERO.base  ;  36 TAERKASTENROBO
dummy.base     ;  37
dummy.base     ;  38 S T A N D A R D D U M M Y !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
dummy.base     ;  39 DEAD
VP_FLAK2.base  ;  40 Flak normal
VPfFLAK2.base  ;  41 Flak schießt
VP_SATT1.base  ;  42 SCOUT      source: MODELING/_USER/SATELLIT
dummy.base     ;  43 |                                             |
VPdSATT1.base  ;  44 |                                             |
dummy.base     ;  45 |                                             |
VPxSATT1.base  ;  46 |                                             |
VPgSATT1.base  ;  47 +---------------------------------------------+
VP_FLSML.base  ;  48 KNUDDEL    source: MODELING/_USER/SIMPLFLUGIE
VPfFLSML.base  ;  49 |                                             |
VPdFLSML.base  ;  50 |                                             |
VPwFLSML.base  ;  51 |                                             |
VPxFLSML.base  ;  52 |                                             |
VPgFLSML.base  ;  53 +---------------------------------------------+
VP_FLUG1.base  ;  54 KYTFLUGI   source: MODELING/_KYTERNESER/KYT_FLUGIE
VPfFLUG1.base  ;  55 |                                             |
VPdFLUG1.base  ;  56 |                                             |
dummy.base     ;  57 |                                             |
VPxFLUG1.base  ;  58 |                                             |
VPgFLUG1.base  ;  59 +---------------------------------------------+
VP_GLID1.base  ;  60 WARHAMMER  source: MODELING/_USER/SIMPLFLUGIE
VPfGLID1.base  ;  61 |                                             |
VPdGLID1.base  ;  62 |                                             |
VPwGLID1.base  ;  63 |                                             |
VPxGLID1.base  ;  64 |                                             |
VPgGLID1.base  ;  65 +---------------------------------------------+
>
I wonder if we can edit the visproto and make the new vehicles models work on UA once we do the models and put them on the BAS file. I know the original UA script files do react with all of the "visproto.lst" files. Sorry if I'm off-topic somewhat, is that it's not easy, and I want to experiment with make new models for cities and vehicles.
Mario,

This is definitely a good question. Visproto.LST is not used by UA [unless set.bas is missing]. I think the feature that will help you most is decoding ATTS and OLPL sections which give coordinates on texture images.

Already you can see that for the Ghargoil wait is on line 15 and refers to VPwHUBI1.base. If you open the SET1.BAS file in my new compiler program you can view OBJT15 at MC2/OBJT0/BASE/KIDS/OBJT0/BASE/KIDS/OBJT15 and uses skeleton VPWHUBI1.sklt (which is located by name in EMBD section)
vpwhubi1.png
vpwhubi1.png (60.84 KiB) Viewed 1339 times
Can you tell me what functionality you would need to implement new textures?
Image
Image

User avatar
MarioSDU6/SDU7
Slime Lord
Slime Lord
Posts: 424
Joined: Sat Oct 09, 2010 3:12 am
Location: Panama City, Latin America

Re: Building a Set.BAS compiler

Post by MarioSDU6/SDU7 » Tue Jul 15, 2014 12:12 am

GoldStar611 wrote:
Mario,

This is definitely a good question. Visproto.LST is not used by UA [unless set.bas is missing]. I think the feature that will help you most is decoding ATTS and OLPL sections which give coordinates on texture images.

Already you can see that for the Ghargoil wait is on line 15 and refers to VPwHUBI1.base. If you open the SET1.BAS file in my new compiler program you can view OBJT15 at MC2/OBJT0/BASE/KIDS/OBJT0/BASE/KIDS/OBJT15 and uses skeleton VPWHUBI1.sklt (which is located by name in EMBD section)
vpwhubi1.png
Can you tell me what functionality you would need to implement new textures?
Well, not just textures, but also new raw models for the vehicles, and it's texture programming. I know the DATA->Scripts files do actually use those numbers I put above, that means the stored model with its texture, for example, 05 is a model from a Mykonian vehicle, but instead it is dead, same with 01, except that is the full model undamaged, and so on.

I know the Set.BAS files has no limit on which models are stored in there, same with textures.

User avatar
Brachy UA FREAK
Turantul 1 (Veteran)
Turantul 1 (Veteran)
Posts: 1043
Joined: Tue Jul 08, 2008 6:23 pm
Location: Austria or next to a Parasite

Re: Building a Set.BAS compiler

Post by Brachy UA FREAK » Fri Oct 17, 2014 8:09 pm

I have no real clue what you are talking about , but i presume its useful.
GET YOUR HANDS OFF FROM THAT PARASITE!
Or
I LL QUADDA YOU

://i529.photobucket.com/albums/dd333/pete_kaboom/MykoniansUB1.png
://i529.photobucket.com/albums/dd333/pete_kaboom/X01-Quadda.gif

Myko Mod [MID] back alive after long hiatus!

GoldStar611
BlackSect Creator
BlackSect Creator
Posts: 861
Joined: Sun Dec 02, 2007 1:16 am
Location: USA
Contact:

Re: Building a Set.BAS compiler

Post by GoldStar611 » Sun Aug 06, 2017 6:27 am

New updates for the SET.BAS compiler + cool features

http://files.metropolisdawn.com/Hacking ... 017.tar.gz


1) A windows .EXE is included
2) Chunks are now decoded in the right hand window, no more binary data to look at (except VBMP data)

The format is JSON, so make sure you pay attention to the ('s ['s and ,'s (white space doesnt matter)
Attachments
Screenshot from 2017-08-06 01-27-26.png
screenshot
Screenshot from 2017-08-06 01-27-26.png (113.78 KiB) Viewed 295 times
Image
Image

teuzzz
Turantul 1 (Veteran)
Turantul 1 (Veteran)
Posts: 42
Joined: Sun Feb 15, 2015 3:04 am

Re: Building a Set.BAS compiler

Post by teuzzz » Mon Aug 21, 2017 6:25 pm

Very Nice, pls go ahead with the development of this great tool :D Bronsteijn24k already made some great stuff recently with it :D

GoldStar611
BlackSect Creator
BlackSect Creator
Posts: 861
Joined: Sun Dec 02, 2007 1:16 am
Location: USA
Contact:

Re: Building a Set.BAS compiler

Post by GoldStar611 » Tue Aug 22, 2017 2:51 am

There are many more bugs than the previous release, mostly due to decoding the data. It will get more stable over time but I have not had much time to fix bugs yet.
Image
Image

User avatar
CharlotteLabyrinth
Turantul 1 (Veteran)
Turantul 1 (Veteran)
Posts: 357
Joined: Thu Mar 01, 2012 3:00 pm
Location: Schloss Charlottenburg..?

Re: Building a Set.BAS compiler

Post by CharlotteLabyrinth » Fri Aug 25, 2017 3:52 pm

This is an amazing tool, GoldStar! Guess I won't have to solely rely on hex editors anymore... :P

My summer holidays are nearly over and I've been rather busy dealing with my new postgraduate university courses and offers (since I obtained my integrated master's degree), but I'm keep visiting the forums to not lose track of what's happening.

I will play around with this tool soon and will report any bugs I might encounter later. Thanks!
;----------------------------------------------------------
;
; Vielleicht der niedlichste Hubi, Knuddel.
;
;----------------------------------------------------------

Personal Declaration: I always use different usernames across different websites. Hence if you ever see my username is being used outside of Stoudson Corporation, I absolutely have no affiliation whatsoever with that!

Post Reply