WG 3.3 Wont compile

Idea and code exchange. Porting and new development talk here!

Moderator: Mod Squad

Post Reply
The Storm
Posts: 163
Joined: Fri Jun 09, 2006 2:35 am
Location: Dover, DE

WG 3.3 Wont compile

Post by The Storm »

Ok, one month in and still WG 3.3 will not compile. NO errors are generated yet nothing happens. Anyway to just get the damn libraries like a regular dev environment?
The Storm
DarkStar Development
telnet://thecrazyhousebbs.com
http://www.thecrazyhousebbs.com

Questman
Posts: 629
Joined: Sat Apr 01, 2006 9:48 pm
Location: Raleigh, NC
Contact:

Re: WG 3.3 Wont compile

Post by Questman »

The Storm wrote:Ok, one month in and still WG 3.3 will not compile. NO errors are generated yet nothing happens. Anyway to just get the damn libraries like a regular dev environment?
I'm sorry - help me understand what you're doing, trying to do, and what is happening.

The Storm
Posts: 163
Joined: Fri Jun 09, 2006 2:35 am
Location: Dover, DE

Re: WG 3.3 Wont compile

Post by The Storm »

Questman wrote:
The Storm wrote:Ok, one month in and still WG 3.3 will not compile. NO errors are generated yet nothing happens. Anyway to just get the damn libraries like a regular dev environment?
I'm sorry - help me understand what you're doing, trying to do, and what is happening.
Easy, we're just trying to get WG 3.3 to compile. Doing make doesn't do a thing. Using the IDE to compile doesn't do it either. Using the instructions in Netvillage.doc doesn't work as the changes they say to make in the make file don't exist.

Why can't the libraries just be distributed rather than the whole source? All we want to do is make modules and not actually change WG.
The Storm
DarkStar Development
telnet://thecrazyhousebbs.com
http://www.thecrazyhousebbs.com

Questman
Posts: 629
Joined: Sat Apr 01, 2006 9:48 pm
Location: Raleigh, NC
Contact:

Post by Questman »

That's kind of what I'm saying. You don't really need more than the libraries that are provided with the WG binaries and the WG dev kit.. you could easily setup your own environment.

When I compile, I open a new command prompt and then run my "wg32" batch file which contains:

Code: Select all

@echo off
SET CONFIG=WG3DEV
SET WGDEV=C:\WGDEV
SET BC50=C:\BC5
SET COMPILER=C:\BC5
SET DOSEXT=C:\RUN286
SET WGDOS=C:\WGSERVD
SET WGNT=C:\WGSERV
SET BUDOS=
SET VB3=C:\VB
SET LIB=C:\WGDEV\INC;C:\WGDEV\ENTSRC;C:\RUN286\BC5\LIB;C:\BC5\LIB
SET CMP=BC50-32
SET OS=WNT
SET WGPATH=C:\WINDOWS;C:\BC5\BIN;C:\;C:\RUN286\BIN;C:\WGDEV\BIN;C:\TASM\BIN;C:\WINDOWS\SYSTEM;c:\WINDOWS\SYSTEM32
SET PATH=C:\WINDOWS;C:\BC5\BIN;C:\;C:\RUN286\BIN;C:\WGDEV\BIN;C:\TASM\BIN;C:\WINDOWS\SYSTEM;c:\WINDOWS\SYSTEM32;\WGDEV\WGTOOLS\BTRIEVE;\PROGRA~1\IDMCOM~1\ULTRAE~1;
My structure is:

Borland C 5.01: C:\BC5
Worldgroup: C:\WGSERV
Worldgroup Dev: C:\WGDEV

An example of my Makefile:

Code: Select all

###############################################################################
#####                 This makefile generates ELWBIO.DLL                  #####
###############################################################################
!include $(WGDEV)\src\gcrules.mak

DEFILE =

VIRFILES =

!if $(OS) == WNT
DLLLIB = $(DLLLIB) wgserver.lib galgsbl.lib
MATHDLL =
DEFILE =
!endif

!if $(OS) == WG2
DLLLIB = $(DLLLIB) wgserver.lib galgsbl.lib $(BORLAND)\lib\mathh.lib ${DOSEXT}\b
c4\lib\phapi.lib
MATHDLL = $(DOSEXT)\bc4\lib\fpdmy
DEFILE = $(WGLIBDIR)\mathdef.def
!endif

