mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 02:30:46 +00:00
Add "dump_used_assets.m32" to samples. This script can be used to extract what tilenum and sound IDs are used in maps.
git-svn-id: https://svn.eduke32.com/eduke32@3241 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
6f21e0bdc9
commit
64c21a5e0a
1 changed files with 361 additions and 0 deletions
361
polymer/eduke32/package/samples/dump_used_assets.m32
Normal file
361
polymer/eduke32/package/samples/dump_used_assets.m32
Normal file
|
@ -0,0 +1,361 @@
|
|||
/*
|
||||
To begin, type in the console:
|
||||
|
||||
include dump_used_assets
|
||||
enableevent all
|
||||
|
||||
Open your map.
|
||||
In 2D mode, press CTRL+C to search for the tiles and sounds used in the current map.
|
||||
You can set the gamevar "verbose" to 1 if you want verbose .csv formatted information that would normally clog up the output.
|
||||
Tip: With pk_quickmapcycling enabled, Ctrl-(LShift-)X loads the next (previous) map in a directory.
|
||||
|
||||
The results from every map will be accumulated into master lists.
|
||||
When you have searched for tiles in all desired maps, press CTRL+D to print the finished lists.
|
||||
|
||||
The results will be printed in mapster32.log.
|
||||
*/
|
||||
|
||||
include names.h
|
||||
|
||||
gamearray usedTiles MAXTILES
|
||||
gamearray usedSounds MAXSOUNDS
|
||||
|
||||
definequote 0
|
||||
definequote 1 %ld
|
||||
|
||||
|
||||
definequote 11 sprite,%ld,
|
||||
definequote 12 floor,%ld,
|
||||
definequote 13 ceiling,%ld,
|
||||
definequote 14 wall,%ld,
|
||||
definequote 15 overwall,%ld,
|
||||
|
||||
definequote 21 MUSICANDSFX triggered,%ld,
|
||||
definequote 22 MUSICANDSFX ambient,%ld,
|
||||
definequote 23 sector one-time,%ld,
|
||||
definequote 24 MIKE,%ld,
|
||||
definequote 25 switch,%ld,
|
||||
definequote 26 MIRROR,%ld,
|
||||
definequote 27 sector 65534,%ld,
|
||||
definequote 28 doortile,%ld,
|
||||
|
||||
definequote 101 Searching for tiles used in current map...
|
||||
definequote 102 Tile search finished.
|
||||
definequote 103 Dumping tiles, cumulatively...
|
||||
definequote 104 Tile dump finished.
|
||||
definequote 105 Searching for sounds used in current map...
|
||||
definequote 106 Sound search finished.
|
||||
definequote 107 Dumping sounds, cumulatively...
|
||||
definequote 108 Sound dump finished.
|
||||
definequote 109 Search finished.
|
||||
definequote 110 Dump finished.
|
||||
|
||||
gamevar variable 0 0
|
||||
|
||||
gamevar verbose 0 0
|
||||
|
||||
gamevar index 0 0
|
||||
|
||||
gamevar flag 0 0
|
||||
gamevar input 0 0
|
||||
|
||||
|
||||
defstate tile_search
|
||||
quote 101
|
||||
|
||||
for variable allsprites
|
||||
{
|
||||
set index .picnum
|
||||
ifge index 0 ifle index MAXTILES set usedTiles[index] 1
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 11 .picnum
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
for variable allsectors
|
||||
{
|
||||
set index sector[variable].floorpicnum
|
||||
ifge index 0 ifle index MAXTILES set usedTiles[index] 2
|
||||
set index sector[variable].ceilingpicnum
|
||||
ifge index 0 ifle index MAXTILES set usedTiles[index] 3
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 12 sector[variable].floorpicnum
|
||||
quote 0
|
||||
qsprintf 0 13 sector[variable].ceilingpicnum
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
for variable allwalls
|
||||
{
|
||||
set index wall[variable].picnum
|
||||
ifge index 0 ifle index MAXTILES set usedTiles[index] 4
|
||||
set index wall[variable].overpicnum
|
||||
ifge index 0 ifle index MAXTILES set usedTiles[index] 5
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 14 wall[variable].picnum
|
||||
quote 0
|
||||
qsprintf 0 15 wall[variable].overpicnum
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
|
||||
quote 102
|
||||
ends
|
||||
|
||||
defstate tile_dump
|
||||
quote 103
|
||||
|
||||
for variable range MAXTILES
|
||||
ifn usedTiles[variable] 0
|
||||
{
|
||||
qsprintf 0 1 variable
|
||||
quote 0
|
||||
}
|
||||
|
||||
quote 104
|
||||
ends
|
||||
|
||||
|
||||
// these long "ife" lists exist because switch/case is broken/was broken at the original time of writing
|
||||
|
||||
// the three commented switches do not play sounds because their hitag is used for setting a multi-switch combination
|
||||
defstate switch_identify
|
||||
ife input ACCESSSWITCH set flag 1
|
||||
ife input SLOTDOOR set flag 1 ife input 133 set flag 1
|
||||
ife input LIGHTSWITCH set flag 1 ife input 135 set flag 1
|
||||
ife input SPACEDOORSWITCH set flag 1 ife input 137 set flag 1
|
||||
ife input SPACELIGHTSWITCH set flag 1 ife input 139 set flag 1
|
||||
ife input FRANKENSTINESWITCH set flag 1 ife input 141 set flag 1
|
||||
ife input MULTISWITCH set flag 1 ife input 147 set flag 1 ife input 148 set flag 1 ife input 149 set flag 1
|
||||
// ife input DIPSWITCH set flag 1 ife input 163 set flag 1
|
||||
ife input DIPSWITCH2 set flag 1 ife input 165 set flag 1
|
||||
// ife input TECHSWITCH set flag 1 ife input 167 set flag 1
|
||||
ife input DIPSWITCH3 set flag 1 ife input 169 set flag 1
|
||||
ife input ACCESSSWITCH2 set flag 1
|
||||
ife input LIGHTSWITCH2 set flag 1 ife input 713 set flag 1
|
||||
ife input POWERSWITCH1 set flag 1 ife input 861 set flag 1
|
||||
ife input LOCKSWITCH1 set flag 1 ife input 863 set flag 1
|
||||
ife input POWERSWITCH2 set flag 1 ife input 865 set flag 1
|
||||
ife input HANDSWITCH set flag 1 ife input 1112 set flag 1
|
||||
ife input PULLSWITCH set flag 1 ife input 1123 set flag 1
|
||||
// ife input ALIENSWITCH set flag 1 ife input 1143 set flag 1
|
||||
ends
|
||||
|
||||
defstate doortile_identify
|
||||
ife input DOORTILE1 set flag 1
|
||||
ife input DOORTILE2 set flag 1
|
||||
ife input DOORTILE3 set flag 1
|
||||
ife input DOORTILE4 set flag 1
|
||||
ife input DOORTILE5 set flag 1
|
||||
ife input DOORTILE6 set flag 1
|
||||
ife input DOORTILE7 set flag 1
|
||||
ife input DOORTILE8 set flag 1
|
||||
ife input DOORTILE9 set flag 1
|
||||
ife input DOORTILE10 set flag 1
|
||||
ife input DOORTILE11 set flag 1
|
||||
ife input DOORTILE12 set flag 1
|
||||
ife input DOORTILE14 set flag 1
|
||||
ife input DOORTILE15 set flag 1
|
||||
ife input DOORTILE16 set flag 1
|
||||
ife input DOORTILE17 set flag 1
|
||||
ife input DOORTILE18 set flag 1
|
||||
ife input DOORTILE19 set flag 1
|
||||
ife input DOORTILE20 set flag 1
|
||||
ife input DOORTILE21 set flag 1
|
||||
ife input DOORTILE22 set flag 1
|
||||
ife input DOORTILE23 set flag 1
|
||||
ends
|
||||
|
||||
defstate sound_search
|
||||
quote 105
|
||||
|
||||
for variable allsprites, ifactor MUSICANDSFX, ifl .lotag 1000 // rule out echo effect
|
||||
{
|
||||
// This is how the code SHOULD be:
|
||||
// activation sounds / triggered sounds (e.g. elevators)
|
||||
sectgetlotag
|
||||
ifn LOTAG 0, ifl LOTAG 10000
|
||||
{
|
||||
ifn .lotag 0 ifl .lotag 500
|
||||
{
|
||||
set index .lotag
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 1
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 21 .lotag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
ifn .hitag 0 ifl .hitag 500
|
||||
{
|
||||
set index .hitag
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 1
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 21 .hitag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
}
|
||||
// ambient sounds
|
||||
else
|
||||
{
|
||||
ifn .lotag 0 ifl .lotag 500
|
||||
{
|
||||
set index .lotag
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 2
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 22 .lotag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// one-time sector sounds
|
||||
for variable allsectors, ifge sector[variable].lotag 10000, ifl sector[variable].lotag 16383
|
||||
{
|
||||
set index sector[variable].lotag
|
||||
subvar index 10000
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 3
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 23 index
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
|
||||
// mikesnd
|
||||
for variable allsprites, ifactor MIKE
|
||||
{
|
||||
set index .hitag // this one's clever -- by default it will play sound 0, as seen in E4L7
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 4
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 24 .hitag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
|
||||
// switches
|
||||
for variable allsprites
|
||||
{
|
||||
set flag 0
|
||||
set input .picnum
|
||||
state switch_identify
|
||||
ife flag 1, ifn .hitag 0
|
||||
{
|
||||
set index .hitag
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 5
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 25 .hitag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// mirror
|
||||
for variable allwalls
|
||||
{
|
||||
set index 0
|
||||
ife wall[variable].picnum MIRROR set index wall[variable].lotag
|
||||
ife wall[variable].overpicnum MIRROR set index wall[variable].lotag
|
||||
ifn index 0
|
||||
{
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 6
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 26 index
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// sector lotag 65534 (E1L2 ending) customexitsound
|
||||
for variable allsectors, ife sector[variable].lotag 65534
|
||||
{
|
||||
set index sector[variable].hitag
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 7
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 27 sector[variable].hitag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
|
||||
// doortiles
|
||||
for variable allsprites
|
||||
{
|
||||
set flag 0
|
||||
set input .picnum
|
||||
state doortile_identify
|
||||
ife flag 1, ifn .hitag 0
|
||||
{
|
||||
set index .hitag
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 8
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 28 .hitag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
}
|
||||
for variable allwalls
|
||||
{
|
||||
set flag 0
|
||||
set input wall[variable].picnum
|
||||
state doortile_identify
|
||||
set input wall[variable].overpicnum
|
||||
state doortile_identify
|
||||
ife flag 1, ifn wall[variable].lotag 0, ifn wall[variable].hitag 0
|
||||
{
|
||||
set index wall[variable].hitag
|
||||
ifge index 0 ifle index MAXSOUNDS set usedSounds[index] 8
|
||||
ife verbose 1
|
||||
{
|
||||
qsprintf 0 28 wall[variable].hitag
|
||||
quote 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
quote 106
|
||||
ends
|
||||
|
||||
defstate sound_dump
|
||||
quote 107
|
||||
|
||||
for variable range MAXSOUNDS
|
||||
ifn usedSounds[variable] 0
|
||||
{
|
||||
qsprintf 0 1 variable
|
||||
quote 0
|
||||
}
|
||||
|
||||
quote 108
|
||||
ends
|
||||
|
||||
|
||||
|
||||
onevent EVENT_KEYS2D
|
||||
ifeitherctrl
|
||||
{
|
||||
ifhitkey KEY_V // find
|
||||
{
|
||||
state tile_search
|
||||
state sound_search
|
||||
quote 109
|
||||
}
|
||||
ifhitkey KEY_D // dump
|
||||
{
|
||||
state tile_dump
|
||||
state sound_dump
|
||||
quote 110
|
||||
}
|
||||
}
|
||||
endevent
|
Loading…
Reference in a new issue