Random line of code thread
category: code [glöplog]
actually, c# has AddCube(Size:1) and python AddCube(Size=1).
Code:
struct flagbits
{
BYTE C : 1;
BYTE u1 : 1;
BYTE P : 1;
BYTE u2 : 1;
BYTE A : 1;
BYTE u3 : 1;
BYTE Z : 1;
BYTE S : 1;
BYTE T : 1;
BYTE I : 1;
BYTE D : 1;
BYTE O : 1;
BYTE IOPL : 1;
BYTE NT : 1;
BYTE u : 1;
BYTE RF : 1;
};
union Flags
{
WORD EFLAGS;
BYTE low;
BYTE high;
struct flagbits bits;
};
inline BYTE LOADEFLAGS()
{
BYTE ret;
__asm lahf
__asm mov ret, ah
return ret;
}
#define PrintEFLAGS(var, flags) printf("%02x: %i%i%i%i%i%c%c%c%c\n", var, flags.bits.C, flags.bits.P, flags.bits.A, flags.bits.Z, flags.bits.S, 'u', 'u', 'u', 'u')
void Entrypoint()
{
//LAHF loads lower byte of the EFLAGS register into AH register.
Con("8086 Emulator");
Con::AllowPrintf();
printf("Processor Flags:\n");
printf(" CPAZSTIDO\n");
Flags flags = { 0 };
BYTE v = 0xf7;
for (int i = 0; i < 16; i++)
{
__asm add v, 1;
flags.low = LOADEFLAGS();
PrintEFLAGS(v, flags);
}
system("Pause");
}
Evolution of one line of code for Mandelbrot tracer
137b, 117b, 115b, 112b
All from some time in September 2008.
101b
This one is from a couple of days ago. Experience always wins.
137b, 117b, 115b, 112b
Code:
<pre><script>for(n=1950;n;document.write('¯\n_'[--n%75?k&2:1]))for(r=i=k=0;r*r+i*i+k++<99;i=t)t=2*r*i+1-n/975,r=r*r-i*i+1-n/25%3</script>
<body onload="for(n=84;n-=1/32;document.write(n%3?6+!k:' '))for(r=i=0,k=99;--k/r;i=t)t=2*r*i+1-n/42,r=r*r-i*i+1-n%3">
<body onload=for(n=84;n-=1/32;document.write(n%3?6+!k:''))for(r=i=0,k=99;--k/r;i=t)t=2*r*i+1-n/42,r=r*r-i*i+1-n%3>
<body onload=for(n=84;n-=1/32;document.write(n%3?k:''))for(r=i=0,k=21;--k/r;i=t)t=2*r*i+1-n/42,r=r*r-i*i+1-n%3>
All from some time in September 2008.
101b
Code:
<svg onload=for(n=99;n-=1/64;write(n%3?k:-7))for(r=i=0,k=20;--k/r;i=t)t=2*r*i+1-n/49,r=r*r-i*i+1-n%3>
This one is from a couple of days ago. Experience always wins.
Quote:
actually, c# has
That addCube is quite different from what the OP was after. He really wants to look at scene graph supporting frameworks or libraries, but doesn't know it yet. ;)
The closest out-of-the-box thing is probably Processing's box(size) command. P5.js has a more verbose version of that.
Code:
goto redo_sort_again;
oops...
Code:
6 key(12) on: key(13) on
back to my first programming language. :)
Code:
// UyaV Y^Auy avya
This comment actually made sense. :)
kb: Video decompressor?
yeah. colorspace conversion, and the source is a 6-channel 48-bit CbYACrYA texture that the GPU interprets as 32bit RGBA so I needed to write some pretty weird lookup and swizzling code :)
The comment means: Here are 3 texture samples (yielding 34 pixels) with their contents, the arrow is the sampling position and the stuff in caps is what I want out of it. All four comments for the four pixels look like this:
The lengths we go to avoid one memcpy() :D
The comment means: Here are 3 texture samples (yielding 34 pixels) with their contents, the arrow is the sampling position and the stuff in caps is what I want out of it. All four comments for the four pixels look like this:
Code:
// UY^AV yauy avya
// UyaV Y^Auy avya
// uyav yaUY^ AVya
// uyav yaUy aVY^A
The lengths we go to avoid one memcpy() :D
34 pixels == 4 pixels, damnit.
Code:
uniform float fuck;
The sad thing about that kind of sampling-and-swizzling is that the GPU's filtering doesn't work correctly then.
ferris:
HAH! I know that feel!
Which is easier? Gluing previous commits to hide the crimescene or faking my death?
HAH! I know that feel!
Code:
//WorldPosOut = CamToWorld[2];
//WorldPosOut.w = scale;
//WorldPosOut.w = projected.z;
//DiffuseOut = applyFog(color.xyz,t);
//DiffuseOut = vec3(NDC.x, NDC.y,0);
//DiffuseOut = vec3(pixelScreenX, pixelScreenY,-1);
DiffuseOut = color.xyz;
//DiffuseOut = vec3(Pixel.x, Pixel.y,0);
//DiffuseOut = rayOriginWorld;
//DiffuseOut = rayOriginWorld;
//DiffuseOut = rayPWorld;
//DiffuseOut = RayDir;
//DiffuseOut = worldDir;
//DiffuseOut = vec3(PixelNDC.x, PixelNDC.y ,0);
//DiffuseOut = vec3(NDC.x, NDC.y,uv.x);
//DiffuseOut = vec3(Pixel.x, Pixel.y,0);
//NormalOut = CamToWorldTR[0].xzw;
NormalOut = normal;
//NormalOut = w_p;
//NormalOut = PcameraSpace;
//NormalOut = vec3(uv.x, uv.y,0);
//NormalOut = vec3(eyeHitZ,t,dep);
//NormalOut = vec3(PixelScreen.x, PixelScreen.y,0);
//NormalOut = vec3(uv.x, uv.y,0);
//NormalOut = vec3(PixelNDC.x, PixelNDC.y,0);
//NormalOut = vec3(PixelScreen.x, PixelScreen.y,0);
//NormalOut = vec3(aspectRatio, scale,0);
//NormalOut = (gView*vec4(rayOrigin,1)).xyz;
//NormalOut = normalize((gView*vec4(rayOrigin,1)).xyz + (gView*vec4(vec3(Px, Py, -1.0), 0.0)).xyz);
//NormalOut = vec3(gl_FragCoord.xy,0);
//NormalOut = vec3(PcameraSpace.xy,0);
//NormalOut = PcameraSpace.xyz;
//NormalOut = rayOriginWorld;
//NormalOut = worldDir;
//NormalOut = rayPWorld;
//NormalOut.y = dot(rd,eyeFwd);
//NormalOut.z = eyeHitZ;
//NormalOut = rd;
//NormalOut = pre_RD;
goto gDebugger;
Which is easier? Gluing previous commits to hide the crimescene or faking my death?
Code:
mov al,byte[ds:di+bx+641]
Sesse: True but one blit into a target RT isn't that expensive (still way less than deswizzling in the CPU).
Also the result can be used as texture on anything so we need to generate mipmaps. And not having to throw a bunch of colorspace conversion snippets into the fires of Shader Permutation Hell isn't too bad either :)
On a kinda related note - any plans to create a special version of Snappy that restricts LZ readback and uses a sliding window on depack instead of reading from the output buffer? Asking for a friend :)
Also the result can be used as texture on anything so we need to generate mipmaps. And not having to throw a bunch of colorspace conversion snippets into the fires of Shader Permutation Hell isn't too bad either :)
On a kinda related note - any plans to create a special version of Snappy that restricts LZ readback and uses a sliding window on depack instead of reading from the output buffer? Asking for a friend :)
Sensenstahl: omitting the "DS" might save you a byte ... if the assembler didnt already do this for you ;)
Code:
READ TABLE lt_sperm WITH KEY field = 'SPERM' assigning <fs_sperm>.
Code:
sfz is a great file format \o/if(key == "sample" || key == "default_path")
{
// Sample name may contain spaces...
charsRead = s.find_first_of("=\t<", valueStart);
if(charsRead != std::string::npos && s[charsRead] == '=')
{
while(charsRead > valueStart && s[charsRead] != ' ')
{
charsRead--;
}
}
} else
{
charsRead = s.find_first_of(" \t<", valueStart);
}
Code:
mov word[ds:bx+di],1f1fh
Code:
AUTO j\q\matrix1\matrix1+4*4*2\tmp\
Code:
#define MAX_ATTACK_LENGTH 2001
#define MAX_ATTACK_VALUE (MAX_ATTACK_LENGTH - 1) // 16 bit unsigned max
Code:
0 fori=.to7step2:m(i)=i+2:m(i+1)=i+2:next:r=1
1 forj=.to9:fori=.to7:a=int(rnd(.)*8):h=m(i):m(i)=m(a):m(a)=h:nexti,j
2 print"#:"r:fori=.to7:printi;chr$(63+(m(i)<0)):next
3 r=r+1:input"cards";a,b:if(a=b)or((m(a)orm(b))<0)goto3
5 printchr$(13)m(a)m(b)chr$(13):ifm(a)=m(b)thenm(a)=-m(a):m(b)=-m(b)
8 s=.:fori=.to7:s=s+m(i):next:if(s>-40)goto2
You figure it out. ;) Copy, paste by right-clicking into Vice, "run" Soilerz.
Code:
main: ;now what? :\
A$=Chr$(16)+Chr$(2)+Chr$(Int(PRT/256))+Chr$(PRT mod 256)+Peek$(Leek(Leek(HOSTENT+16)),4)+String$(C0$,8)
Code:
; Init probabilities
;move.l #NUM_CONTEXTS,d6 ; 2c3c 0000 0600 MOVE.L #$00000600,D6
move.l bbstart-4(pc),d6 ; 2c3a ffe2 MOVE.L (PC,$ffe2)