OBJFILES = \
     ${TEMPDIR}\elwbio.obj

start:              \
     $(GCBUILD)     \
     elwbio.dll

elwbio.dll:         \
     $(OBJFILES)    \
     $(DLLLIB)      \
     $(DEFILE)      \
     $(VIRFILES)
     $(LINK) $(LIBCMD) @&&|
$(PRODLL) ${MATHDLL} $(OBJFILES)
$(RUNDIR)\$&
$(RUNDIR)\$&
$(DLLLIB) $(LINKDLL)
$(DEFILE)
|
I use MKV2P ELWBIO to compile it for WG2DOS, and MKNT ELWBIO to compile it for WG3NT.

The same source tree will compile both WG3NT and WG2DOS.

The main key is to set up your environment.

Here is my C:\WGDEV\SRC\GCRULES.MAK:

Code: Select all


############################################################################
## General Rules for Building Worldgroup Files                            ##
############################################################################
.autodepend
.silent
!if $d(NOSILENT)
.nosilent
!endif

############################################################################
## Check for OS and CMP variables                                         ##
############################################################################
!if !$d(OS)
!    error OS environment variable not set!
!endif
!if !$d(CMP)
!    error CMP environment variable not set!
!endif

!if $(OS) == DOS && !$d(BUDOS)
!    message You are not set up to properly build VIR files.
!    message Check your documentation if you would like to build VIR files
!    message from your make files.
     NOVIRS= 
!endif

############################################################################
## Operating system include                                               ##
############################################################################
TEMPDIR   = .\GCBUILD
VIRDIR    = $(TEMPDIR)
RUNDIR    = .
WGSRCDIR  = $(WGDEV)\SRC
WGLIBDIR  = $(WGDEV)\LIB
TOOLDIR   = $(WGDEV)\BIN
MAKDIR    = $(WGSRCDIR)

!if !$d(NUMERRS)
     NUMERRS = 10
!endif

!include $(MAKDIR)\$(OS).MAK

############################################################################
##  Directories, defined by environment variables                         ##
############################################################################
DLIBDIR   = $(TEMPDIR)
OBJDIR    = $(TEMPDIR)
MSGDIR    = .
MSGHDIR   = $(TEMPDIR)
BCRDIR    = .
INCDIR    = $(WGDEV)\INC
STDINC    = $(INCDIR);$(MSGHDIR);$(OSINCDIR);${WGSRCDIR};${MOREINCS}

############################################################################
## Search paths                                                           ##
############################################################################
.path.h =   $(STDINC)
.path.lib = $(TEMPDIR);$(WGLIBDIR)
.path.def = $(TEMPDIR);$(WGLIBDIR)
.path.obj = $(OBJDIR)
.path.exe = $(RUNDIR)
.path.msg = $(TEMPDIR)
.path.dll = $(RUNDIR)
.path.vir = $(VIRDIR)
.path.bcr = $(TEMPDIR)
.path.cfg = $(TOOLDIR)
.path.mak = $(MAKDIR)
.path.dum = $(TOOLDIR)
.path.res = $(TEMPDIR)
.path.rc  = .;$(TEMPDIR)
.path.c   = .;$(TEMPDIR)                     # For screen files            #

###############################################################################
#####          Set up parse files                                         #####
###############################################################################
PARSEFILES =             \
     $(PARSEFILES)       \
     *.msg               \
     *.bcr               \
     *.dmd               \
     *.mdf               \
     *.htm               \
     *.cvt               \
     *.def

MDFFILES =               \
     $(TEMPDIR)\*.dmd    \
     $(TEMPDIR)\*.mdf

HTMLFILES =              \
     $(TEMPDIR)\*.htm

CVTFILES =               \
     $(TEMPDIR)\*.cvt

CVTFILDIR = $(RUNDIR)\wgsdfcvt

HTMLDIR = $(RUNDIR)\webpages


GIFFILES = *.gif
GIFDIR = $(RUNDIR)\webpages\images

JPGFILES = *.jpg

BINFILES = *.bin
BINDIR = $(RUNDIR)

###############################################################################
#####          Compile/Assemble/Link based on OS, MODEL, and DEBUG        #####
###############################################################################
!include $(MAKDIR)\$(CMP).MAK

!if !$d(COMPILER)
!    error "COMPILER environment variable not defined!"
!endif

###############################################################################
#####          For source debugging...                                    #####
###############################################################################
!if $d(SRCDBG)
     PARSEOPTS = $(PARSEOPTS) -DSRCDBG
     CC = $(CC) -v -y
!    if $(OS) == DOS || $(OS) == WG2
          LINK = $(LINK) /v /l
!    else
          LINK = $(LINK) /v
!    endif

!endif

###############################################################################
#####          For special server versions...                             #####
###############################################################################
!if !$d(TIMESTAMP)
     TIMESTAMP = 03:10:00          # Current server version                
!    if $d(WEBCAST)
          TIMESTAMP = 02:00:00     # Current webcast version number        
!    endif
!    if $d(ACTIBASE)
          TIMESTAMP = 01:00:00     # Current ActiBase server version       
!    endif
!endif

#!if !$d(DATESTAMP)
#     DATESTAMP = 01/01/97          # Date of current builds                #
#!    if $d(WEBCAST)
#          DATESTAMP = 01/01/97     # Current webcast date                  #
#!    endif
#!endif

!if $d(WEBCAST)
     PARSEOPTS = $(PARSEOPTS) -DWEBCAST
!elif $d(ACTIBASE)
     PARSEOPTS = $(PARSEOPTS) -DACTIBASE
!else
     PARSEOPTS = $(PARSEOPTS) -DWORLDGROUP
     WORLDGROUP =
!endif
!if $d(GCV30)
     PARSEOPTS = $(PARSEOPTS) -DGCV30
!endif

###############################################################################
#####          For Code Guard debugging...                                #####
###############################################################################
!if $d(CGDBG)
!    if $(OS) == WNT
          CC = $(CC) -v -vG
          LINK = $(LINK) /v
          DLLLIB = $(COMPILER)\lib\cg32.lib $(DLLLIB)
          EXELIB = $(COMPILER)\lib\cg32.lib $(EXELIB)
          STATLIB = $(COMPILER)\lib\cg32.lib $(STATLIB)
!    endif
!endif

###############################################################################
#####          For "mangled" c++ symbols in MAP file                      #####
###############################################################################
!if $d(MANGLE)
     LINK = $(LINK) /Gm
!endif

###############################################################################
#####          For generating ASM output for compiles                     #####
###############################################################################
!if $d(GENASM)
     CC = $(CC) -S
!endif

###############################################################################
#####          For generating STARTER version of certain files            #####
###############################################################################
!if $d(STARTER)
     CC = $(CC) -DSTARTER
!endif

###############################################################################
#####          Miscellaneous useful macro definitions                     #####
###############################################################################
SCNBGN = copy /a $(WGSRCDIR)\scnbgn.c $(TEMPDIR)\$&.c > nul
SCNMAK = &add2c $** $(TEMPDIR)\makescns.$$t $(TEMPDIR)\$&.c > nul
SCNEND = copy /a $(TEMPDIR)\$&.c + $(WGSRCDIR)\scnend.c $(TEMPDIR)\$&.c> nul

!ifdef DEBUG
     DONEMSG = Build Complete! (DEBUG Version)
!else
     DONEMSG = Build Complete!
!endif

###############################################################################
#####               Generates the compiler option file                    #####
###############################################################################
!if $d(DEBUG)
     PARSEOPTS = $(PARSEOPTS) -DDEBUG
!    if $(OS) == DOS || $(OS) == WG2
!         if $(MODEL) == LARGE
               PARSEOPTS = $(PARSEOPTS) -N
!         endif
!    endif
!endif

GCBUILD = tmpbld.bld

###############################################################################
#####          Implicit Rule Definitions                                  #####
###############################################################################
.dum.bld:
#Rename old build file
     if exist $(TEMPDIR)\$&.bld rename $(TEMPDIR)\$&.bld $&.old
#Create current temp build file in another directory
# just in case $(TEMPDIR) does not exist yet
     type &&|
          $(PARSEOPTS)
| > $(TOOLDIR)\tmp.bld
#Sync everything up, delete directory if needed
     galsync $(TOOLDIR)\tmp.bld $(TEMPDIR)\$&.old $(TEMPDIR) -Q
     del $(TOOLDIR)\tmp.bld
#Parse all needed files
     galparsf &&|
          $(PARSEOPTS)
          $(PARSEFILES)
|    $(TEMPDIR) -Q
#save current build options
     type &&|
          $(PARSEOPTS)
| > $(TEMPDIR)\$&.bld
     if exist $(TEMPDIR)\$&.old del $(TEMPDIR)\$&.old
     if exist *.obj galcopy *.obj $(TEMPDIR) -Q
!if $d(BUILD)
     galmkdir $(RUNDIR)
     galparsf &&|
          $(PARSEOPTS)
          $(MDFFILES)
|    $(RUNDIR) -Q -B
     galmkdir $(HTMLDIR)
     galparsf &&|
          $(PARSEOPTS)
          $(HTMLFILES)
|    $(HTMLDIR) -Q -B
     galmkdir $(CVTFILDIR)
     galparsf &&|
          $(PARSEOPTS)
          $(CVTFILES)
|    $(CVTFILDIR) -Q -B
     galmkdir $(GIFDIR)
     galmkdir $(BINDIR)
     galcopy $(GIFFILES) $(GIFDIR) -Q
     galcopy $(JPGFILES) $(GIFDIR) -Q
     galcopy $(BINFILES) $(BINDIR) -Q
!endif

.c.obj:
     $(CC) @&&|
          $(PARSEOPTS)
          $(INCCMD)
          $(INCCMD1)
          $(OBJCMD)
          $(CFIG)
| $<

.cpp.obj&#58;
     $&#40;CC&#41; @&&|
          $&#40;PARSEOPTS&#41;
          $&#40;INCCMD&#41;
          $&#40;INCCMD1&#41;
          $&#40;OBJCMD&#41;
          $&#40;CFIG&#41;
| $<

.c.lst&#58;
     $&#40;CC&#41; -S @&&|
          $&#40;PARSEOPTS&#41;
          $&#40;INCCMD&#41;
          $&#40;INCCMD1&#41;
          $&#40;OBJCMD&#41;
          $&#40;CFIG&#41;
| $<
     tasmx /kh10000 $&#40;TEMPDIR&#41;\$&,nul,$&#40;TEMPDIR&#41;\$&
     del $*.asm

.cpp.lst&#58;
     $&#40;CC&#41; -S @&&|
          $&#40;PARSEOPTS&#41;
          $&#40;INCCMD&#41;
          $&#40;INCCMD1&#41;
          $&#40;OBJCMD&#41;
          $&#40;CFIG&#41;
| $<
     tasmx /kh10000 $&#40;TEMPDIR&#41;\$&,nul,$&#40;TEMPDIR&#41;\$&
     del $*.asm

.def.lib&#58;
     galparse @&&|
          $<
          $&#40;TEMPDIR&#41;\$&.def
          -Q
          $&#40;PARSEOPTS&#41;
|
     $&#40;IMPLIB&#41; $&#40;TEMPDIR&#41;\$& $&#40;TEMPDIR&#41;\$&.def
     del $&#40;TEMPDIR&#41;\$&.def >nul

.msg.h&#58;
     $&#40;TOOLDIR&#41;\galmerge $&#40;MSGHDIR&#41;\$&.msg $&#40;RUNDIR&#41;\$&.msg -Q
     $&#40;TOOLDIR&#41;\wgsmsx $&#40;MSGHDIR&#41;\$&.msg nul $&#40;MSGHDIR&#41;\$&.h

.bcr.vir&#58;
     galmkdir $&#40;VIRDIR&#41;
!if !$d&#40;NOVIRS&#41;
!if "$&#40;VIRSTART&#41;" != ""
     $&#40;VIRSTART&#41;
!endif
     $&#40;VIRPRO&#41; $@ $&#40;TEMPDIR&#41;\$&.bcr
     if exist $&.$&#40;VIRFILLEX&#41; $&#40;VIRFILL&#41; $&.$&#40;VIRFILLEX&#41; $@
!if "$&#40;VIRSTOP&#41;" != ""
     $&#40;VIRSTOP&#41;
