User Tag List

Results 1 to 9 of 9

Thread: ZC 2.future Codebase Changes (Log)

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,763
    Level
    21
    vBActivity - Bars
    Lv. Percent
    69.32%

    ZC [2.future] Codebase Changes (Log)

    Logging some codebase changes here. These apply mostly to 2.xx, but they may also be used in the present (ZScript-enabled) builds of ZC3.x.

    script_drawing.cpp

    Added routines to do_drawbitmapr() that allow using Allegro sprites for effects:

    The present 'rotation' argument is now used for the following: Enable transparency, rotation.

    Works as follows:

    • if rot is 0, it draws opaque, but does not rotate.
    • if rot is between -360 and 360, it draws opaque, and rotates normally.
    • if rot is either between 361 and 720, or between -361 and -720 it rotates, but is transparent
    • if rot is outside these limits, it draws a transparent bitmap with no rotation.



    Did initial work on do_drawquadr() to allow mapping a bitmap as a texture, in addition to tiles/combos.
    Works as follows: A value above MAX_TILES (65519) will use a bitmap as a texture. At present, how this is to work is undefined, however I plan to use the normal RT_* in addition to a constant TEX_BITMAP = 65520 to point to the bitmap in question.
    Xor mode drawing, with extremely limited support, using OP_XOR to all drawing prims. This works with bitmaps perfectly well, but not with direct screen drawing. I do not have a personal desire to muck with the colour table to fix it, but perhaps Dimentio does. Either way, with the changes to do_drawbitmapr(), it should be feasible to use Xor drawing reliably.

    I plan to further expand do_drawbitmapr(), but I need to determine what other sprite effects to use. Until i test the latest modifications, I'll hold off on any further changes.


    Initial work on Polygon() / POLYGON*, but not Polygon3d() / POLYGON3D*
    These need ZASM side instructions in the bytecode, and other things, to be enabled. I believe that I know how to do this, but at present this is not a certainty.
    I initially did this before the release of 2.50.2, but Saffith did not want to add a new function, so it'll go into 2.

    Parser/Lexer:

    Initial modifications to allow some global symbols.

    Char ? will be added to symbols for IDENTIFIER, to allow var, and function names such as ?Walking()
    Char ? also needs to be added to lexical errors if it is a single char, to prevent accidental use where char / is desired.
    Char ^^ added as symbol LOGICALXOR
    The LOGICALXOR component is not implemented, but I added it to the .lpp file as a valid symbol (placeholder)
    Symbol COMMENTBLOCK using /* and */, but again, not implemented.
    Token #include added. I intend to add the token type DIRECTIVE and various strings as directive types. I may simply add # as the token for DIRECTIVE, and any legal INDENTIFIER chars as the string.

    At present #include is set to function as import "" and is only partially implemented.

    ...

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social