Results 1 to 10 of 24

Thread: Bryed 3d (1998) postmortem

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #15
    I managed finding a moderately broken version with asset building tools included (from October 1999). So i can finally present this project, incomplete (sigh) with bad porn removed:

    English version (text messages translated by editing the EXE in Notepad++) http://chebmaster.com/downloads/bryed_3d_English.zip
    Original (Russian only) version http://chebmaster.com/downloads/bryed_3d.zip

    Lifted assets galore (doom2, duke nukem, blood) and general lack of sanity, as expected from a college student during the lawless Great Depression of the 90s. (I recently stumbled on an VHS tape with a movie recorded from TV, from that time period. Gratuitous rape scenes with tits flashing, live pigs doused in gasoline and set on fire... Oft interrupted with ads of lawnmowers, beer or luxury cars. No ratings, no limitations, only separated from Chip&Dale Rescue Rangers by time slots. A generation of kids grew watching this)

    Someone's speedrun @ YouTube: https://www.youtube.com/watch?v=Ggt_U2-bldI

    At first, I just covered all tits with black bars. I then realized it was lowest of hypocrisy as bad porn interaction was still there. I rebuilt all maps removing all porn actors and hastily re-uploaded. I then realized there's a not-so-rare glitch that makes a dead ogre flicker through the entire sprite atlas. And also sprites could be seen in FAR because they are uncompressed. I hastily rebuilt the pak file replacing even censored hentai with empty spaces and re-uploaded again.

    Sorry, still no sources because sources of code and art are intermixed and removing all porn from these is a *much* harder task.

    Cave entrances/exits not showing in game

    Interestingly, those are items, map generator raises them by 100cm so that you pick them up without crouching, while render routine places their sprite 130cm below origin.

    Map editing:


    code sample (note integer = smallint)
    init:
    Code:
    New( SqrtTable );
      for i:=0 to 1023 do
        SqrtTable^[i]:=Round(Sqrt(i)*2048);
      New(ST);
      For c:=0 to  1024 do
        ST^[c]:=Round(32767*Sin(c*2*Pi/1024));
      New(CT);
      For c:=0 to  1024 do
        CT^[c]:=Round(32767*Cos(c*2*Pi/1024));
      New(AT);
      For c:=0 to  1024 do
        AT^[c]:=Round(Arctan((c/512)-1)*32767/Pi);
    usage:
    Code:
    Function Angle(x1,y1,x2,y2: integer): integer;
      var x,y: LongInt;
      begin
        x:=x1-x2; if x=0 then x:=1;
        y:=y1-y2; if y=0 then y:=1;
          If abs(x)>abs(y) then
            If x>0 then Angle:=AT^[512+((y shl 9) div x)]
                   else Angle:=word(32767)+word(AT^[512+((y shl 9) div x)])
          else
            If y>0 then Angle:=16384-AT^[512+((x shl 9) div y)]
                   else Angle:=49152-AT^[512+((x shl 9) div y)];
      end;
      Procedure SinCos(var s,c: integer; rasst, angle: integer);
      begin
        S:=(longint(ST^[angle shr 6]) * Rasst) div 32767;
        C:=(longint(CT^[angle shr 6]) * Rasst) div 32767;
      end;
    type
      STable = array[0..1023] of Word;
    
    var
      SqrtTable: ^STable;
      i: Word;
    
    function KOREN( S: LongInt ): Word; assembler;
    asm
           db 66h; xor si, si      { xor esi, esi }
           les si, dword ptr SqrtTable
           db 66h; mov bx, word ptr S   { mov ebx, S }
           mov dx, 11
           db 66h, 0Fh, 0BDh, 0CBh      { bsr ecx, ebx }
           sub cx, 9; jle @less
           shr cx, 1
           adc cx, 0
           sub dx, cx
           shl cx, 1
           db 66h; shr bx, cl      { shr ebx, cl }
    @less:
           db 26h, 67h, 8Bh, 04h, 5Eh   { mov ax, es:[esi+ebx*2] }
           mov cx, dx
           shr ax, cl
    end;
    All coordinates are in centimeters, speeds in centimeters per tick (1/25 s), angle is the full SmallInt range is 360 degrees. With overflows exploited to loop it.
    Last edited by Chebmaster; 26-05-2022 at 11:16 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •