All pastes #1074993 Raw Edit

Plagman

public text v1 · immutable
#1074993 ·published 2008-07-18 02:53 UTC
rendered paste body
gamevar I 0 0
gamevar J 0 0
gamevar K 0 0
gamevar L 0 0
gamevar M 0 0
gamevar A 0 0
gamevar B 0 0
gamevar C 0 0
gamevar D 0 0
gamevar E 0 0
gamevar DONE 0 0
gamevar PLAYERDONE 0 0

gamearray SWAPWALLS 16384

gamevar X1 0 0
gamevar Y1 0 0
gamevar CSTAT1 0 0
gamevar PICNUM1 0 0
gamevar OVERPICNUM1 0 0
gamevar SHADE1 0 0
gamevar PAL1 0 0
gamevar XREPEAT1 0 0
gamevar YREPEAT1 0 0
gamevar XPANNING1 0 0
gamevar YPANNING1 0 0
gamevar LOTAG1 0 0
gamevar HITAG1 0 0
gamevar EXTRA1 0 0
gamevar NEXTWALL1 0 0
gamevar NEXTSECTOR1 0 0

gamevar X2 0 0
gamevar Y2 0 0
gamevar CSTAT2 0 0
gamevar PICNUM2 0 0
gamevar OVERPICNUM2 0 0
gamevar SHADE2 0 0
gamevar PAL2 0 0
gamevar XREPEAT2 0 0
gamevar YREPEAT2 0 0
gamevar XPANNING2 0 0
gamevar YPANNING2 0 0
gamevar LOTAG2 0 0
gamevar HITAG2 0 0
gamevar EXTRA2 0 0
gamevar NEXTWALL2 0 0
gamevar NEXTSECTOR2 0 0

state swapwall
ifvarvarn J K {
getwall[J].x X1
getwall[J].y Y1
getwall[J].cstat CSTAT1
getwall[J].picnum PICNUM1
getwall[J].overpicnum OVERPICNUM1
getwall[J].shade SHADE1
getwall[J].pal PAL1
getwall[J].xrepeat XREPEAT1
getwall[J].yrepeat YREPEAT1
getwall[J].xpanning XPANNING1
getwall[J].ypanning YPANNING1
getwall[J].lotag LOTAG1
getwall[J].hitag HITAG1
getwall[J].extra EXTRA1
getwall[J].nextwall NEXTWALL1
getwall[J].nextsector NEXTSECTOR1

getwall[K].x X2
getwall[K].y Y2
getwall[K].cstat CSTAT2
getwall[K].picnum PICNUM2
getwall[K].overpicnum OVERPICNUM2
getwall[K].shade SHADE2
getwall[K].pal PAL2
getwall[K].xrepeat XREPEAT2
getwall[K].yrepeat YREPEAT2
getwall[K].xpanning XPANNING2
getwall[K].ypanning YPANNING2
getwall[K].lotag LOTAG2
getwall[K].hitag HITAG2
getwall[K].extra EXTRA2
getwall[K].nextwall NEXTWALL2
getwall[K].nextsector NEXTSECTOR2

setwall[J].x X2
setwall[J].y Y2
setwall[J].cstat CSTAT2
setwall[J].picnum PICNUM2
setwall[J].overpicnum OVERPICNUM2
setwall[J].shade SHADE2
setwall[J].pal PAL2
setwall[J].xrepeat XREPEAT2
setwall[J].yrepeat YREPEAT2
setwall[J].xpanning XPANNING2
setwall[J].ypanning YPANNING2
setwall[J].lotag LOTAG2
setwall[J].hitag HITAG2
setwall[J].extra EXTRA2
setwall[J].nextwall NEXTWALL2
setwall[J].nextsector NEXTSECTOR2

setwall[K].x X1
setwall[K].y Y1
setwall[K].cstat CSTAT1
setwall[K].picnum PICNUM1
setwall[K].overpicnum OVERPICNUM1
setwall[K].shade SHADE1
setwall[K].pal PAL1
setwall[K].xrepeat XREPEAT1
setwall[K].yrepeat YREPEAT1
setwall[K].xpanning XPANNING1
setwall[K].ypanning YPANNING1
setwall[K].lotag LOTAG1
setwall[K].hitag HITAG1
setwall[K].extra EXTRA1
setwall[K].nextwall NEXTWALL1
setwall[K].nextsector NEXTSECTOR1
}
ends

onevent EVENT_LOADACTOR
{
    ifvare DONE 0
    {
        setvar I 0
        whilevarn I 16384
        {
            getactor[I].x A
            mulvar A -1
            setactor[I].x A
            getactor[I].ang A
            ifvarg A 1024
            {
                setvar B 1536
            } else {
                setvar B 512
            }
            subvarvar B A
            mulvar B 2
            addvarvar A B
            setactor[I].ang A

            addvar I 1
        }

        setvar I 0
        whilevarvarn I NUMWALLS
        {
            getwall[I].x A
            mulvar A -1
            setwall[I].x A

            setarray SWAPWALLS[I] -1

            addvar I 1
        }

        setvar I 0
        whilevarvarn I NUMWALLS
        {
            setvarvar A I
            getwall[I].point2 B
            setvarvar K I
            whilevarvarn A B
            {
                addvar K 1
                getwall[K].point2 B
            }
            setvarvar A K
            setvarvar J I
            setvarvar L K
            subvarvar L J
            divvar L 2
            addvar J 1
            whilevarn L 0
            {
                state swapwall

                setarray SWAPWALLS[J] K
                setarray SWAPWALLS[K] J

                addvar J 1
                addvar K -1
                addvar L -1
            }

            setvarvar J I
            whilevarvarn I A
            {
                setvarvar K I
                addvar K 1

                getwall[J].x B
                getwall[J].y C
                getwall[K].x D
                getwall[K].y E
                setwall[J].x D
                setwall[J].y E
                setwall[K].x B
                setwall[K].y C

                addvar I 1
            }

            addvar I 1
        }

        setvar I 0
        whilevarvarn I NUMWALLS
        {
            getwall[I].nextwall A
            ifvarn A -1
                ifvarn SWAPWALLS[A] -1
                    setwall[I].nextwall SWAPWALLS[A]

            addvar I 1
        }

        setvar DONE 1
    }
}
endevent