!endif
!endif

.rc.res&#58;
     $&#40;COMPILER&#41;\bin\brc32 $&#40;PARSEOPTS&#41; -r -fo $&#40;TEMPDIR&#41;\$&.res $<

.mc.rc&#58;
     $&#40;COMPILER&#41;\sdktools\mc -v $*.mc
     if exist $&#40;TEMPDIR&#41;\$&.rc del $&#40;TEMPDIR&#41;\$&.rc
     move $&.rc $&#40;TEMPDIR&#41;

I hope this helps.

The Storm
Posts: 163
Joined: Fri Jun 09, 2006 2:35 am
Location: Dover, DE

Post by The Storm »

Questman wrote:That's kind of what I'm saying. You don't really need more than the libraries that are provided with the WG binaries and the WG dev kit.. you could easily setup your own environment.

When I compile, I open a new command prompt and then run my "wg32" batch file which contains:

Code: Select all

@echo off
SET CONFIG=WG3DEV
SET WGDEV=C&#58;\WGDEV
SET BC50=C&#58;\BC5
SET COMPILER=C&#58;\BC5
SET DOSEXT=C&#58;\RUN286
SET WGDOS=C&#58;\WGSERVD
SET WGNT=C&#58;\WGSERV
SET BUDOS=
SET VB3=C&#58;\VB
SET LIB=C&#58;\WGDEV\INC;C&#58;\WGDEV\ENTSRC;C&#58;\RUN286\BC5\LIB;C&#58;\BC5\LIB
SET CMP=BC50-32
SET OS=WNT
SET WGPATH=C&#58;\WINDOWS;C&#58;\BC5\BIN;C&#58;\;C&#58;\RUN286\BIN;C&#58;\WGDEV\BIN;C&#58;\TASM\BIN;C&#58;\WINDOWS\SYSTEM;c&#58;\WINDOWS\SYSTEM32
SET PATH=C&#58;\WINDOWS;C&#58;\BC5\BIN;C&#58;\;C&#58;\RUN286\BIN;C&#58;\WGDEV\BIN;C&#58;\TASM\BIN;C&#58;\WINDOWS\SYSTEM;c&#58;\WINDOWS\SYSTEM32;\WGDEV\WGTOOLS\BTRIEVE;\PROGRA~1\IDMCOM~1\ULTRAE~1;
And what OS are you using to do this with?
The Storm
DarkStar Development
telnet://thecrazyhousebbs.com
http://www.thecrazyhousebbs.com

Questman
Posts: 629
Joined: Sat Apr 01, 2006 9:48 pm
Location: Raleigh, NC
Contact:

Post by Questman »

Windows XP Pro.

Same configuration moved from a Windows 2000 Pro laptop, though, so it works in both.

Also works on Server 2003.

The Storm
Posts: 163
Joined: Fri Jun 09, 2006 2:35 am
Location: Dover, DE

Post by The Storm »

Questman wrote:Windows XP Pro.

Same configuration moved from a Windows 2000 Pro laptop, though, so it works in both.

Also works on Server 2003.
Ok, so let me see if I have this right. I DONT need to compile WG 3.3 to make my modules? Just have the sources and the SDK?
The Storm
DarkStar Development
telnet://thecrazyhousebbs.com
http://www.thecrazyhousebbs.com

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Re: WG 3.3 Wont compile

Post by dspain »

The Storm wrote:
Questman wrote:
The Storm wrote:Ok, one month in and still WG 3.3 will not compile. NO errors are generated yet nothing happens. Anyway to just get the damn libraries like a regular dev environment?
I'm sorry - help me understand what you're doing, trying to do, and what is happening.
Easy, we're just trying to get WG 3.3 to compile. Doing make doesn't do a thing. Using the IDE to compile doesn't do it either. Using the instructions in Netvillage.doc doesn't work as the changes they say to make in the make file don't exist.

Why can't the libraries just be distributed rather than the whole source? All we want to do is make modules and not actually change WG.
check your email on my server that will compile wg 3.3 from scratch in 5 mins

Questman
Posts: 629
Joined: Sat Apr 01, 2006 9:48 pm
Location: Raleigh, NC
Contact:

Post by Questman »

The Storm wrote:
Questman wrote:Windows XP Pro.

