AminetAminet
Search:
84491 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/cdity/scrwizgen.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Handy 'ScreenWizard' screen generator
Author:megacz at usa.com
Uploader:megacz usa com
Type:util/cdity
Version:0.2
Requires:68020+/os2.04+
Architecture:m68k-amigaos; generic
Date:2010-05-08
Download:http://aminet.net/util/cdity/scrwizgen.lha - View contents
Readme:http://aminet.net/util/cdity/scrwizgen.readme
Downloads:642

scrwizgen-0.2
---------------

---

Me is having new utility! Me is able to redefine each screen entry auto-
magically! Me enjoys same public screens on AGA/CGX & P96! Me was also so
kind to allow others have such a comfort! Isn't Me a super-cool guy ;-) ?
Yes Me is! Glory to Me!!!

Yep, this program makes everything really simple. No need to set anything
through the GUI anymore(maybe except for palette to have direct feedback),
even though it is quite user friendly.

---

NEWS:
     [08-May-2010]   0.2   Holy, shmoly i forgot to re-NULL certain
                           members of extra 'RDArgs' that is used
                           inside a loop in 'swg_parseinputfile()'.
                           This was causing mysterious duplicate
                           warnings and generally trashing the mem.
                           sometimes...

---

NOTES:

[*]
Requires 68020(no FPU)+, OS 2.04+, 32+ KiB of free memory, 'ScreenWizard'

[*]
You will need:

   http://aminet.net/util/cdity/scrwiz11.lha

and if you want palette freely settable:

   http://aminet.net/util/cdity/ScreenWizard-39.3.m1.lha

[*]
Unlike 'ScreenWizard' GUI, 'scrwizgen' can reassign display modes in each
screen definition leaving original data file intact. Moreover it tries to
be smart and match the resolution and depth, so your public screen will
always look good! Aside from that, there is also extensive flag support,
so you can decide what modes should be considered best suited.

[*]
This proggy uses clear-text data files to define screens, so there is much
more control over the configuration. You only need text editor to fully
customise any public screen! The gain is obvious, now you can control the
monster('ScreenWizard') with scripts.

[*]
From now on you are not limited to the very few "approved" screen modes
that showup in the requester. If you need HAM compliant public screen
then no problem! 

[*]
All the 'warning' messages generated during parsing have no effect on the
$RC environment variable, only when using '[ar=amidrange/k]' return code
might/will be set to 5 to indicate missed modeid assignments.

[*]
Beware, using highly compressed and/or big pictures for the background
may delay screen opening very much! Uncompressed, hand crafted ILBM pics
seem to be the best solution.

---

USAGE:

 *** template: scrwizgen <if=inputfile/a> <of=outputfile/a> [ar=amidrange/k]
                         [or=origreso/s] [od=origdepth/s]


               <if=inputfile/a>  - Input file, a clear-text, ini-style one.

              <of=outputfile/a>  - Output file, 'ScreenWizard' compatible.

               [ar=amidrange/k]  - This argument allows to reassign modes,
                                   automatically, its sub-syntax is as f.:
                                   '<rlow>[,rhigh][,flags]'. First two args
                                   are modeid values, which makes the range
                                   and the last('flags') allows to narrow
                                   or expand that range even more. Literal 
                                   flags are as follows:
                                   LACE,     DUALPF,    PF2PRI,   HAM, ECS,
                                   AA,    PAL,    SPRITES,  GENLOCK,    WB,
                                   DRAGGABLE,      PANELLED,      BEAMSYNC, 
                                   EXTRAHALFBRITE,     SPRITES_ATT       , 
                                   SPRITES_CHNG_RES,   SPRITES_BORDER    ,
                                   SCANDBL,      SPRITES_CHNG_BASE       ,
                                   SPRITES_CHNG_PRI,   DBUFFER,   PROGBEAM,
                                   FOREIGN . All these flags can be found 
                                   in 'graphics/displayinfo.h'. See the
                                   'EXAMPLES' on on how to use.

                [or=origreso/s]  - Insist on keeping original resolution 
                                   after using automated modeid assignment.

               [od=origdepth/s]  - By default bit depths are truncated to
                                   8 for compatibility reasons. If you want
                                   original depths anyway use this switch.

---

DATAFILE(options):

       [pn =  pubscreen/k]  -  Each new entry must start with this argument, 
                               its formely "Public name" in 'ScreenWizard'.
    
       [se =  scrntitle/k]  -  Title that will be associated with the public
                               screen you have created('[pn=pubscreen/k]').
    
       [pi =    picture/k]  -  File that could be used as a background pic.
    
       [nt =    newfont/k]  -  Fontname/fontsize to use('[ct=customfont/s]')
                               Dont suffix fontname with '.font'!
    
       [md =     modeid/k]  -  ModeID to use, can be decimal or hexadecimal.
                               Please note that 'scrwizgen' allows to attach
                               the ID dynamically looking into resolution.
                               By default 0 will be used.
    
       [rn = resolution/k]  -  Resolution/bounds of the screen. The format
                               is: '<xres>[x<yres>[x<depth>[x<scanmode>]]]'.
                               Depth must be expressed in bits and scanmode
                               should be one of these values: 1 = text, 2 =
                               graphics, 3 = extreme, 4 = maximum. By def.
                               '640x480x3x1' will be used.
    
       [pp =     penmap/k]  -  Pen mappings, formely "Drawing pens". The
                               format is: '0x<oopp>,0x<oopp>,...'(oo - obj.
                               pointer(0-9), pp - pen number(0-7)).
    
       [pe =    palette/k]  -  Palette settings where each setting is ULONG.
                               The fmt is: '0x<pprrggbb>,0x<pprrggbb>,...'
                               (pp - pen number, rr - red value, gg - green
                               value, bb - blue value).
    
       [bs =   backargs/k]  -  Backdrop type, where  first  two UBYTE values
                               define "Checkers"(pattern). The format is:
                               '0x<c1c2tt>'(c1 - checkers pen one, c2 - ch.
                               pen two, tt - type of background, where  0 =
                               no background, 1 = picture, 2 = checkers).
                               By default '0x010102' will be used.
    
       [mc =  mtpensloc/k]  -  Multicolor pens location: 0 = last 4 pens, 
                               1 = pens 4-7, 2 = pens 4-7 and last 4 .
                               By default 0 will be used.
    
       [mr = multicolor/s]  -  Multicolor pens activation.
    
       [ie = interleave/s]  -  Allows to have interleaved public screen.
    
       [al = autoscroll/s]  -  Allows to autoscroll the screen with mice.
    
       [de = defpalette/s]  -  Use the default palette of the deamon.
    
       [si =   shanghai/s]  -  Allow parent prg. windows(such as requesters)
                               to show up on the public screen as well. This
                               has also disadvantages, because screen with
                               this flag triggered on will be the default!
    
       [ct = customfont/s]  -  Use '[nt=newfont/k]' instead of the def.  OS
                               one.

---

EXAMPLES:

   ; suppose you want to try the examples that come with this archive,
   ; but you dont own a gfx card and/or your modeid values dont match
   ; and you use NTSC, so you need to(where any single modeid will
   ; expand to the whole monitor area):
   cd scrwizgen-0.1
   scrwizgen examples.swgdata env:ScreenWizard.prefs amidrange 0x19004
     ; /// will use guessed = '0x00011000-0x00019024' modeid range.
     ; /// attempting to open input file = 'examples.swgdata' ...
     ; /// attempting to open output file = 'env:ScreenWizard.prefs' ...
     ; /// parsing input file, dont blink yer eyes now ...
     ; /// creating new public screen definition = 'DUMMY' ...
     ; /// creating new public screen definition = 'WHITE' ...
     ; /// creating new public screen definition = 'REV' ...
     ; /// creating new public screen definition = 'PINK' ...
     ; /// creating new public screen definition = 'WARM' ...
     ; /// creating new public screen definition = 'C64' ...
     ; /// creating new public screen definition = 'PASTEL' ...
     ; /// creating new public screen definition = 'FADER' ...
     ; /// creating new public screen definition = 'FROGGISH' ...
     ; /// creating new public screen definition = 'HEAVEN' ...
     ; /// going to automatically determine best modeid values ...
     ; /// saving gathered data to 'ScreenWizard' compat. file ...

   ; lets now use just one modeid for everything, it is as simple as:
   scrwizgen examples.swgdata env:ScreenWizard.prefs amidrange 0x19004,0x19004

   ; if your TFT flat panel doesnt like interlace and you use 
   ; DblNTSC, then to eliminate these modeid values you would need 
   ; to(flags need to be space separated):
   scrwizgen examples.swgdata env:ScreenWizard.prefs amidrange "0x99004,0,aa
ecs"

   ; you think that certain monitors in your system may match the
   ; resolution flawlessly and you generally dont want 15kHz ones,
   ; but you dont want to scramble with some system monitor to find
   ; them out, in such case make the range very wide:
   scrwizgen examples.swgdata env:ScreenWizard.prefs amidrange
0x2FFFF,0xFFFFFFFF

   ; no auto modeid assignment
   scrwizgen examples.swgdata env:ScreenWizard.prefs



   ; to see the final effect use 'clispawn'(public screen names are 
   ; case sensitive!)
   clispawn pub WARM

   ; or you can use 'newcli'
   newcli CON://///SCREENWARM

---

INTEGRATION:

   ; add this to your 'user-startup' if you want your public screens
   ; to follow 'Workbench' screenmode/monitor setting(first line is
   ; to silently start 'RexxMast')
   rx >nil: "a=dummy"
   set workbenchmodeid `rx "if open(a, 'env:sys/screenmode.prefs', 'r')>0 then
do;b=readch(a, 62);say '0x'||c2x(substr(b, 51, 4));end"`
   scrwizgen >nil: envarc:ScreenWizard.swgdata env:ScreenWizard.prefs amidrange
$workbenchmodeid
   unset workbenchmodeid

---
megacz at usa.com


Contents of util/cdity/scrwizgen.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                56614   56614 100.0% -lh0- a5ba May  8 01:14 scrwizgen-0.2/examples.jpg
[generic]                 1755    5803  30.2% -lh5- cdc2 May  8 01:14 scrwizgen-0.2/examples.swgdata
[generic]                  218     349  62.5% -lh5- 388c May  8 01:14 scrwizgen-0.2/Makefile
[generic]                 6058   10508  57.7% -lh5- 4fd0 May  8 01:50 scrwizgen-0.2/scrwizgen
[generic]                12814   51246  25.0% -lh5- d991 May  8 01:38 scrwizgen-0.2/scrwizgen.c
[generic]                 3864   10308  37.5% -lh5- 43b6 May  8 02:06 scrwizgen-0.2/scrwizgen.readme
[generic]                  238     409  58.2% -lh5- 7d88 May  8 01:14 scrwizgen-0.2/SMakefile
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         7 files   81561  135237  60.3%            May  8 19:17

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>