Same configuration moved from a Windows 2000 Pro laptop, though, so it works in both.

Also works on Server 2003.
Ok, so let me see if I have this right. I DONT need to compile WG 3.3 to make my modules? Just have the sources and the SDK?
Correct. The LIBs and object components are already included in the kit. You just need to compile your modules.

I put my module code in subdirectories under C:\WGDEV\SRC\APPS\

Questman
Posts: 629
Joined: Sat Apr 01, 2006 9:48 pm
Location: Raleigh, NC
Contact:

Re: WG 3.3 Wont compile

Post by Questman »

dspain wrote:check your email on my server that will compile wg 3.3 from scratch in 5 mins
Yeah, but he doesn't WANT to compile WG, he wants to compile modules.

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Re: WG 3.3 Wont compile

Post by dspain »

Questman wrote:
dspain wrote:check your email on my server that will compile wg 3.3 from scratch in 5 mins
Yeah, but he doesn't WANT to compile WG, he wants to compile modules.
in the email he sent me on my server he said he couldnt get 3.3 to compile.

The Storm
Posts: 163
Joined: Fri Jun 09, 2006 2:35 am
Location: Dover, DE

Re: WG 3.3 Wont compile

Post by The Storm »

Questman wrote:
dspain wrote:check your email on my server that will compile wg 3.3 from scratch in 5 mins
Yeah, but he doesn't WANT to compile WG, he wants to compile modules.
You are correct but I did email him due to me believing that I had to compile WG first. I thought it odd as others told me this is what had to happen in order to get my mods to work.
The Storm
DarkStar Development
telnet://thecrazyhousebbs.com
http://www.thecrazyhousebbs.com

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Re: WG 3.3 Wont compile

Post by dspain »

The Storm wrote:
Questman wrote:
dspain wrote:check your email on my server that will compile wg 3.3 from scratch in 5 mins
Yeah, but he doesn't WANT to compile WG, he wants to compile modules.
You are correct but I did email him due to me believing that I had to compile WG first. I thought it odd as others told me this is what had to happen in order to get my mods to work.
im actually working on something for ya storm.
where basically its a wgsdk only the required files and borland stuff.

eliminates the need for the complete borland and wg stuff.

The Storm
Posts: 163
Joined: Fri Jun 09, 2006 2:35 am
Location: Dover, DE

Re: WG 3.3 Wont compile

Post by The Storm »

dspain wrote:
The Storm wrote:
Questman wrote: Yeah, but he doesn't WANT to compile WG, he wants to compile modules.
You are correct but I did email him due to me believing that I had to compile WG first. I thought it odd as others told me this is what had to happen in order to get my mods to work.
im actually working on something for ya storm.
where basically its a wgsdk only the required files and borland stuff.

eliminates the need for the complete borland and wg stuff.
Awesome, we really could use that as we're behind a little bit in this project.
The Storm
DarkStar Development
telnet://thecrazyhousebbs.com
http://www.thecrazyhousebbs.com

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Re: WG 3.3 Wont compile

Post by dspain »

The Storm wrote:
dspain wrote:
The Storm wrote: You are correct but I did email him due to me believing that I had to compile WG first. I thought it odd as others told me this is what had to happen in order to get my mods to work.
im actually working on something for ya storm.
where basically its a wgsdk only the required files and borland stuff.

eliminates the need for the complete borland and wg stuff.
Awesome, we really could use that as we're behind a little bit in this project.
yeah i did that years ago when i first started compiling my own tele-arena for dos i was moving stuff around so much and pc to pc was easier to make my own dev-kit

in the end i had something so much smaller than the original dev-kit

Questman
Posts: 629
Joined: Sat Apr 01, 2006 9:48 pm
Location: Raleigh, NC
Contact:

Post by Questman »

Right.. but.. you don't need it. You don't need to compile anything to compile your modules!

The Storm
Posts: 163
Joined: Fri Jun 09, 2006 2:35 am
Location: Dover, DE

Post by The Storm »

Questman wrote:Right.. but.. you don't need it. You don't need to compile anything to compile your modules!
I know this now. :D
The Storm
DarkStar Development
telnet://thecrazyhousebbs.com
http://www.thecrazyhousebbs.com

Post Reply