Subversion Repositories forest

Compare Revisions

No changes between revisions

Regard whitespace Rev 1 → Rev 2

/trunk/DirectX 9.0c/APR2007_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/APR2007_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/APR2007_d3dx10_33_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/APR2007_d3dx10_33_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/APR2007_d3dx9_33_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/APR2007_d3dx9_33_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/APR2007_xinput_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/APR2007_xinput_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2006_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2006_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2006_xinput_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2006_xinput_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2007_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2007_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2007_d3dx10_35_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2007_d3dx10_35_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2007_d3dx9_35_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/AUG2007_d3dx9_35_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2005_d3dx9_25_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2005_d3dx9_25_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_MDX1_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_MDX1_x86_Archive.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_d3dx9_30_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_d3dx9_30_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_xinput_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Apr2006_xinput_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2005_d3dx9_27_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2005_d3dx9_27_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_XAudio_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_XAudio_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_d3dx10_39_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_d3dx10_39_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_d3dx9_39_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Aug2008_d3dx9_39_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/BDANT.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/BDAXP.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DEC2006_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DEC2006_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DEC2006_d3dx10_00_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DEC2006_d3dx10_00_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DEC2006_d3dx9_32_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DEC2006_d3dx9_32_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DSETUP.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/DXSETUP.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Dec2005_d3dx9_28_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Dec2005_d3dx9_28_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/FEB2007_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/FEB2007_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Feb2005_d3dx9_24_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Feb2005_d3dx9_24_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Feb2006_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Feb2006_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Feb2006_d3dx9_29_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Feb2006_d3dx9_29_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2006_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2006_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2007_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2007_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2007_d3dx10_34_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2007_d3dx10_34_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2007_d3dx9_34_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2007_d3dx9_34_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_X3DAudio_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_X3DAudio_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_XAudio_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_XAudio_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_d3dx10_38_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_d3dx10_38_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_d3dx9_38_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/JUN2008_d3dx9_38_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Jun2005_d3dx9_26_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Jun2005_d3dx9_26_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_X3DAudio_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_X3DAudio_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_XAudio_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_XAudio_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_d3dx10_37_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_d3dx10_37_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_d3dx9_37_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Mar2008_d3dx9_37_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/NOV2007_X3DAudio_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/NOV2007_X3DAudio_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/NOV2007_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/NOV2007_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Nov2007_d3dx10_36_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Nov2007_d3dx10_36_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Nov2007_d3dx9_36_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Nov2007_d3dx9_36_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/OCT2006_XACT_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/OCT2006_XACT_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/OCT2006_d3dx9_31_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/OCT2006_d3dx9_31_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Oct2005_xinput_x64.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/Oct2005_xinput_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/dsetup32.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/dxdllreg_x86.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/dxnt.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX 9.0c/dxupdate.cab
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/DirectX DLL/d3dx9_31.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Forest.DBA
0,0 → 1,1424
rem Nightmare Forest by Daniel Marschall
rem Revision: 31 May 2018
 
rem ---------------------
 
rem SPRUNG-PHYSIK:
rem - wenn man auf einem baum landet, kann man von dort aus nicht springen, und glitched manchmal auf dem boden
rem - im baum wird man trotzdem von skorpionen angefressen
rem ... scheinbar ist die jumpheight = 0 dann!
 
rem Der Himmel ist zu niedrig. Die Tannen sieht man nicht bis ganz oben
 
rem TODO: clone -> INSTANCE
 
rem TODO: scorpion schiebt stehenden spieler nicht weg
 
rem TODO: scorpion soll nicht so nah rankommen, sodass er im spieler stehen würde, wenn der spieler eingeklemmt ist
 
rem TODO: ambient light wird falsch verwendet. es ist viel zu blau, und alle objekte haben es deaktiviert, weil es die farben zerstört
 
rem TODO: screen or desktop?
rem TODO: mehr konfigurierbar machen
rem TODO: alles einrücken
 
rem TODO: lahm?
rem TODO: map außenlinie ist nicht gesperrt mit bäumen
rem TODO: überall float verwenden
 
rem TODO
rem - HUD
rem - schwimmen
rem - im wasser langsamer
rem - menü am anfang und pause mit maus bedienen
rem - rascheln im busch
rem - die gegner kommen erst nach einer bestimmten zeit. spawnen weit weg vom spieler
rem - tag und nachtzeiten?
 
rem NICE TO HAVE
rem - radar breitbild
rem - wassermatrix bewegt sich nur in 1 richtung
rem - mausumkehrung einstellbar
rem - stars.bmp (5000px) braucht lange zum laden. 1000px ist verpixelt
rem - besserer bluteffekt
 
rem ToDo:
rem Radar wackelt
rem :startgame weglassen
rem Streifen am Boden und am Himmel...
rem Baum teiltransparenz
rem Radar lieber als Matrix. Viele Probleme wie z.B. mit Skorpion transparenz
rem Unscharfes Radar, Radar ganz dyn. zeichnen? Rader stay on top
rem Menü: musik aus --> an: loop von position 0!
 
// --------------------------------
// Numerical Resources
// --------------------------------
rem TODO: vervollständigen
rem TODO: auch dateinamen als konstanten
 
#constant IMG_ForestFloor 1
#constant IMG_Stars 2
#constant IMG_Water 3
#constant IMG_Tree 4
#constant IMG_MapBackground 5
#constant IMG_PauseScreen 95
#constant IMG_TitleScreen 96
#constant IMG_BLOOD 97
 
#constant OBJ_Skybox 2
#constant OBJ_Tent 10
#constant OBJ_MapGhostObject 51
#constant OBJ_TreeTemplate 52
#constant OBJ_CollissionDummy 53
#constant OBJ_BloodParticle_Base 100
#constant OBJ_Monster_Base 1000
#constant OBJ_Tree_Base 1500
 
#constant MSH_TreeTemplate 52
 
#constant MAT_Ground 1
#constant MAT_Water 3
 
#constant SFX_ForestBG 1
#constant SFX_PauseMusic 5
#constant SFX_Walk_Earth 10
#constant SFX_Walk_Water 11
#constant SFX_Attack_Base 20
#constant SFX_Monster_Base 1000
 
#constant DLL_MapGen 1
#constant DLL_DBIni 2
#constant DLL_Resize32 3
#constant MEM_Map 1
#constant MEM_ResizeSrc 2
#constant MEM_ResizeDest 3
 
// --------------------------------
// File names
// --------------------------------
 
#constant FN_DLL_Resize32 "dll_resize\Resize32.dll"
#constant FN_DLL_MapGen32 "mapgen\mapgen32.dll"
#constant FN_DLL_DBIni "cfgread\dbini32.dll"
 
#constant FN_SFX_ForestBG "sound\forestbg.wav"
#constant FN_SFX_PauseMusic "music\pause.wav"
#constant FN_SFX_Walk_Earth "sound\walk.wav"
#constant FN_SFX_Walk_Water "sound\walk_water.wav"
#constant FN_SFX_ScorpWalk "test.wav"
#constant FN_SFX_ScorpionAttack1 "sound\scorpionAttack\attack1.wav"
#constant FN_SFX_ScorpionAttack2 "sound\scorpionAttack\attack2.wav"
#constant FN_SFX_ScorpionAttack3 "sound\scorpionAttack\attack3.wav"
#constant FN_SFX_ScorpionAttack4 "sound\scorpionAttack\attack4.wav"
 
#constant FN_OBJ_ScorpIdle "obj\scorpion\ScorpIdle.x"
#constant FN_OBJ_ScorpWalk "obj\scorpion\ScorpWalk.x"
#constant FN_OBJ_Tent "obj\tent\Tent.x"
#constant FN_GFX_PauseScreen "bitmap\titlescreen.jpg"
 
#constant FN_GFX_MapBackground "map\ST01L01a.bmp"
#constant FN_GFX_TitleScreen "bitmap\titlescreen.jpg"
#constant FN_GFX_FloorTexture "bitmap\forest_floor_texture.jpg"
#constant FN_GFX_Stars "bitmap\stars.bmp"
#constant FN_GFX_Water "bitmap\water.bmp"
#constant FN_GFX_Tree "bitmap\tree.bmp"
#constant FN_GFX_BLOOD "bitmap\blood.png"
 
// --------------------------------
// Language specific
// --------------------------------
 
rem TODO: vervollständigen. multilang per DLL
#constant LNG_StartingGame "Starting game..."
 
// --------------------------------
// Read configuration
// --------------------------------
 
load dll FN_DLL_DBIni, DLL_DBIni
call dll DLL_DBIni, "LoadINI", "forest.ini"
framerate = call dll(DLL_DBIni, "ReadInt", "Game", "framerate", 0)
clockSpeedFactor = call dll(DLL_DBIni, "ReadInt", "Game", "clockSpeedFactor", 0)
clockBlinksPerSecond = call dll(DLL_DBIni, "ReadInt", "Game", "clockBlinksPerSecond", 0)
clockShowSeconds = call dll(DLL_DBIni, "ReadInt", "Game", "clockShowSeconds", 0)
beginClockSeconds = call dll(DLL_DBIni, "ReadInt", "Game", "beginClockSeconds", 0)
enemyRotateSmoothness = call dll(DLL_DBIni, "ReadInt", "Game", "enemyRotateSmoothness", 0)
maxRunEnergy = call dll(DLL_DBIni, "ReadInt", "Game", "maxRunEnergy", 0)
waterLevel = call dll(DLL_DBIni, "ReadInt", "Game", "waterLevel", 0)
sound3dVolumeCor = call dll(DLL_DBIni, "ReadInt", "Game", "sound3dVolumeCor", 0)
invertMouse = call dll(DLL_DBIni, "ReadInt", "Game", "invertMouse", 0)
test = call dll(DLL_DBIni, "ReadInt", "Game", "test", 0)
camerarange = call dll(DLL_DBIni, "ReadInt", "Game", "camerarange", 0)
fogdistance = call dll(DLL_DBIni, "ReadInt", "Game", "fogdistance", 0)
waterMovementMaxDistance = call dll(DLL_DBIni, "ReadInt", "Game", "waterMovementMaxDistance", 0)
gravity# = call dll(DLL_DBIni, "ReadFloat", "Game", "gravity", 0.0)
JumpStartVelocity# = call dll(DLL_DBIni, "ReadFloat", "Game", "JumpStartVelocity", 0.0)
MinFallVelocity# = call dll(DLL_DBIni, "ReadFloat", "Game", "MinFallVelocity", 0.0)
collissionboxsize# = call dll(DLL_DBIni, "ReadFloat", "Game", "collissionboxsize", 0.0)
playerEyeHeight# = call dll(DLL_DBIni, "ReadFloat", "Game", "playerEyeHeight", 0.0)
cMaxTrees = call dll(DLL_DBIni, "ReadInt", "Game", "cMaxTrees", 0)
cMapSizeX = call dll(DLL_DBIni, "ReadInt", "Game", "cMapSizeX", 0)
cMapSizeZ = call dll(DLL_DBIni, "ReadInt", "Game", "cMapSizeZ", 0)
cTreeRadius = call dll(DLL_DBIni, "ReadInt", "Game", "cTreeRadius", 0)
cMaxEnemies = call dll(DLL_DBIni, "ReadInt", "Game", "cMaxEnemies", 0)
HitInterval = call dll(DLL_DBIni, "ReadInt", "Game", "HitInterval", 0)
initialEnemySafezone# = call dll(DLL_DBIni, "ReadFloat", "Game", "InitialEnemySafezone", 0.0)
cEnemySpawnMapBorderPadding = call dll(DLL_DBIni, "ReadInt", "Game", "EnemySpawnMapBorderPadding", 0)
call dll DLL_DBIni, "UnloadINI"
delete dll DLL_DBIni
 
rem Setup & Startbildschirm
if check display mode( desktop width(), desktop height(), screen depth() )
set display mode desktop width(), desktop height(), screen depth()
endif
hide mouse
 
Sync On
Sync Rate framerate
 
LoadImageFullscreen(FN_GFX_TitleScreen, IMG_TitleScreen)
 
PASTE IMAGE IMG_TitleScreen, 0, 0
 
rem Sync twice at application start for friendliness with dbpro's double buffering
rem (Required for newer versions of DB Pro)
sync : sync
 
gosub _menu
 
_startgame:
 
ink rgb(255, 230, 0), 0
PASTE IMAGE IMG_TitleScreen, 0, 0
text 28, 550, LNG_StartingGame
 
sync
 
randomize timer()
 
rem Working variables ONLY
JumpKeyStatePrev = 0
JumpPosition# = 0.0
onGround = 1
velocityY# = 0.0
runEnergy# = maxRunEnergy
clockSeconds = beginClockSeconds
collcounter = 0
hits = 0
LastAttackSound = 0
 
draw to front
 
gosub _setup_camera
gosub _create_floor
gosub _setup_player_position
gosub _create_sky
gosub _create_trees
gosub _draw_trees
gosub _create_water
gosub _create_radar
 
rem Bildschirm neu aufbauen
cls
sync
 
rem Lichtversuch
make light 1
 
rem Radar vorbereiten
radarpointcolor = 150
 
gosub _create_enemies
gosub _setupClock
gosub _setup_blood
 
Rem Forest atmo
load sound FN_SFX_ForestBG, SFX_ForestBG
load sound FN_SFX_PauseMusic, SFX_PauseMusic
load sound FN_SFX_Walk_Earth, SFX_Walk_Earth
load sound FN_SFX_Walk_Water, SFX_Walk_Water
 
#constant NumberOfAttackSounds 4
load sound FN_SFX_ScorpionAttack1, SFX_Attack_Base+0
load sound FN_SFX_ScorpionAttack2, SFX_Attack_Base+1
load sound FN_SFX_ScorpionAttack3, SFX_Attack_Base+2
load sound FN_SFX_ScorpionAttack4, SFX_Attack_Base+3
 
LoadImageFullscreen(FN_GFX_PauseScreen, IMG_PauseScreen)
 
#constant SPREAD1_MAX 10
#constant SPREAD2_MAX 15
 
Disable EscapeKey
 
loop sound SFX_ForestBG
 
rem Hauptschleife
do
gosub _handle_weather
gosub _handle_player
gosub _update_trees
gosub _handle_radar
gosub _handle_enemies
gosub _handleClock
gosub _handle_blood
rem TODO: does not work. There is always an attack!
set object collision on OBJ_CollissionDummy
position object OBJ_CollissionDummy, camera position x(), camera position y(), camera position z()
for t = 0 to cMaxEnemies-1
if object collision(OBJ_CollissionDummy, OBJ_Monster_Base+t) = 1
collcounter = collcounter + 1
print "Attacking enemy: ", t
endif
NEXT
print "Collision counter: ", collcounter
set object collision off OBJ_CollissionDummy
if collcounter >= HitInterval
collcounter = 0
inc hits, 1
gosub _play_attack_sound
gosub _splat_blood
endif
print "Hits: ", hits
if EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
gosub _pausemenu
endif
sceneInitialized=1
sync
loop
 
_pausemenu:
gosub _stop_game_sounds
loop sound SFX_PauseMusic
show mouse
repeat
cls
paste image IMG_PauseScreen, 0, 0
rem Text
ink rgb(255,255,255),1
text 100,100,"text"
text 28, 550, "Pause. ESC=Weiter. Runter=Ende."
sync
if DownKey() = 1
goto _exit
ENDIF
UNTIL EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
hide mouse
stop sound SFX_PauseMusic
loop sound SFX_ForestBG
rem TODO: das bringt nix. wenn man die maus bewegt, wird nach der pause die kamera gescrollt
set cursor 0, 0
return
 
_setup_camera:
Set camera range 1, camerarange
AUTOMATIC CAMERA COLLISION 0,collissionboxsize#,0 : rem scorpione stoßen den spieler nicht weg, wenn keine taste gedrückt wird? syntax mit 4 parametern funktioniert im neuen dbpro free nicht!
Autocam off
rem TODO: zylinder
MAKE OBJECT SPHERE OBJ_CollissionDummy, collissionboxsize#
rem hide object OBJ_CollissionDummy
set object collision off OBJ_CollissionDummy
return
 
_setup_player_position:
X# = cMapSizeX / 2
Y# = floorHeight#(X#, Z#) + playerEyeHeight
Z# = cMapSizeZ / 2
position camera X#, Y#, Z#
rem TODO zelt ist winzig klein!
rem TODO zelt ist schwarz schattiert
rem TODO zelt beleuchten
Load object FN_OBJ_Tent, OBJ_Tent
show object OBJ_Tent
scale object OBJ_Tent, 10000, 5000, 5000
position object OBJ_Tent, X#-20, Y#, Z#-10
return
 
_handle_weather:
rem Wetter
color ambient light rgb(64,64,128)
rem set ambient light 1
set ambient light 50
if fog available() = 1
fog on
fog distance fogdistance
fog color rgb(0, 0, 0)
endif
if test = 1
SET MATRIX WIREFRAME ON MAT_Ground
SET MATRIX WIREFRAME ON MAT_Water
endif
rem Stars are moving
scroll object texture OBJ_Skybox, 0.00002, 0
rem Water movement
rem TODO: wasser soll sich langsamer bewegen, aber das ist schwierig. wenn man die bewegung nur zu bestimmten ticks
rem durchführt, dann ruckelt es.
waterdir = (waterdir + 1) mod 360;
watermov = 0 + cos(waterdir)*waterMovementMaxDistance
position matrix MAT_Water, watermov, waterLevel, watermov
return
 
_handle_enemies:
pX# = Camera Position X()
pZ# = Camera Position Z()
rem TODO: gegner sollen sich nicht überschneiden
for t = 0 to cMaxEnemies-1
eX# = Object Position X(OBJ_Monster_Base+t)
eY# = Object Position Y(OBJ_Monster_Base+t)
eZ# = Object Position Z(OBJ_Monster_Base+t)
eRX# = Object Angle X(OBJ_Monster_Base+t)
eRY# = Object Angle Y(OBJ_Monster_Base+t)
eRZ# = Object Angle Z(OBJ_Monster_Base+t)
deltaX# = pX#-eX#
deltaZ# = pZ#-eZ#
 
rem TODO: cor file
yPosOffset# = 20
dist# = sqrt( deltaX#*deltaX# + deltaZ#*deltaZ# )
if clockSeconds > 1
if not sound playing(SFX_Monster_Base+t)
set sound volume SFX_Monster_Base+t, 0
rem TODO: beliebiges startoffset?
loop sound SFX_Monster_Base+t
endif
endif
rem The mixing of 3dsound is bullshit (too loud from far distance, and not very loud on close distance),
rem so we mix the volume ourself
if sound3dVolumeCor>0 and dist#<sound3dVolumeCor then set sound volume SFX_Monster_Base+t, (1-(dist#/sound3dVolumeCor))*100
rem TODO: 100 dynamisch machen
rem at least a distance of 10 so that atanfull() does not bug, when deltas becomes 0
rem Verhindern, dass der Skorpion in einem "drin" steht. Er soll mit den Scheren angreifen
scorpMinDistance = 100
if dist# > scorpMinDistance
if dist# < enemy(t).AwarenessRadius
enemy(t).Angle = atanfull(deltaX#, deltaZ#)
enemy(t).Angle = WrapValue(enemy(t).Angle+180)
enemy(t).CurSpeed = enemy(t).MaxSpeed
else
if enemy(t).WalkTimeout <= 0
enemy(t).WalkTimeout = RndBetween(enemy(t).WalkTimeoutMin, enemy(t).WalkTimeoutMax)
enemy(t).Angle = RndBetween(0,359)
enemy(t).CurSpeed = RndBetween(0, enemy(t).MaxSpeed)
ENDIF
enemy(t).WalkTimeout = enemy(t).WalkTimeout - 1
endif
if enemy(t).CurSpeed = 0
gosub scorpChangeToIdle
else
gosub scorpChangeToWalk
rem TODO: also make animation slower/faster
endif
 
a# = WrapValue(enemy(t).Angle + 180)
XTest# = Newxvalue(eX#, a#, enemy(t).CurSpeed)
ZTest# = Newzvalue(eZ#, a#, enemy(t).CurSpeed)
if XTest# > 0 and XTest# < cMapSizeX then eX# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then eZ# = ZTest#
if XTest# <= 0 or XTest# >= cMapSizeX or ZTest# <= 0 or ZTest# >= cMapSizeZ
rem Kehrtwende, um den Kartenrand zu verlassen
enemy(t).Angle = WrapValue(enemy(t).Angle+180)
enemy(t).WalkTimeout = RndBetween(enemy(t).WalkTimeoutMin, enemy(t).WalkTimeoutMax)
enemy(t).CurSpeed = RndBetween(0, enemy(t).MaxSpeed)
endif
eY# = floorHeight#(eX#, eZ#) + yPosOffset#
Position Object OBJ_Monster_Base+t, eX#, eY#, eZ#
Position Sound SFX_Monster_Base+t, eX#, eY#, eZ#
eRY# = smoothRotate#(eRY#, enemy(t).Angle, enemyRotateSmoothness)
rotate object OBJ_Monster_Base+t, eRX#, eRY#, eRZ#
endif
next
return
 
#constant GROUNDTYPE_AIR 0
#constant GROUNDTYPE_EARTH 1
#constant GROUNDTYPE_WATER 2
rem #constant GROUNDTYPE_DEEPWATER 3
function groundType(onGround, waterLevel)
if onGround = 0
ret = GROUNDTYPE_AIR
else
X# = camera position x()
Z# = camera position z()
if floorHeight#(X#,Z#) > waterLevel
ret = GROUNDTYPE_EARTH
else
ret = GROUNDTYPE_WATER
endif
endif
endfunction ret
 
_handle_player:
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
X# = camera position x()
Y# = camera position y()
Z# = camera position z()
 
if invertMouse = 1
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
else
cAX# = WrapValue(cAX# + MousemoveY() * 0.2)
endif
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAZ# = Camera angle Z()
 
rem Sprungroutine
rem TODO: + Anlaufsprung
JumpKeyStateNow=jumpPressed()
if (JumpKeyStatePrev=0) and (JumpKeyStateNow=1)
gosub PressJumpKey
ENDIF
if (JumpKeyStatePrev=1) and (JumpKeyStateNow=0)
gosub ReleaseJumpKey
ENDIF
JumpKeyStatePrev = JumpKeyStateNow
gosub JumpUpdate
rem Laufen
speedboost# = 1
gt = groundType(onGround, waterLevel)
if upPressed()+downPressed()+leftPressed()+rightPressed() = 0
runEnergy# = runEnergy# + 2
stop sound SFX_Walk_Earth
stop sound SFX_Walk_Water
else
if gt = GROUNDTYPE_EARTH
stop sound SFX_Walk_Water
if not sound playing(SFX_Walk_Earth)
loop sound SFX_Walk_Earth
endif
endif
if gt = GROUNDTYPE_WATER
stop sound SFX_Walk_Earth
if not sound playing(SFX_Walk_Water)
loop sound SFX_Walk_Water
endif
endif
if gt = GROUNDTYPE_AIR
stop sound SFX_Walk_Earth
stop sound SFX_Walk_Water
endif
energyChanged = 0
if ShiftKey()+ControlKey() = 1 : rem shift+control at the same time = walk normal
rem TODO: es ruckelt trotzdem noch
if ControlKey()=1 and runEnergy#>0 : rem Energy >1 , damit es nicht ruckelt (run-walk-run-walk-run-walk) . 3 = walk regain
speedboost# = 2
runEnergy# = runEnergy# - 1
energyChanged = 1
endif
if ShiftKey()=1
speedboost# = 0.5
runEnergy# = runEnergy# + 0.5
energyChanged = 1
endif
endif
if not energyChanged then runEnergy# = runEnergy# + 1
if upPressed()
XTest# = Newxvalue(X#, cAY#, 7*speedboost#)
ZTest# = Newzvalue(Z#, cAY#, 7*speedboost#)
gosub _WorldBoundCheck
endif
if downPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
gosub _WorldBoundCheck
endif
if leftPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
gosub _WorldBoundCheck
endif
if rightPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
gosub _WorldBoundCheck
endif
endif
if runEnergy# > maxRunEnergy then runEnergy# = maxRunEnergy
print "Run energy: ", runEnergy#
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera
if onGround=1
Y#=floorHeight#(X#, Z#)
else
Y#=JumpPosition#
ENDIF
inc Y#, playerEyeHeight#
Position Camera X#, Y#, Z#
 
Rem Position Listener
Position Listener X#, Y#, Z#
Rotate Listener 0, cAY#, 0 : rem todo warum 0 statt cAZ# etc ?
 
rem Sky sphere follows player
rem position object OBJ_Skybox, X#, Y#, Z#
position object OBJ_Skybox, X#, FloorHeight#(X#,Z#), Z#
rem Sollte man aus irgendeinem Grund die Skybox verlassen, soll man trotzdem zur Erde schauen können
backdrop on
color backdrop rgb(0,0,128) : rem TODO: schwarz + auslagern
set object cull OBJ_Skybox, 1
 
rem texture backdrop IMG_Stars
rem hide object OBJ_Skybox
rem set object fog OBJ_Skybox, 0
 
rem TEST: extend skybox if player jumps
if onGround = 0
jumpheight#=Y#-FloorHeight#(X#,Z#)
else
jumpheight#=0
endif
 
rem TODO: beim springen sieht man am boden den backdrop
rem 500 = die originalgröße der box, vor der ersten scalisierung (setup sky)
rem 600,120,600 = die originale skalierung als referenz
rem *2 , da es von beiden seiten erweitert wird
scalX# = 100.0*(500.0*6.00 + jumpheight#*2)/500.0
scalY# = 100.0*(500.0*1.20 + jumpheight#*2)/500.0
scalZ# = 100.0*(500.0*6.00 + jumpheight#*2)/500.0
scale object OBJ_Skybox, scalX#, scalY#, scalZ#
return
 
_WorldBoundCheck:
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
return
_update_trees:
if (ceil(X#) mod 10 = 0) or (ceil(Z#) mod 10 = 0) or (sceneInitialized=0)
for t = 0 to cMaxTrees-1
rx = tree(t).x
rz = tree(t).z
incircle = IsInCircle(rx, rz, X#, Z#, camerarange)
rem incircle = IsInCircle(rx, rz, X#, Z#, fogdistance)
if incircle <> tree(t).drawn
if incircle = 1
if object exist(OBJ_Tree_Base+t)
show object OBJ_Tree_Base+t
else
make object OBJ_Tree_Base+t, MSH_TreeTemplate, IMG_Tree
position object OBJ_Tree_Base+t, rx, floorHeight#(rx, rz)+190, rz
set object OBJ_Tree_Base+t, 1, 1, 0
rotate object OBJ_Tree_Base+t, 0, RndBetween(0,359), 0
endif
else
delete object OBJ_Tree_Base+t
rem hide object OBJ_Tree_Base+t
endif
ENDIF
tree(t).drawn = incircle
next t
endif
return
 
_fademenu:
if fade# > 100 then fadedir = 0
if fade# < 50 then fadedir = 1
if fadedir = 1
fade# = fade# + 2.5
else
fade# = fade# - 2.5
endif
rem Beleuchtet
ink rgb(255, fade#, 0), 0
set text font "Tahoma"
set text size 26
if menu = 1
if pos = 1 then text 260, 255, "Neues Spiel starten"
if pos = 2 then text 260, 285, "Spiel laden"
if pos = 3 then text 260, 315, "Einstellungen"
if pos = 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos = 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos = 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos = 3 then text 260, 315, "Hauptmenü"
endif
rem Normal
ink rgb(255, 230, 0), 0
if menu = 1
if pos <> 1 then text 260, 255, "Neues Spiel starten"
if pos <> 2 then text 260, 285, "Spiel laden"
if pos <> 3 then text 260, 315, "Einstellungen"
if pos <> 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos <> 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos <> 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos <> 3 then text 260, 315, "Hauptmenü"
endif
sync
return
 
_handle_radar:
rem TODO: the player dot should always stay at the same position
rem TODO: don't show far away enemies
rem Leuchtpunkt
if radarpointrev = 0
inc radarpointcolor, 3
else
dec radarpointcolor, 3
endif
if radarpointcolor > 255
radarpointrev = 1
radarpointcolor = 254
endif
if radarpointcolor < 150
radarpointrev = 0
radarpointcolor = 149
endif
rem Bäume
for t = 0 to cMaxTrees-1
if tree(t).drawn
x = tree(t).x
y = tree(t).z
 
x0 = camera position x()
y0 = camera position z()
ang = camera angle y()
tx = x0 + (x-x0)*cos(ang) - (y-y0)*sin(ang)
ty = y0 + (x-x0)*sin(ang) + (y-y0)*cos(ang)
x = tx
y = ty
x = (x / 62.5) + 7.5
y = screen height() - 7.5 - (y / 62.5)
rem ink rgb(0, radarpointcolor, 0), 0
ink rgb(0, 50, 0), 0
circle x, y, 1
circle x, y, 0
endif
next i
rem Player
x = (X# / 62.5) + 7.5
y = screen height() - 7.5 - (Z# / 62.5)
ink rgb(0, 0, radarpointcolor), 0
circle x, y, 1
circle x, y, 0
rem Enemies
for t = 0 to cMaxEnemies-1
x = object position x(OBJ_Monster_Base+t)
y = object position z(OBJ_Monster_Base+t)
x0 = camera position x()
y0 = camera position z()
ang = camera angle y()
tx = x0 + (x-x0)*cos(ang) - (y-y0)*sin(ang)
ty = y0 + (x-x0)*sin(ang) + (y-y0)*cos(ang)
x = tx
y = ty
x = (x / 62.5) + 7.5
y = screen height() - 7.5 - (y / 62.5)
ink rgb(radarpointcolor, 0, 0), 0
circle x, y, 1
circle x, y, 0
next
return
 
_draw_trees:
rem TODO: da ist ein baum an offset 0,0,0
load image FN_GFX_Tree, IMG_Tree
make object plain OBJ_TreeTemplate, 2*cTreeRadius, 400
make mesh from object MSH_TreeTemplate, OBJ_TreeTemplate
add limb OBJ_TreeTemplate, 1, MSH_TreeTemplate
rotate limb OBJ_TreeTemplate, 1, 0, 90, 0
make mesh from object MSH_TreeTemplate, OBJ_TreeTemplate
delete object OBJ_TreeTemplate
return
 
_create_trees:
dim tree(cMaxTrees-1) as treeType
remstart
for t = 0 to cMaxTrees-1
tree(t).x = RndBetween(0, cMapSizeX)
tree(t).z = RndBetween(0, cMapSizeZ)
tree(t).drawn = 0
NEXT
remend
rem TODO: wegbreite definieren
load dll FN_DLL_MapGen32, DLL_MapGen
call dll DLL_MapGen, "LoadParametersFromINI", "forest.ini"
 
load dll FN_DLL_DBIni, DLL_DBIni
call dll DLL_DBIni, "LoadINI", "seed.ini"
onetimeseed = call dll(DLL_DBIni, "ReadInt", "Seed", "onetime", 0)
staticseed = call dll(DLL_DBIni, "ReadInt", "Seed", "value", 0)
seedactive = call dll(DLL_DBIni, "ReadInt", "Seed", "active", 0)
IF (onetimeseed = 1) AND (seedactive = 1)
call dll DLL_DBIni, "WriteInt", "Seed", "active", 0
ENDIF
IF seedactive
call dll DLL_MapGen, "UseSeed", staticseed
ELSE
call dll DLL_MapGen, "RandomSeed"
ENDIF
call dll DLL_DBIni, "UnloadINI"
delete dll DLL_DBIni
make memblock MEM_Map, cMaxTrees*8
call dll DLL_MapGen, "GenerateMap", cMaxTrees, cTreeRadius, cMapSizeX, cMapSizeZ, get memblock ptr(MEM_Map), 0
for t = 0 to cMaxTrees-1
tree(t).x = memblock dword(MEM_Map, t*8)
tree(t).z = memblock dword(MEM_Map, t*8+4)
tree(t).drawn = 0
NEXT
delete memblock MEM_Map
delete dll DLL_MapGen
return
 
_menu:
PASTE IMAGE IMG_TitleScreen, 0, 0
set text font "times"
set text size 27
fade = 100
pos = 1
menu = 1
sound = 1
do
gosub _fademenu
if ( downkey() = 1 and pos < 4 and menu = 1 ) or ( downkey() = 1 and pos < 3 and menu = 3 )
inc pos
while downkey() = 1
gosub _fademenu
endwhile
endif
if upkey() = 1 and pos > 1
dec pos
while upkey() = 1
gosub _fademenu
endwhile
endif
if returnkey() = 1
if menu = 1
if pos = 1 then gosub _startgame
if pos = 2
rem PASTE IMAGE IMG_TitleScreen, 0, 0
rem menu = 2
rem pos = 1
endif
if pos = 3
PASTE IMAGE IMG_TitleScreen, 0, 0
menu = 3
pos = 1
endif
if pos = 4 then end
else
if menu = 3
if pos = 1
if sound = 1
sound = 0
else
sound = 1
endif
PASTE IMAGE IMG_TitleScreen, 0, 0
endif
if pos = 2
if music = 1
music = 0
else
music = 1
endif
PASTE IMAGE IMG_TitleScreen, 0, 0
endif
if pos = 3
PASTE IMAGE IMG_TitleScreen, 0, 0
menu = 1
pos = 1
endif
endif
endif
while returnkey() = 1
gosub _fademenu
endwhile
endif
loop
return
 
_create_enemies:
dim enemy(cMaxEnemies-1) as enemyType
for t = 0 to cMaxEnemies-1
if t=0
Load 3Dsound FN_SFX_ScorpWalk,SFX_Monster_Base+t
else
Clone Sound SFX_Monster_Base+t, SFX_Monster_Base
endif
 
pX# = Camera Position X()
pY# = Camera Position Y()
pZ# = Camera Position Z()
 
repeat
eX# = RndBetween(cEnemySpawnMapBorderPadding, cMapSizeX-cEnemySpawnMapBorderPadding)
eZ# = RndBetween(cEnemySpawnMapBorderPadding, cMapSizeZ-cEnemySpawnMapBorderPadding)
deltaX# = pX#-eX#
deltaZ# = pZ#-eZ#
dist# = sqrt( deltaX#*deltaX# + deltaZ#*deltaZ# )
rem Prevent that the enemies spawn right at the player (5000/5000)
until dist# >= initialEnemySafezone#
enemy(t).AwarenessRadius = RndBetween(600, 1300)
enemy(t).MaxSpeed = RndBetween(1, 4)
enemy(t).WalkTimeoutMin = 200
enemy(t).WalkTimeoutMax = 300
if t = 0
animScorpIdleStart = 0
Load object FN_OBJ_ScorpIdle, OBJ_Monster_Base+t
animScorpIdleEnd = total object frames(OBJ_Monster_Base+t)
animScorpWalkStart = animScorpIdleEnd+1
Append object FN_OBJ_ScorpWalk, OBJ_Monster_Base+t, animScorpWalkStart
animScorpWalkEnd = total object frames(OBJ_Monster_Base+t)
else
Clone Object OBJ_Monster_Base+t, OBJ_Monster_Base
endif
eY# = floorHeight#(eX#, eZ#) : rem TODO + yPosOffset#
position object OBJ_Monster_Base+t, eX#, eY#, eZ#
Position Sound SFX_Monster_Base+t, eX#, eY#, eZ#
fix object pivot OBJ_Monster_Base+t
gosub scorpChangeToWalk
set object collision on OBJ_Monster_Base+t
NEXT
return
 
scorpChangeToIdle:
rem TODO: smoothness (interpolation)
if enemy(t).CurrentAnim <> 1
loop object OBJ_Monster_Base+t, animScorpIdleStart, animScorpIdleEnd
enemy(t).CurrentAnim = 1
endif
return
 
scorpChangeToWalk:
rem TODO: smoothness (interpolation)
if enemy(t).CurrentAnim <> 2
loop object OBJ_Monster_Base+t, animScorpWalkStart, animScorpWalkEnd
enemy(t).CurrentAnim = 2
endif
return
 
_setupClock:
set text font "arial" : set text size 30 : set text transparent
// Session variables
clockTickCounter=0
clockCurrentMidDot=0
clockTicksPerSecond = framerate
return
 
_handleClock:
if mod(clockTickCounter*clockBlinksPerSecond, clockTicksPerSecond) = 0
clockCurrentMidDot = 1 - clockCurrentMidDot
endif
if mod(clockTickCounter*clockSpeedFactor, clockTicksPerSecond) = 0
clockSeconds = clockSeconds + 1
endif
gosub _printClock
 
clockTickCounter = clockTickCounter + 1
RETURN
 
_create_water:
make matrix MAT_Water, cMapSizeX+2*waterMovementMaxDistance, cMapSizeZ+2*waterMovementMaxDistance, 15, 15
load image FN_GFX_Water, IMG_Water
prepare matrix texture MAT_Water, IMG_Water, 1, 1
fill matrix MAT_Water, 0, 1
position matrix MAT_Water, 0, waterLevel, 0
ghost matrix on MAT_Water
set matrix MAT_Water, 0, 0, 1, 1, 1, 1, 1
update matrix MAT_Water
return
 
_create_floor:
rem Boden
make matrix MAT_Ground, cMapSizeX, cMapSizeZ, 15, 15
 
load image FN_GFX_FloorTexture, IMG_ForestFloor
prepare matrix texture MAT_Ground, IMG_ForestFloor, 1, 1
fill matrix MAT_Ground, 0, 1
set matrix MAT_Ground, 0, 0, 1, 1, 1, 1, 1
randomize matrix MAT_Ground, 130
rem TEST
rem TODO: aber man kann 40,40 nicht updaten?!
set matrix height MAT_Ground, 10, 10, 1000
update matrix MAT_Ground
remstart
currentmatrix=1
for z=1 to 20
for x=1 to 20
rem Get matrix heights
rem print x, " - ", z
rem sync
rem sleep 100
h8#=get matrix height(currentmatrix,x,z-1)
h4#=get matrix height(currentmatrix,x-1,z)
h#=get matrix height(currentmatrix,x,z)
h2#=get matrix height(currentmatrix,x,z)
rem Calculate projected angle X using heights
x1#=(x-1)*25.0 : y1#=h#
x2#=(x+0)*25.0 : y2#=h4#
dx#=x2#-x1#
dy#=y2#-y1#
ax#=atanfull(dx#,dy#)
ax#=wrapvalue(90-ax#)
rem Calculate projected angle Z using heights
z1#=(z-1)*25.0 : y1#=h2#
z2#=(z+0)*25.0 : y2#=h8#
dz#=z2#-z1#
dy#=y2#-y1#
az#=atanfull(dz#,dy#)
az#=wrapvalue(90-az#)
rem Make normal from projected angle
nx#=sin(ax#)
ny#=cos(ax#)
nz#=sin(az#)
rem Setting matrix normal for smoothness
set matrix normal currentmatrix,x,z,nx#,ny#,nz#
next x
next z
update matrix currentmatrix
remend
return
 
_create_sky:
if test = 1
load image FN_GFX_Tree, IMG_Stars : rem Any small picture - it doesn't matter since we only show wireframe
else
load image FN_GFX_Stars, IMG_Stars
endif
 
rem TODO: landsize undefined
make object sphere OBJ_Skybox, (landsize * 2) - 500
 
rem make object sphere OBJ_Skybox, -4000
set object collision off OBJ_Skybox
rem scale object OBJ_Skybox, 2000, 750, 2000
scale object OBJ_Skybox, 600, 120, 600
set object OBJ_Skybox, 1, 0, 0, 0, 0, 1, 1
texture object OBJ_Skybox, IMG_Stars
rem fade object OBJ_Skybox, 0
if test = 1
backdrop on
set object wireframe OBJ_Skybox, 1
else
backdrop off
endif
return
 
_create_radar:
rem Karte - Abstand zur Kamera: 1.1
remstart
load image FN_GFX_MapBackground, IMG_MapBackground
make object plain OBJ_MapGhostObject, 0.352, 0.352
lock object on OBJ_MapGhostObject
position object OBJ_MapGhostObject, -0.6908, -0.4675, 1.1
ghost object on OBJ_MapGhostObject
texture object OBJ_MapGhostObject, IMG_MapBackground
remend
rem Karte - Abstand zur Kamera: 1.5
load image FN_GFX_MapBackground, IMG_MapBackground
make object plain OBJ_MapGhostObject, 0.48, 0.48
lock object on OBJ_MapGhostObject
position object OBJ_MapGhostObject, -0.942, -0.6375, 1.5
ghost object on OBJ_MapGhostObject
texture object OBJ_MapGhostObject, IMG_MapBackground
return
 
_printClock:
if clockCurrentMidDot = 0
middle$ = " "
else
middle$ = ":"
endif
mind = clockSeconds/60
hours = mind/60
if clockShowSeconds
secsText$ = middle$+TwoDigit$(mod(clockSeconds,60))
else
secsText$ = ""
endif
print "Time: ", TwoDigit$(mod(hours,24)), middle$, TwoDigit$(mod(mind,60)), secsText$
return
 
rem Rotate smooth, and rotate in the direction with the lowest distance
rem "turn object left" ist das kommando
function smoothRotate#(von#, nach#, smoothness)
if (von# > 270) and (nach# < 90)
ret# = WrapValue(von# + (360 - von# + nach#)/smoothness)
else
if (von# < 90) and (nach# > 270)
ret# = WrapValue(von# - (360 - nach# + von#)/smoothness)
else
ret# = von# + (nach# - von#)/smoothness
endif
endif
endfunction ret#
 
function floorHeight#(X#, Z#)
rem TODO: implement water
ret# = Get Ground Height(MAT_Ground, X#, Z#)
ENDFUNCTION ret#
 
function upPressed()
ret = UpKey()=1 or keystate(17)=1 or joystick up()=1
ENDFUNCTION ret
 
function leftPressed()
ret = LeftKey()=1 or keystate(30)=1 or joystick left()=1
ENDFUNCTION ret
 
function rightPressed()
ret = RightKey()=1 or keystate(32)=1 or joystick right()=1
ENDFUNCTION ret
 
function downPressed()
ret = DownKey()=1 or keystate(31)=1 or joystick down()=1
ENDFUNCTION ret
 
function jumpPressed()
ret = keystate(57)=1 or JOYSTICK FIRE A()=1
ENDFUNCTION ret
 
function TwoDigit$(value)
if value < 10
ret$ = "0"+STR$(value)
else
ret$ = STR$(value)
ENDIF
ENDFUNCTION ret$
 
function mod(num,modulus)
value=num-((num/modulus)*modulus)
endfunction value
 
function fileReadInt(fileNum)
read string 1, s$
ret=val(s$)
ENDFUNCTION ret
 
function fileReadFloat#(fileNum)
read string 1, s$
ret#=val(s$)
ENDFUNCTION ret#
 
function RndBetween(a,b)
ret = a+Rnd(b-a)
ENDFUNCTION ret
 
function isInCircle(pX#,pY#,cX#,cY#,cR#)
ret = sqrt( (pX#-cX#)*(pX#-cX#) + (pY#-cY#)*(pY#-cY#) ) <= cR#
ENDFUNCTION ret
 
_stop_game_sounds:
Stop Sound SFX_ForestBG
Stop Sound SFX_PauseMusic
Stop Sound SFX_Walk_Earth
Stop Sound SFX_Walk_Water
for t = 0 to cMaxEnemies-1
Stop Sound SFX_Monster_Base+t
next t
return
 
type treeType
x as float
z as float
drawn as boolean
endtype
 
type enemyType
Speed as float
WalkTimeout as float
WalkTimeoutMin as float
WalkTimeoutMax as float
AwarenessRadius as float
CurSpeed as float
MaxSpeed as float
Angle as float
CurrentAnim as float
endtype
 
PressJumpKey:
if onGround=1
rem TODO: absprungsound
JumpPosition#=floorHeight#(X#,Z#)
velocityY# = JumpStartVelocity#
onGround = 0
endif
return
 
ReleaseJumpKey:
if velocityY# > MinFallVelocity#
velocityY# = MinFallVelocity#
endif
return
 
JumpUpdate:
if onGround=0
dec velocityY#, gravity#
inc JumpPosition#, velocityY#
rem TODO: man kann sich dann durch die decke glitchen
curFloorHeight# = floorHeight#(X#,Z#)
if JumpPosition# < curFloorHeight#
rem TODO: aufprallsound
JumpPosition# = curFloorHeight#
velocityY# = 0.0
onGround = 1
endif
endif
return
 
function resizeImage(image as dword, width as dword, height as dword)
if DLL EXIST(DLL_Resize32) = 0
load dll FN_DLL_Resize32, DLL_Resize32
endif
make memblock from image MEM_ResizeSrc, image
size = call dll(DLL_Resize32, "DestSize", get memblock ptr(MEM_ResizeSrc), width, height)
make memblock MEM_ResizeDest, size
 
call dll DLL_Resize32, "Resize", get memblock ptr(MEM_ResizeSrc), get memblock ptr(MEM_ResizeDest), width, height
make image from memblock image, MEM_ResizeDest
delete memblock MEM_ResizeSrc
delete memblock MEM_ResizeDest
REM delete dll DLL_Resize
 
endfunction
 
function LoadImageFullscreen(imgFN as string, imgID)
Load Image imgFN, imgID
width = desktop width()
height = image height(imgID)*desktop width()/1.0/image width(imgID);
resizeImage(imgID, width, height)
ENDFUNCTION
 
_play_attack_sound:
repeat
r=RndBetween(0,NumberOfAttackSounds-1)
UNTIL (r <> LastAttackSound) or (NumberOfAttackSounds = 1)
LastAttackSound=r
play sound SFX_Attack_Base+r
return
 
_setup_blood:
// Make 100 particle objects
particleIndex = 0
#constant PARTICLEMAX = 500
dim particle(PARTICLEMAX) as particleType
rem TODO: mehr
rem http://nobacks.com/blood-splatter-eighty-eight/
load image FN_GFX_BLOOD, IMG_BLOOD
for i = 0 to PARTICLEMAX-1
make object plain OBJ_BloodParticle_Base+i, 2, 2
set object ambient OBJ_BloodParticle_Base+i, 0
set object collision off OBJ_BloodParticle_Base+i
rem color object OBJ_BloodParticle_Base+i, rgb(128, 0, 0)
texture object OBJ_BloodParticle_Base+i, IMG_BLOOD
set object cull OBJ_BloodParticle_Base+i, 0
set object transparency OBJ_BloodParticle_Base+i, 6
rem TEST
rem rotate object OBJ_BloodParticle_Base+i, RndBetween(0,359), RndBetween(0,359), RndBetween(0,359)
exclude object on OBJ_BloodParticle_Base+i
next i
return
 
_handle_blood:
// Update particles
for i = 0 to PARTICLEMAX-1
UpdateParticle(i)
next i
return
 
_splat_blood:
rem https://forum.thegamecreators.com/thread/160210#msg1886513 , modified
rem TODO: sieht einfach nur scheiße aus. außerdem ist der strahl in 2 himmelsrichtungen schmal (seitlich)
rem yoff = rnd(SPREAD1_MAX*2)-SPREAD1_MAX;
 
// Activate blood particles around box
for i = 0 to PARTICLEMAX-1
// The angle particles should fly
a#=camera angle y()
rem yAng# = a#+rnd(SPREAD2_MAX*2)-SPREAD2_MAX+yoff
yAng#=a#
 
// Calculate directions
xSpeed# = sin(yAng#)
zSpeed# = cos(yAng#)
// Calculate speeds
xSpeed# = xSpeed# * (rnd(20)/5.0)
ySpeed# = ((rnd(20)-rnd(20))/10.0)
zSpeed# = zSpeed# * (rnd(20)/5.0)
// Activate particle
x# = camera position x()
y# = camera position y()
z# = camera position z()
life = 30+rnd(30)
particleIndex = ActivateParticle(particleIndex, life, x#, y#, z#, xSpeed#, ySpeed#, zSpeed#)
next i
return
// Activate the specified particle and give it an initial position/velocity
function ActivateParticle(i, life, x#, y#, z#, xSpeed#, ySpeed#, zSpeed#)
// Cycle through the particle objects to use
inc i
if i > PARTICLEMAX-1 then dec i, PARTICLEMAX-1
// Set particle variables
particle(i).life = life
particle(i).x = x#
particle(i).y = y#
particle(i).z = z#
particle(i).xSpeed = xSpeed#
particle(i).ySpeed = ySpeed#
particle(i).zSpeed = zSpeed#
// Show particle object
exclude object off OBJ_BloodParticle_Base+i
endfunction i
// Update positioning for specified particle
function UpdateParticle(i)
// Only update particles that are alive
if particle(i).life > 0
// Apply gravity
rem dec particle(i).ySpeed, 0.098
dec particle(i).ySpeed, 0.200
// Move the particle
inc particle(i).x, particle(i).xSpeed
inc particle(i).y, particle(i).ySpeed
inc particle(i).z, particle(i).zSpeed
// Position particle
position object OBJ_BloodParticle_Base+i, particle(i).x, particle(i).y, particle(i).z
rem point object OBJ_BloodParticle_Base+i, camera position x(), camera position y(), camera position z()
 
 
// Lower particle's life
dec particle(i).life
// Hide particles when they die
if particle(i).life <= 0
exclude object on OBJ_BloodParticle_Base+i
endif
endif
endfunction
// Data type used by particles
type particleType
life as integer // Remaining life of particle (0=Dead)
x as float // Position
y as float // ...
z as float // ...
xSpeed as float // Velocity
ySpeed as float // ...
zSpeed as float // ...
endtype
 
rem -- MUST STAY AT THE END OF THE PROGRAM --
_exit:
exit
/trunk/Forest.dbpro
0,0 → 1,63
; **** Dark BASIC Professional Project File ****
; **** Written by DarkBASIC Professional Editor ****
version=DBP1.00
project name=Nightmare Forest
 
; **** source file information ****
main=Forest.DBA
LineMain=276
final source=_Temp.dbsource
 
; **** Executable Information ***
; build types: exe, media, installer, alone
executable=Forest.exe
build type=exe
; ** Media file compression **
compression=YES
 
; ** Media file encryption **
encryption=NO
; ** Display the card options screen window? **
card options window=NO
 
; **** debugger information ****
; If the editor sets this to yes, it is running in debug mode
CLI=NO
CommandLineArguments=
 
; **** display mode information ****
app title=Nightmare Forest
 
; graphics mode options: fullscreen, window, desktop, fulldesktop, hidden
graphics mode=fulldesktop
fullscreen resolution=640x480x16
 
; arbitrary sizes are valid for windowed mode
window resolution=640x480
 
; **** External Files Information ****
 
; **** Media ****
; Example entries: media1=graphics\*.jpg
media root path=E:\tdn\
 
; **** Icons ****
icon1=Forest.ico
 
; **** Cursors ****
 
; **** Version Info ****
VerComments=www.daniel-marschall.de
VerCompany=Daniel Marschall, ViaThinkSoft
VerFileDesc=Nightmare Forest
VerFileNumber=v1.0
VerInternal=v1.0
VerCopyright=(C)Copyright 2001 - 2015 Daniel Marschall.
VerTrademark=
VerFilename=
VerProduct=
VerProductNumber=v1.0
 
; **** To Do ****
 
; **** Comments ****
/trunk/Forest.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Fotos/800px_COLOURBOX3928802.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Fotos/Nachts im Wald Dezember 11.JPG
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Fotos/img_1355.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_Forest.DBA
0,0 → 1,974
rem Nightmare Forest
rem by Daniel Marschall
 
rem ToDo:
rem Nebel-Himmel-Probleme
rem DynArray
rem Steifen am Boden
rem Radar wackelt
rem Verifizieren der Dateien
rem :startgame weglassen
rem Streifen am Boden und am Himmel...
rem Baum teiltransparenz
rem Radar lieber als Matrix. Viele Probleme wie z.B. mit Skorpion transparenz
rem Unscharfes Radar, Radar ganz dyn. zeichnen? Rader stay on top
rem Menü: musik aus --> an: loop von position 0!
rem Horizont machen...
rem breitbild
rem mausumkehrung einstellbar
rem die gegner kommen erst nach einer bestimmten zeit. spawnen weit weg vom spieler
rem stars.bmp (5000px) braucht lange zum laden. 1000px ist verpixelt
 
// Read configuration
open to read 1, "config.txt"
read string 1, dummy$ : rem header
framerate = fileReadInt(1)
clockSpeedFactor = fileReadInt(1)
clockBlinksPerSecond = fileReadInt(1)
clockShowSeconds = fileReadInt(1)
beginClockSeconds = fileReadInt(1)
enemyRotateSmoothness = fileReadInt(1)
maxRunEnergy = fileReadInt(1)
waterLevel = fileReadInt(1)
waterMovement = fileReadInt(1)
sound3dVolumeCor = fileReadInt(1)
invertMouse = fileReadInt(1)
test = fileReadInt(1)
camerarange = fileReadInt(1)
fogdistance = fileReadInt(1)
close file 1
 
rem SCHEISSE! bei 3000 ist die framerate total am arsch! was mach ich nur?
#constant cMaxTrees 3000
rem #constant cMaxTrees 200
 
#constant cMapSizeX 10000
#constant cMapSizeZ 10000
#constant idxMonsterBase 1000
 
#constant cMaxEnemies 20 : rem todo: 0 heißt 1 , das ist verwirrend
 
rem Setup & Startbildschirm
if check display mode( desktop width(), desktop height(), screen depth() ) then set display mode desktop width(), desktop height(), screen depth()
hide mouse
 
randomize timer()
 
Sync On
Sync Rate framerate
 
load bitmap "bitmap\titlescreen.jpg"
 
gosub _menu
 
_startgame:
 
ink rgb(255, 230, 0), 0
load bitmap "bitmap\titlescreen.jpg"
text 28, 550, "Level wird geladen..."
 
sync
 
rem Setup
Set camera range 1, camerarange
Autocam off
 
runEnergy# = maxRunEnergy
clockSeconds = beginClockSeconds
 
gosub _create_floor
gosub _create_sky
gosub _create_trees
gosub _draw_trees
gosub _create_water
gosub _create_radar
 
rem Bildschirm neu aufbauen
cls
sync
 
rem Lichtversuch
make light 1
 
rem Radar vorbereiten
radarpointcolor = 150
 
gosub _create_enemies
gosub _setupClock
 
Rem Forest atmo
load sound "sound\forestbg.wav", 1
loop sound 1
 
load sound "music\pause.wav", 5
 
load sound "sound\walk.wav", 10
 
rem Pause Menu
load image "bitmap\titlescreen.jpg",95
sprite 95,0,0,95
set sprite 95, 1, 0
hide sprite 95
 
rem Hauptschleife
do
Disable EscapeKey
gosub _handle_weather
gosub _handle_player
gosub _handle_radar
gosub _handle_enemies
gosub _handleClock
if EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
gosub _pausemenu
endif
sceneInitialized=1
sync
loop
 
_pausemenu:
rem TODO: geht nicht
rem show sprite 95
rem load bitmap "bitmap\titlescreen.jpg",0
gosub _stop_game_sounds
loop sound 5
repeat
text 28, 550, "Pause. ESC=Weiter. Runter=Ende."
sync
if DownKey() = 1
goto _exit
ENDIF
UNTIL EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
stop sound 5
loop sound 1
hide sprite 95
rem TODO: das bringt nix. wenn man die maus bewegt, wird nach der pause die kamera gescrollt
set cursor 0, 0
return
 
_handle_weather:
rem Wetter
color ambient light rgb(64,64,128)
rem set ambient light 1
set ambient light 50
if fog available() = 1
fog on
fog distance fogdistance
fog color rgb(0, 0, 0)
endif
if test = 1
SET MATRIX WIREFRAME ON 1
SET MATRIX WIREFRAME ON 3
endif
rem test
remstart
xx = xx - 1
if xx <= 0 then xx = 100
set object specular 126, 0
SET OBJECT SPECULAR POWER 126,xx
 
set object specular 127, 0
SET OBJECT SPECULAR POWER 127,xx
remend
rem fade object 126, xx
rem fade object 127, xx
rem test trees
remstart
pX# = Camera Position X()
pZ# = Camera Position Z()
 
eX# = Object Position X(126)
eZ# = Object Position Z(126)
 
deltaX# = pX#-eX#
deltaZ# = pZ#-eZ#
 
aa# = atanfull(deltaX#, deltaZ#)
rotate object 126, 0, aa#, 0
remend
 
rem Stars are moving
scroll object texture 2, 0.00002, 0
rem TODO: doch lieber eine plane mit scroll object texture?
rem man kann "fog" einschalten, aber "ambient light" (problem) ausmachen per set object
if waterMovement > 0
if waterdir=0
watermov=watermov+1
if watermov=waterMovement
waterdir=1
endif
ENDIF
if waterdir=1
watermov=watermov-1
if watermov=-1
waterdir=0
endif
ENDIF
endif
position matrix 3, watermov, waterLevel, watermov
return
 
_handle_enemies:
pX# = Camera Position X()
pZ# = Camera Position Z()
for t = 0 to cMaxEnemies
eX# = Object Position X(idxMonsterBase+t)
eY# = Object Position Y(idxMonsterBase+t)
eZ# = Object Position Z(idxMonsterBase+t)
eRX# = Object Angle X(idxMonsterBase+t)
eRY# = Object Angle Y(idxMonsterBase+t)
eRZ# = Object Angle Z(idxMonsterBase+t)
deltaX# = pX#-eX#
deltaZ# = pZ#-eZ#
 
rem TODO: cor file
yPosOffset# = 20
dist# = sqrt( deltaX#*deltaX# + deltaZ#*deltaZ# )
if clockSeconds > 1
if not sound playing(idxMonsterBase+t)
set sound volume idxMonsterBase+t, 0
rem TODO: beliebiges startoffset?
loop sound idxMonsterBase+t
endif
endif
rem The mixing of 3dsound is bullshit (too loud from far distance, and not very loud on close distance),
rem so we mix the volume ourself
if sound3dVolumeCor>0 and dist#<sound3dVolumeCor then set sound volume idxMonsterBase+t, (1-(dist#/sound3dVolumeCor))*100
if dist# > 10 : rem <-- at least a distance of 10 so that atanfull() does not bug, when deltas becomes 0
if dist# < enemyAwarenessRadius(t)
enemyAngle(t) = atanfull(deltaX#, deltaZ#)
enemyAngle(t) = WrapValue(enemyAngle(t)+180)
enemyCurSpeed(t) = enemyMaxSpeed(t)
else
if enemyWalkTimeout(t) <= 0
enemyWalkTimeout(t) = RndBetween(enemyWalkTimeoutMin(t), enemyWalkTimeoutMax(t))
enemyAngle(t) = RndBetween(0,359)
enemyCurSpeed(t) = RndBetween(0, enemyMaxSpeed(t))
ENDIF
enemyWalkTimeout(t) = enemyWalkTimeout(t) - 1
endif
if enemyCurSpeed(t) = 0
gosub scorpChangeToIdle
else
gosub scorpChangeToWalk
rem TODO: also make animation slower/faster
endif
 
a# = WrapValue(enemyAngle(t) + 180)
XTest# = Newxvalue(eX#, a#, enemyCurSpeed(t))
ZTest# = Newzvalue(eZ#, a#, enemyCurSpeed(t))
if XTest# > 0 and XTest# < cMapSizeX then eX# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then eZ# = ZTest#
if XTest# <= 0 or XTest# >= cMapSizeX or ZTest# <= 0 or ZTest# >= cMapSizeZ
rem Kehrtwende, um den Kartenrand zu verlassen
enemyAngle(t) = WrapValue(enemyAngle(t)+180)
enemyWalkTimeout(t) = RndBetween(enemyWalkTimeoutMin(t), enemyWalkTimeoutMax(t))
enemyCurSpeed(t) = RndBetween(0, enemyMaxSpeed(t))
endif
eY# = floorHeight#(eX#, eZ#) + yPosOffset#
Position Object idxMonsterBase+t, eX#, eY#, eZ#
Position Sound idxMonsterBase+t, eX#, eY#, eZ#
eRY# = smoothRotate#(eRY#, enemyAngle(t), enemyRotateSmoothness)
rotate object idxMonsterBase+t, eRX#, eRY#, eRZ#
endif
next
return
 
_handle_player:
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
X# = camera position x()
Y# = camera position y()
Z# = camera position z()
 
if invertMouse = 1
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
else
cAX# = WrapValue(cAX# + MousemoveY() * 0.2)
endif
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAZ# = Camera angle Z()
 
rem Sprungroutine
jumpBoost = 1
if sprungdelay > 0 then dec sprungdelay
if MouseClick() = 2 and sprung = 0 and sprungrev = 0 and sprungdelay = 0 and obentimer = 0 then sprung = sprung + 5
if sprung > 0
if sprungrev = 0
if obentimer = 0
if sprung < 70 then sprung = sprung + 5
if sprung > 69 then sprung = sprung + 2
endif
if sprung > 79 and obentimer < 5 then obentimer = obentimer + 1
if obentimer > 2
obentimer = 0
sprungrev = 1
endif
else
if sprungrev = 1
sprung = sprung - 5
if sprung < 1
sprungrev = 0
sprung = 0
sprungdelay = 15
endif
endif
endif
endif
rem Laufen
speedboost# = 1
 
if upPressed()+downPressed()+leftPressed()+rightPressed() = 0
runEnergy# = runEnergy# + 2
stop sound 10
else
if not sound playing(10) then loop sound 10
energyChanged = 0
if ShiftKey()+ControlKey() = 1 : rem shift+control at the same time = walk normal
rem TODO: es ruckelt trotzdem noch
if ControlKey()=1 and runEnergy#>0 : rem Energy >1 , damit es nicht ruckelt (run-walk-run-walk-run-walk) . 3 = walk regain
speedboost# = 2
runEnergy# = runEnergy# - 1
energyChanged = 1
endif
if ShiftKey()=1
speedboost# = 0.5
runEnergy# = runEnergy# + 0.5
energyChanged = 1
endif
endif
if not energyChanged then runEnergy# = runEnergy# + 1
if upPressed()
XTest# = Newxvalue(X#, cAY#, 7*speedboost#)
ZTest# = Newzvalue(Z#, cAY#, 7*speedboost#)
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if downPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if leftPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if rightPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
endif
if runEnergy# > maxRunEnergy then runEnergy# = maxRunEnergy
print "Run energy: ", runEnergy#
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera
Y# = floorHeight#(X#, Z#) + 85 + sprung*jumpBoost
Position Camera X#, Y#, Z#
 
Rem Position Listener
Position Listener X#, Y#, Z#
Rotate Listener 0, cAY#, 0
 
rem Sky sphere follows player
position object 2, X#, Y#, Z#
rem zrotate object 51, cAY#
if (ceil(X#) mod 10 = 0) or (ceil(Z#) mod 10 = 0) or (sceneInitialized=0)
for t = 0 to cMaxTrees
rx = baumx(t)
rz = baumz(t)
incircle = IsInCircle(rx, rz, X#, Z#, camerarange)
rem incircle = IsInCircle(rx, rz, X#, Z#, fogdistance)
if incircle <> baumdrawn(t)
if incircle = 1
if object exist(1500+t)
show object 1500+t
else
make object 1500+t, 52, 4
position object 1500+t, rx, floorHeight#(rx, rz)+190, rz
set object 1500+t, 1, 1, 0
endif
else
delete object 1500+t
rem hide object 1500+t
endif
ENDIF
baumdrawn(t) = incircle
next t
endif
return
 
_fademenu:
if fade > 100 then fadedir = 0
if fade < 50 then fadedir = 1
if fadedir = 1
fade = fade + 2.5
else
fade = fade - 2.5
endif
rem Beleuchtet
ink rgb(255, fade, 0), 0
set text font "Tahoma"
set text size 26
if menu = 1
if pos = 1 then text 260, 255, "Neues Spiel starten"
if pos = 2 then text 260, 285, "Spiel laden"
if pos = 3 then text 260, 315, "Einstellungen"
if pos = 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos = 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos = 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos = 3 then text 260, 315, "Hauptmenü"
endif
rem Normal
ink rgb(255, 230, 0), 0
if menu = 1
if pos <> 1 then text 260, 255, "Neues Spiel starten"
if pos <> 2 then text 260, 285, "Spiel laden"
if pos <> 3 then text 260, 315, "Einstellungen"
if pos <> 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos <> 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos <> 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos <> 3 then text 260, 315, "Hauptmenü"
endif
sync
return
 
_handle_radar:
rem Leuchtpunkt
if radarpointrev = 0
inc radarpointcolor, 3
else
dec radarpointcolor, 3
endif
if radarpointcolor > 255
radarpointrev = 1
radarpointcolor = 254
endif
if radarpointcolor < 150
radarpointrev = 0
radarpointcolor = 149
endif
rem Bäume
for t = 0 to cMaxTrees
x = (baumx(t) / 62.5) + 7.5
y = screen height() - 7.5 - (baumz(t) / 62.5)
if baumdrawn(t)
rem ink rgb(0, radarpointcolor, 0), 0
ink rgb(0, 50, 0), 0
circle x, y, 1
circle x, y, 0
endif
next i
rem Player
x = (X# / 62.5) + 7.5
y = screen height() - 7.5 - (Z# / 62.5)
ink rgb(0, 0, radarpointcolor), 0
circle x, y, 1
circle x, y, 0
rem Enemies
for t = 0 to cMaxEnemies
x = (object position x(idxMonsterBase+t) / 62.5) + 7.5
y = screen height() - 7.5 - (object position z(idxMonsterBase+t) / 62.5)
ink rgb(radarpointcolor, 0, 0), 0
circle x, y, 1
circle x, y, 0
next
return
 
_draw_trees:
rem TODO: da ist ein baum an offset 0,0,0
load image "bitmap\tree.bmp", 4
make object plain 52, 200, 400
make mesh from object 52, 52
add limb 52, 1, 52
rotate limb 52, 1, 0, 90, 0
make mesh from object 52, 52
delete object 52
for t = 0 to cMaxTrees
rx = baumx(t)
rz = baumz(t)
next t
return
 
_create_trees:
dim baumx(cMaxTrees)
dim baumz(cMaxTrees)
dim baumdrawn(cMaxTrees)
for t = 0 to cMaxTrees
repeat
x = rnd(cMapSizeX)
z = rnd(cMapSizeZ)
ok = 1
if isInCircle(x,z,5000,5000,2000) then ok=0 : rem TODO: später für büschel anwenden
until ok=1
baumx(t) = x
baumz(t) = z
baumdrawn(t) = 0
NEXT
return
 
_menu:
load bitmap "bitmap\titlescreen.jpg"
set text font "times"
set text size 27
fade = 100
pos = 1
menu = 1
sound = 1
do
gosub _fademenu
if ( downkey() = 1 and pos < 4 and menu = 1 ) or ( downkey() = 1 and pos < 3 and menu = 3 )
inc pos
while downkey() = 1
gosub _fademenu
endwhile
endif
if upkey() = 1 and pos > 1
dec pos
while upkey() = 1
gosub _fademenu
endwhile
endif
if returnkey() = 1
if menu = 1
if pos = 1 then gosub _startgame
if pos = 2
rem load bitmap "bitmap\titlescreen.jpg"
rem menu = 2
rem pos = 1
endif
if pos = 3
load bitmap "bitmap\titlescreen.jpg"
menu = 3
pos = 1
endif
if pos = 4 then end
else
if menu = 3
if pos = 1
if sound = 1
sound = 0
else
sound = 1
endif
load bitmap "bitmap\titlescreen.jpg"
endif
if pos = 2
if music = 1
music = 0
else
music = 1
endif
load bitmap "bitmap\titlescreen.jpg"
endif
if pos = 3
load bitmap "bitmap\titlescreen.jpg"
menu = 1
pos = 1
endif
endif
endif
while returnkey() = 1
gosub _fademenu
endwhile
endif
loop
return
 
_create_enemies:
dim enemySpeed(cMaxEnemies)
dim enemyDir(cMaxEnemies)
dim enemyWalkTimeout(cMaxEnemies)
dim enemyWalkTimeoutMin(cMaxEnemies)
dim enemyWalkTimeoutMax(cMaxEnemies)
dim enemyAwarenessRadius(cMaxEnemies)
dim enemyCurSpeed(cMaxEnemies)
dim enemyMaxSpeed(cMaxEnemies)
dim enemyAngle(cMaxEnemies)
dim enemyCurrentAnim(cMaxEnemies)
for t = 0 to cMaxEnemies
if t=0
Load 3Dsound "test.wav",idxMonsterBase+t
else
Clone Sound idxMonsterBase+t, idxMonsterBase
endif
x# = RndBetween(1000, 9000)
z# = RndBetween(1000, 9000)
enemyAwarenessRadius(t) = RndBetween(600, 1300)
enemyMaxSpeed(t) = RndBetween(1, 4)
enemyWalkTimeoutMin(t) = 200
enemyWalkTimeoutMax(t) = 300
if t = 0
animScorpIdleStart = 0
Load object "obj\scorpion\ScorpIdle.x", idxMonsterBase+t
animScorpIdleEnd = total object frames(idxMonsterBase+t)
animScorpWalkStart = animScorpIdleEnd+1
Append object "obj\scorpion\ScorpWalk.x", idxMonsterBase+t, animScorpWalkStart
animScorpWalkEnd = total object frames(idxMonsterBase+t)
else
Clone Object idxMonsterBase+t, idxMonsterBase
endif
y# = floorHeight#(x#, z#) : rem TODO + yPosOffset#
position object idxMonsterBase+t, x#, y#, z#
Position Sound idxMonsterBase+t, x#, y#, z#
fix object pivot idxMonsterBase+t
gosub scorpChangeToWalk
set object collision on idxMonsterBase+t
NEXT
return
 
scorpChangeToIdle:
rem TODO: smoothness (interpolation)
if enemyCurrentAnim(t) <> 1
loop object idxMonsterBase+t, animScorpIdleStart, animScorpIdleEnd
enemyCurrentAnim(t) = 1
endif
return
 
scorpChangeToWalk:
rem TODO: smoothness (interpolation)
if enemyCurrentAnim(t) <> 2
loop object idxMonsterBase+t, animScorpWalkStart, animScorpWalkEnd
enemyCurrentAnim(t) = 2
endif
return
 
_setupClock:
set text font "arial" : set text size 30 : set text transparent
// Session variables
clockTickCounter=0
clockCurrentMidDot=0
clockTicksPerSecond = framerate
return
 
_handleClock:
if mod(clockTickCounter*clockBlinksPerSecond, clockTicksPerSecond) = 0
clockCurrentMidDot = 1 - clockCurrentMidDot
endif
if mod(clockTickCounter*clockSpeedFactor, clockTicksPerSecond) = 0
clockSeconds = clockSeconds + 1
endif
gosub _printClock
 
clockTickCounter = clockTickCounter + 1
RETURN
 
_create_water:
remstart
make object plain 3, 20000, 20000
load image "bitmap\GM01B02.bmp", 3
texture object 3, 3
position object 3, 0, waterLevel, 0
xrotate object 3, 90
set object light 3, 1
ghost object on 3
remend
 
remstart
make object plain 3, 10000, 10000
load image "bitmap\GM01B02a.bmp",3
texture object 3, 3
xrotate object 3, 90
position object 3, 5000,waterLevel, 5000
set object ambient 3,0
ghost object on 3
remend
remstart
rem TODO: geht nicht zusammen mit fog
make object plain 3, 10000, 10000
load image "bitmap\GM01B02c.bmp", 3
texture object 3, 3
xrotate object 3, 90
position object 3, 5000, waterLevel, 5000
set object ambient 3, 0
rem set object ambient 3, 1
rem ghost object on 3
remend
make matrix 3, cMapSizeX+2*waterMovement, cMapSizeZ+2*waterMovement, 15, 15
load image "bitmap\water.bmp", 3
prepare matrix texture 3, 3, 1, 1
fill matrix 3, 0, 1
position matrix 3, 0, waterLevel, 0
ghost matrix on 3
set matrix 3, 0, 0, 1, 1, 1, 1, 1
update matrix 3
return
 
_create_floor:
rem Boden
make matrix 1, cMapSizeX, cMapSizeZ, 15, 15
 
load image "bitmap\forest_floor_texture.jpg", 1
prepare matrix texture 1, 1, 1, 1
fill matrix 1, 0, 1
set matrix 1, 0, 0, 1, 1, 1, 1, 1
randomize matrix 1, 130
rem TEST
rem TODO: aber man kann 40,40 nicht updaten?!
set matrix height 1, 10, 10, 1000
update matrix 1
remstart
currentmatrix=1
for z=1 to 20
for x=1 to 20
rem Get matrix heights
rem print x, " - ", z
rem sync
rem sleep 100
h8#=get matrix height(currentmatrix,x,z-1)
h4#=get matrix height(currentmatrix,x-1,z)
h#=get matrix height(currentmatrix,x,z)
h2#=get matrix height(currentmatrix,x,z)
rem Calculate projected angle X using heights
x1#=(x-1)*25.0 : y1#=h#
x2#=(x+0)*25.0 : y2#=h4#
dx#=x2#-x1#
dy#=y2#-y1#
ax#=atanfull(dx#,dy#)
ax#=wrapvalue(90-ax#)
rem Calculate projected angle Z using heights
z1#=(z-1)*25.0 : y1#=h2#
z2#=(z+0)*25.0 : y2#=h8#
dz#=z2#-z1#
dy#=y2#-y1#
az#=atanfull(dz#,dy#)
az#=wrapvalue(90-az#)
rem Make normal from projected angle
nx#=sin(ax#)
ny#=cos(ax#)
nz#=sin(az#)
rem Setting matrix normal for smoothness
set matrix normal currentmatrix,x,z,nx#,ny#,nz#
next x
next z
update matrix currentmatrix
remend
return
 
_create_sky:
if test = 1
load image "bitmap\tree.bmp", 2
else
load image "bitmap\stars.bmp", 2
endif
 
make object sphere 2, (landsize * 2) - 500
 
rem make object sphere 2, -4000
set object collision off 2
rem scale object 2, 2000, 750, 2000
scale object 2, 600, 120, 600
set object 2, 1, 0, 0, 0, 0, 1, 1
texture object 2, 2
rem fade object 2, 0
backdrop off
if test = 1
backdrop on
set object wireframe 2, 1
endif
return
 
_create_radar:
rem Karte - Abstand zur Kamera: 1.1
remstart
load image "map\ST01L01a.bmp", 5
make object plain 51, 0.352, 0.352
lock object on 51
position object 51, -0.6908, -0.4675, 1.1
ghost object on 51
texture object 51, 5
remend
rem Karte - Abstand zur Kamera: 1.5
load image "map\ST01L01a.bmp", 5
make object plain 51, 0.48, 0.48
lock object on 51
position object 51, -0.942, -0.6375, 1.5
ghost object on 51
texture object 51, 5
return
 
_printClock:
if clockCurrentMidDot = 0
middle$ = " "
else
middle$ = ":"
endif
min = clockSeconds/60
hours = min/60
if clockShowSeconds
secsText$ = middle$+TwoDigit$(mod(clockSeconds,60))
else
secsText$ = ""
endif
print "Time: ", TwoDigit$(mod(hours,24)), middle$, TwoDigit$(mod(min,60)), secsText$
return
 
rem Rotate smooth, and rotate in the direction with the lowest distance
rem "turn object left" ist das kommando
function smoothRotate#(von#, nach#, smoothness)
if (von# > 270) and (nach# < 90)
ret# = WrapValue(von# + (360 - von# + nach#)/smoothness)
else
if (von# < 90) and (nach# > 270)
ret# = WrapValue(von# - (360 - nach# + von#)/smoothness)
else
ret# = von# + (nach# - von#)/smoothness
endif
endif
endfunction ret#
 
function floorHeight#(X#, Z#)
rem TODO: implement water
ret# = Get Ground Height(1, X#, Z#)
ENDFUNCTION ret#
 
function upPressed()
ret = UpKey()=1 or keystate(17)=1 or joystick up()=1
ENDFUNCTION ret
 
function leftPressed()
ret = LeftKey()=1 or keystate(30)=1 or joystick left()=1
ENDFUNCTION ret
 
function rightPressed()
ret = RightKey()=1 or keystate(32)=1 or joystick right()=1
ENDFUNCTION ret
 
function downPressed()
ret = DownKey()=1 or keystate(31)=1 or joystick down()=1
ENDFUNCTION ret
 
function TwoDigit$(value)
if value < 10
ret$ = "0"+STR$(value)
else
ret$ = STR$(value)
ENDIF
ENDFUNCTION ret$
 
function mod(num,modulus)
value=num-((num/modulus)*modulus)
endfunction value
 
function fileReadInt(fileNum)
read string 1, s$
ret=val(s$)
ENDFUNCTION ret
 
function RndBetween(a,b)
ret = a+Rnd(b-a)
ENDFUNCTION ret
 
function isInCircle(pX#,pY#,cX#,cY#,cR#)
ret = sqrt( (pX#-cX#)*(pX#-cX#) + (pY#-cY#)*(pY#-cY#) ) <= cR#
ENDFUNCTION ret
 
_stop_game_sounds:
Stop Sound 1 : rem sound\forestbg.wav
Stop Sound 5 : rem music\pause.wav
Stop Sound 10 : rem sound\walk.wav
for t = 0 to cMaxEnemies
Stop Sound idxMonsterBase+t
next t
return
 
_exit:
exit
/trunk/_private/Allocations.txt
0,0 → 1,53
CAMERA
 
0 main camera
 
MATRIX
 
1 Ground
3 Water
 
IMAGE
 
1 bitmap\forest_floor_texture.jpg
2 bitmap\stars.jpg
3 bitmap\water.bmp
4 bitmap\Baum.bmp
5 map\map.bmp
95 pause
 
SOUND
 
1 sound\forestbg.wav
5 music\pause.wav
10 sound\walk.wav
1000+ Scorpions
 
OBJECT
 
2 Sky sphere
51 Map Ghost Object
52 Baum
53 Virtual camera collission object
1000+ Scorpions
1500+ Trees
 
MESH
 
52 Baum
 
FILE
 
1 config.txt
 
SPRITE
 
95 pause
 
DLL
 
1 mapgen32.dll
 
MEMBLOCK
 
1 mapgen data
/trunk/_private/Audio/Attack/243009__cormi__snake-bite.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Attack/243009__cormi__snake-bite.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Attack/2883__sonic__sonic-melon-sample.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Attack/2883__sonic__sonic-melon-sample.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Attack/320361__theshaggyfreak__stabbing-watermelon.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Attack/93102__cgeffex__sonic-melon-stabbing-sample-remix.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Attack/93102__cgeffex__sonic-melon-stabbing-sample-remix.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Bush/106113__j1987__bushhit.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Bush/106114__j1987__bushmovement.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Credits/204106__edtijo__creepy-horror-ambiant.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/157495__caquet__night-by-the-beach+6dB.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/157495__caquet__night-by-the-beach+6dB.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/157495__caquet__night-by-the-beach.aiff
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/157495__caquet__night-by-the-beach.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/157495__caquet__night-by-the-beach.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/169458__serop2012__scary-night-at-forest.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/169458__serop2012__scary-night-at-forest.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/171445__felix-blume__wind-in-the-african-bush-mali.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/171445__felix-blume__wind-in-the-african-bush-mali.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/20574__dobroide__20060706-night-forest01.flac
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/20574__dobroide__20060706-night-forest01.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/20574__dobroide__20060706-night-forest01.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/243617__mrauralization__windy-forest.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/244942__spoonbender__wind-through-trees-3b.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/244942__spoonbender__wind-through-trees-3b.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/259984__lwdickens__forest-ambience-wind-flies-chipmunks.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/26366__dobroide__20061124-windy-forest.flac
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/26366__dobroide__20061124-windy-forest.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/26366__dobroide__20061124-windy-forest.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/45480__daveincamas__storminoregonrainforest-wind.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/45480__daveincamas__storminoregonrainforest-wind.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/45481__daveincamas__storminoregonrainforest.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/45481__daveincamas__storminoregonrainforest.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/95490__markb__forest-ambiance-chepachet-spring-night-1.aif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/95490__markb__forest-ambiance-chepachet-spring-night-1.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/95490__markb__forest-ambiance-chepachet-spring-night-1.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/95491__markb__forest-ambiance-chepachet-spring-night-2.aif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/95491__markb__forest-ambiance-chepachet-spring-night-2.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Forest-Atmo/95491__markb__forest-ambiance-chepachet-spring-night-2.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Game Over/146558__john129pats__hybrid-monster-growl.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Game Over/213904__garzul__minimoog-reverberated-ghostly-analog-chorus.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Game Over/234044__raspberrytickle__creepy-whispering.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Gun/145209__lensflare8642__shotgun-sounds.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Gun/200966__paul368__shotgun-cock-reload-layered-powerful.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Gun/266105__marregheriti__shotgun.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Menu Music/110387__cormi__night-in-the-forest.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Menu Music/160717__thatjeffcarter__creepy-tone.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Menu Music/234262__maelsh__scary-ambience-drone.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Menu Music/244961__patricklieberkind__dark-ambience.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Menu Music/256152__bmccoy2__awindchimes113014lincolnne24degrees75hi.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Menu Music/33702__cosmicd__bald-snake.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Outro Narrator/182402__zagi2__horror-lullaby.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Outro Narrator/212431__qubodup__dark-ambient-sound.flac
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Radio/150458__soundsofeurope__rosse.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Radio/175040__klankbeeld__car-radio-outside-01-130115-07.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Radio/249988__alienxxx__radio-cairo-loop.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Radio/250241__kwahmah-02__weird-violin.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Radio/255404__kwahmah-02__c7-loop-2.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Radio/255851__kwahmah-02__bangkokmeterologicalradio.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Radio/319389__miastodzwiekow__040815-cb-radio.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Run Away/160506__drriquet__not-happy-ending.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Run Away/170174__timgormly__spooky-atmosphere.aiff
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Scorpion-Sound/234269__moddingtr__snake-hss-effect.ogg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Scorpion-Sound/252768__csaszi__angry-snake-hiss-pass-long-csg.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Scorpion-Sound/268580__7h3-lark__rattle-snake.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Scorpion-Sound/41531__jamius__snakeattackverbpuls.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Scream/219858__adriancalzon__scream-01.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Scream/239900__thesubber13__scream-1.ogg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/129793__aarom__sfx-turnschuhe-im-wald-02.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/175955__freefire66__grass1+loop.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/175955__freefire66__grass1+loop.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/175955__freefire66__grass1.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/175955__freefire66__grass1.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/264470__aglinder__footsteps-undergrowth-01.pk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/264470__aglinder__footsteps-undergrowth-01.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/267492__snumen__footsteps-on-forest-ground.ogg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Walking Sfx/85602__jankoehl__walk-forest02.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Audio/Water Walk/Footsteps-walking-in-water.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/CRICKETS.WAV
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Alter Mapgen/Unit1_old.pas
0,0 → 1,536
unit Unit1;
 
interface
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
 
type
TForm1 = class(TForm)
Button1: TButton;
PaintBox1: TPaintBox;
Button2: TButton;
Button3: TButton;
Memo1: TMemo;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
CheckBox1: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
 
var
Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
uses
Math;
 
procedure TForm1.Button1Click(Sender: TObject);
const
mapsizex = 400;
mapsizey = 400;
 
procedure _(size: integer);
var
posx, posy: integer;
begin
posx := Random(mapsizex);
posy := Random(mapsizey);
paintbox1.Canvas.Ellipse(posx, posy, posx+size, posy+size);
end;
 
var
i: integer;
begin
paintbox1.Canvas.Rectangle(0,0,mapsizex,mapsizey);
 
for i := 0 to 1 do
begin
_(100);
_(100);
_(100);
_(100);
 
_(50);
_(50);
_(50);
_(50);
_(50);
_(50);
_(50);
_(50);
 
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
_(25);
end;
end;
 
function RandomBetween(a, b: integer): integer;
begin
result := RandomRange(a,b+1);
end;
 
function IsInCircle(p, q: TPoint; pr: integer): boolean;
begin
result := sqrt((p.x-q.x)*(p.x-q.x) + (p.y-q.y)*(p.y-q.y)) <= pr;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
const
maxB = 50;
r = 30;
maxX = 400;
maxY = 400;
 
procedure _Draw(p: TPoint);
begin
paintbox1.Canvas.Ellipse(p.X-r,p.Y-r, p.X+r,p.Y+r);
end;
 
function findRandomOutline(p: TPoint): TPoint;
var
yg, xg: integer;
begin
xg := RandomBetween(p.X-r, p.X+r);
if RandomBetween(0,1) = 0 then
yg := Floor(p.y - sqrt(r*r - (p.x-xg)*(p.x-xg)))
else
yg := Floor(p.y + sqrt(r*r - (p.x-xg)*(p.x-xg)));
result.X := xg;
result.Y := yg;
end;
 
function CirclesOverlap(p, q: TPoint): boolean;
begin
result := (abs(p.x-q.x) < 2*r) and (abs(p.y-q.y) < 2*r);
end;
 
var
Circles: array[0..maxB] of TPoint;
i, j: integer;
p: TPoint;
feck: boolean;
begin
paintbox1.Canvas.Rectangle(0,0,maxx,maxy);
 
Circles[0].X := maxX div 2;
Circles[0].Y := maxY div 2;
_Draw(Circles[0]);
 
for i := 1 to maxB do
begin
 
repeat
feck := false;
p := findRandomOutline(Circles[i-1]);
for j := 0 to i-2 do
begin
if CirclesOverlap(p, Circles[j]) then
begin
feck := true;
break;
end;
end;
until not feck;
 
Circles[i] := p;
_Draw(Circles[i]);
end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
const
maxB = 50;
r = 30;
maxX = 400;
maxY = 400;
klebfaktor = 0.9;
 
procedure _Draw(p: TPoint);
begin
paintbox1.Canvas.Ellipse(p.X-r,p.Y-r, p.X+r,p.Y+r);
end;
 
function findRandomOutline(p: TPoint): TPoint;
var
yg, xg: integer;
newr: integer;
begin
newr := Round(1.5*r);
xg := RandomBetween(p.X-newr, p.X+newr);
if RandomBetween(0,1) = 0 then
yg := Floor(p.y - sqrt(newr*newr - (p.x-xg)*(p.x-xg)))
else
yg := Floor(p.y + sqrt(newr*newr - (p.x-xg)*(p.x-xg)));
result.X := xg;
result.Y := yg;
end;
 
function CirclesOverlap(p, q: TPoint): boolean;
begin
result := (abs(p.x-q.x) < 2*r) and (abs(p.y-q.y) < 2*r);
end;
 
var
Circles: array[0..maxB] of TPoint;
i, j: integer;
c: integer;
feck: boolean;
p: tpoint;
begin
memo1.lines.clear;
paintbox1.Canvas.Rectangle(0,0,maxx,maxy);
 
Circles[0].X := maxX div 2;
Circles[0].Y := maxY div 2;
_Draw(Circles[0]);
 
 
 
for i := 1 to maxB do
begin
c := RandomBetween(0,i-1);
 
repeat
// memo1.lines.add(IntTostr(i)+ ' -> ' + inttostr(c));
 
Circles[i] := findRandomOutline(Circles[c]);
 
 
feck := false;
(*
for j := 1 to i-2 do
begin
if CirclesOverlap(Circles[i], Circles[j]) then
begin
inc(fc);
feck := true;
break;
end;
end;
 
if fc > 100 then
begin
c := RandomBetween(0,i-1);
fc := 0;
end;
*)
 
// Application.ProcessMessages;
// Sleep(500);
 
until not feck;
_Draw(Circles[i]);
 
memo1.lines.add('Draw '+IntTostr(i)+ ' based on ' + inttostr(c));
 
end;
 
exit;
 
for i := 1 to maxB do
begin
 
repeat
feck := false;
p := findRandomOutline(Circles[i-1]);
for j := 0 to i-2 do
begin
if CirclesOverlap(p, Circles[j]) then
begin
feck := true;
break;
end;
end;
until not feck;
 
Circles[i] := p;
_Draw(Circles[i]);
end;
end;
 
procedure TForm1.Button4Click(Sender: TObject);
const
mapsizex = 400;
mapsizey = 400;
 
procedure _(size: integer);
var
posx, posy: integer;
begin
posx := Random(mapsizex);
posy := Random(mapsizey);
paintbox1.Canvas.Ellipse(posx, posy, posx+size, posy+size);
end;
 
var
i: integer;
begin
paintbox1.Canvas.Rectangle(0,0,mapsizex,mapsizey);
 
for i := 0 to 20 do
begin
_(RandomBetween(10,100));
end;
end;
 
procedure TForm1.Button5Click(Sender: TObject);
const
r = 5;
maxX = 545;
maxY = 545;
var
drawnCircles: integer;
 
procedure _Draw(p: TPoint);
begin
paintbox1.Canvas.Brush.Color := clGray;
paintbox1.Canvas.Pen.Color := clGray;
paintbox1.Canvas.Ellipse(p.X-r,p.Y-r, p.X+r,p.Y+r);
inc(drawnCircles);
 
// Sleep(10);
// application.processmessages;
end;
 
function RandBetween(a, b: integer): integer;
begin
result := Random(b-a+1)+a;
end;
 
procedure BeginAdventure(startx, starty, angle, dep: integer);
const
maxB = 200;
flexi = 25;
maxdep = 2;
anzahlZweige = 2;
rand = 2;
zielBaumZahl = 1000;
var
Circles: array[0..maxB] of TPoint;
Rad: array[0..maxB] of integer;
i: integer;
x: integer;
maxdrawn: integer;
begin
if dep > maxdep then exit;
if drawncircles >= zielBaumZahl then exit;
 
Rad[0] := angle;
Circles[0].X := startx;
Circles[0].Y := starty;
_Draw(Circles[0]);
 
repeat
maxdrawn := 0;
for i := 1 to maxB{ div (dep+1)} do
begin
Rad[i] := RandBetween(Rad[i-1]-flexi, Rad[i-1]+flexi);
Circles[i].X := Circles[i-1].X + round(r*cos(Rad[i]/360*2*pi));
Circles[i].Y := Circles[i-1].Y + round(r*sin(Rad[i]/360*2*pi));
 
if Circles[i].X > maxX-rand*r then break;
if Circles[i].Y > maxY-rand*r then break;
if Circles[i].X < rand*r then break;
if Circles[i].Y < rand*r then break;
 
maxdrawn := i;
end;
until maxdrawn = maxB div (dep+1);
 
for i := 1 to maxdrawn do
begin
_Draw(Circles[i]);
end;
 
if maxdrawn > dep*50 then
for i := 1 to anzahlZweige do
begin
x := RandBetween(maxdrawn div 2, maxdrawn);
if RandBetween(0,1)=0 then
BeginAdventure(Circles[x].X, Circles[x].Y, Rad[x]-90, dep+1)
else
BeginAdventure(Circles[x].X, Circles[x].Y, Rad[x]+90, dep+1);
end;
end;
 
begin
Randomize;
 
memo1.lines.clear;
drawnCircles := 0;
 
paintbox1.Canvas.Brush.Color := clGreen;
paintbox1.Canvas.Pen.Color := clBlack;
paintbox1.Canvas.Rectangle(0,0,maxx,maxy);
 
BeginAdventure(maxX div 2, maxY div 2, RandBetween(0, 360), 0);
end;
 
procedure TForm1.Button6Click(Sender: TObject);
const
r = 5;
maxX = 545;
maxY = 545;
zielBaumZahl = 1000;
var
drawnCircles: integer;
Circles: array[0..zielBaumZahl-1] of TPoint;
Rad: array[0..zielBaumZahl-1] of integer;
 
procedure _Draw(p: TPoint);
begin
paintbox1.Canvas.Brush.Color := clGray;
paintbox1.Canvas.Pen.Color := clGray;
paintbox1.Canvas.Ellipse(p.X-r,p.Y-r, p.X+r,p.Y+r);
inc(drawnCircles);
 
// Sleep(10);
// application.processmessages;
end;
 
function RandBetween(a, b: integer): integer;
begin
result := Random(b-a+1)+a;
end;
 
procedure BeginAdventure(startx, starty, angle: integer);
const
maxB = 200;
flexi = 15;
rand = 2;
var
i: integer;
x: integer;
maxdrawn: integer;
beg: integer;
begin
if drawncircles >= zielBaumZahl then exit;
 
Rad[0] := angle;
Circles[0].X := startx;
Circles[0].Y := starty;
_Draw(Circles[0]);
 
beg := 1;
 
while true do
begin
 
maxdrawn := 0;
for i := beg to beg+maxB do
begin
if i > High(Rad) then Exit;
 
Rad[i] := RandBetween(Rad[i-1]-flexi, Rad[i-1]+flexi);
Circles[i].X := Circles[i-1].X + round(r*cos(Rad[i]/360*2*pi));
Circles[i].Y := Circles[i-1].Y + round(r*sin(Rad[i]/360*2*pi));
 
if Circles[i].X > maxX-rand*r then break;
if Circles[i].Y > maxY-rand*r then break;
if Circles[i].X < rand*r then break;
if Circles[i].Y < rand*r then break;
 
_Draw(Circles[i]);
 
maxdrawn := i;
end;
 
x := RandBetween(0, maxdrawn);
Circles[maxdrawn+1] := Circles[x]; // virtual tree (not drawn)
 
if RandBetween(0,1) = 0 then
Rad[maxdrawn+1] := Rad[x]-90
else
Rad[maxdrawn+1] := Rad[x]+90;
 
beg := maxdrawn+2;
 
end;
end;
 
begin
Randomize;
 
memo1.lines.clear;
drawnCircles := 0;
 
paintbox1.Canvas.Brush.Color := clGreen;
paintbox1.Canvas.Pen.Color := clBlack;
paintbox1.Canvas.Rectangle(0,0,maxx,maxy);
 
BeginAdventure(maxX div 2, maxY div 2, RandBetween(0, 360));
end;
 
 
function TreePos(nTrees, treeRadius, mapX, mapY: integer; memblock: Pointer; debug: boolean): dword; cdecl; external 'd:\tdn\mapgen\mapgen32.dll';
 
procedure DrawCircle(x, y, r: integer);
begin
form1.paintbox1.Canvas.Brush.Color := clMaroon;
form1.paintbox1.Canvas.Pen.Color := clMaroon;
form1.paintbox1.Canvas.Ellipse(X-r,Y-r, X+r,Y+r);
end;
 
procedure TForm1.Button7Click(Sender: TObject);
const
miniature_factor = 20; // only viewer
treeradius = 100;
ntrees = 5000;
mapX = 10000;
mapY = 10000;
var
i: integer;
mb: array[0..ntrees-1, 0..1] of dword;
begin
paintbox1.Repaint;
 
TreePos(ntrees, treeradius, mapx, mapy, @mb[0][0], checkbox1.checked);
 
paintbox1.Canvas.Brush.Color := clGreen;
paintbox1.Canvas.Pen.Color := clBlack;
paintbox1.Canvas.Rectangle(0,0,mapx div miniature_factor,mapy div miniature_factor);
 
for i := 0 to ntrees-1 do
begin
DrawCircle(mb[i][0] div miniature_factor, mb[i][1] div miniature_factor, treeradius div miniature_factor);
end;
end;
 
end.
/trunk/_private/Code Tests/Blood/Blood2.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Blood/Blood3.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Blood/BloodSplat.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Blood/Blut.txt
0,0 → 1,61
rem Blut vorbereiten
remstart
load image "bitmap\BloodSplat.bmp", 6
dim grav#(300)
dim inuse(300)
dim posx#(300)
dim posy#(300)
dim droprate#(300)
dim life(300)
dim hpos#(300)
for x = 500 to 800
make object plain x, 15, 15
texture object x, 6
ghost object on x
hide object x
next x
remend
 
 
 
do
 
remstart
bloodok = 1
 
rem Blut
for tr = 1 to 3
for x = 100 to 300
if inuse(x) = 0 then goto skp
next x
x = 1
skp:
inuse(x) = 1
posx#(x) = 0 - mx
posy#(x) = 0 - my
droprate#(x) = 0 - (rnd(12) / 2)
if bloodok = 1 then droprate#(x) = 0 - (rnd(12))
grav#(x) = .2 + rnd(10) / 11
if grav#(x) = 0 then grav#(x) = .05
hpos#(x) = (rnd(300) / 300) - 1.5
if bloodok = 1 then hpos#(x) = (rnd(200) / 50) - 2
show object x + 500
next tr
actv = 0
for x = 100 to 300
if inuse(x) = 1
inc actv
posx#(x) = posx#(x) + hpos#(x)
posy#(x) = posy#(x) - droprate#(x)
droprate#(x) = droprate#(x) + grav#(x)
position object x + 500,posx#(x), posy#(x), 0 - life(x)
zrotate object x + 500, wrapvalue(life(x) * 5)
life(x) = life(x) + 3
if life(x) > 300 or posy#(x) < -300 then life(x) = 0
inuse(x) = 0
hide object x + 500
endif
next x
remend
 
loop
/trunk/_private/Code Tests/Blood/XTraBlood.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Blood/blood.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Clock/Application.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Clock/Untitled1.BAK
0,0 → 1,82
Rem Project: Dark Basic Pro Project
Rem Created: Sunday, August 23, 2015
 
Rem ***** Main Source File *****
 
// Konfiguration
#constant framerate 30
 
sync on
sync rate framerate
 
set text font "arial" : set text size 30 : set text transparent
 
 
print "hallo"
sync
 
rem Level einlesen
open to read 1, "config.txt"
clockSpeedFactor = fileReadInt(1)
clockBlinksPerSecond = fileReadInt(1)
clockShowSeconds = fileReadInt(1)
close file 1
 
 
 
// Session variables
clockTickCounter=0
clockCurrentMidDot=0
clockSecs=0
 
do
ticksPerSecond = framerate
if mod(clockTickCounter*clockBlinksPerSecond,ticksPerSecond) = 0
clockCurrentMidDot = 1 - clockCurrentMidDot
gosub printClock
endif
if mod(clockTickCounter*clockSpeedFactor,ticksPerSecond) = 0
gosub printClock
clockSecs = clockSecs + 1
endif
 
clockTickCounter = clockTickCounter + 1
 
sync
LOOP
 
printclock:
cls
if clockCurrentMidDot = 0
middle$ = " "
else
middle$ = ":"
endif
min = clockSecs/60
hours = min/60
if clockShowSeconds
secsText$ = middle$+TwoDigit$(mod(clockSecs,60))
else
secsText$ = ""
endif
print TwoDigit$(mod(hours,24)), middle$, TwoDigit$(mod(min,60)), secsText$
return
 
function TwoDigit$(value)
if value < 10
ret$ = "0"+STR$(value)
else
ret$ = STR$(value)
ENDIF
ENDFUNCTION ret$
 
function mod(num,modulus)
value=num-((num/modulus)*modulus)
endfunction value
 
function fileReadInt(fileNum)
read string 1, s$
ret=val(s$)
ENDFUNCTION ret
/trunk/_private/Code Tests/Clock/Untitled1.dba
0,0 → 1,78
Rem Project: Dark Basic Pro Project
Rem Created: Sunday, August 23, 2015
 
Rem ***** Main Source File *****
 
// Konfiguration
#constant framerate 30
 
sync on
sync rate framerate
 
set text font "arial" : set text size 30 : set text transparent
 
 
open to read 1, "config.txt"
clockSpeedFactor = fileReadInt(1)
clockBlinksPerSecond = fileReadInt(1)
clockShowSeconds = fileReadInt(1)
close file 1
 
 
 
// Session variables
clockTickCounter=0
clockCurrentMidDot=0
clockSecs=0
 
do
ticksPerSecond = framerate
if mod(clockTickCounter*clockBlinksPerSecond,ticksPerSecond) = 0
clockCurrentMidDot = 1 - clockCurrentMidDot
gosub printClock
endif
if mod(clockTickCounter*clockSpeedFactor,ticksPerSecond) = 0
gosub printClock
clockSecs = clockSecs + 1
endif
 
clockTickCounter = clockTickCounter + 1
 
sync
LOOP
 
printclock:
cls
if clockCurrentMidDot = 0
middle$ = " "
else
middle$ = ":"
endif
min = clockSecs/60
hours = min/60
if clockShowSeconds
secsText$ = middle$+TwoDigit$(mod(clockSecs,60))
else
secsText$ = ""
endif
print TwoDigit$(mod(hours,24)), middle$, TwoDigit$(mod(min,60)), secsText$
return
 
function TwoDigit$(value)
if value < 10
ret$ = "0"+STR$(value)
else
ret$ = STR$(value)
ENDIF
ENDFUNCTION ret$
 
function mod(num,modulus)
value=num-((num/modulus)*modulus)
endfunction value
 
function fileReadInt(fileNum)
read string 1, s$
ret=val(s$)
ENDFUNCTION ret
/trunk/_private/Code Tests/Clock/clock.dbpro
0,0 → 1,68
; **** Dark BASIC Professional Project File ****
; **** Written by Synergy Editor ****
version=DBP1.00
project name=clock
 
; **** source file information ****
main=Untitled1.dba
LineMain=5
 
; **** Executable Information ***
; build types: exe, media, installer, alone
executable=Application.exe
build type=exe
; ** Media file compression **
compression=NO
 
; ** Media file encryption **
encryption=NO
; ** Display the card options screen window? **
card options window=NO
 
; **** debugger information ****
; If the editor sets this to yes, it is running in debug mode
CLI=NO
CommandLineArguments=
 
; **** display mode information ****
app title=Dark Basic Pro Project
 
; graphics mode options: fullscreen, window, desktop, fulldesktop, hidden
graphics mode=window
fullscreen resolution=640x480x32
 
; arbitrary sizes are valid for windowed mode
window resolution=640x480
 
; **** External Files Information ****
 
; **** Media ****
; Example entries: media1=graphics\*.jpg
media root path=C:\software_old\dbpro\Projects\Clock\
 
; **** Icons ****
 
; **** Cursors ****
 
; **** Version Info ****
VerComments=
VerCompany=
VerFileDesc=
VerFileNumber=v1.0
VerInternal=v1.0
VerCopyright=
VerTrademark=
VerFilename=
VerProduct=
VerProductNumber=v1.0
 
; **** To Do ****
 
; **** Comments ****
comments1=
 
; **** Advanced (setup.ini) configuration ****
RemoveSafetyCode=NO
SafeArrays=YES
LocalTempFolder=NO
ExternaliseDLLS=NO
/trunk/_private/Code Tests/Clock/config.txt
0,0 → 1,3
1 : clockSpeedFactor
2 : clockBlinksPerSecond
1 : clockShowSeconds
/trunk/_private/Code Tests/DynVideo/Video.txt
0,0 → 1,15
do
 
rem Video...
remstart
if started = 0
for i = 0 to 500 step 5
Y# = Get ground height(1, X#, Z#) + (600 - i)
Position Camera X# + i*2, Y#, Z# + i*2
sync
next i
started = 1
endif
remend
 
loop
/trunk/_private/Code Tests/Jump/Application.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Jump/Jump.dbpro
0,0 → 1,68
; **** Dark BASIC Professional Project File ****
; **** Written by Synergy Editor ****
version=DBP1.00
project name=Jump
 
; **** source file information ****
main=Untitled1.dba
LineMain=0
 
; **** Executable Information ***
; build types: exe, media, installer, alone
executable=Application.exe
build type=exe
; ** Media file compression **
compression=NO
 
; ** Media file encryption **
encryption=NO
; ** Display the card options screen window? **
card options window=NO
 
; **** debugger information ****
; If the editor sets this to yes, it is running in debug mode
CLI=NO
CommandLineArguments=
 
; **** display mode information ****
app title=Dark Basic Pro Project
 
; graphics mode options: fullscreen, window, desktop, fulldesktop, hidden
graphics mode=window
fullscreen resolution=640x480x32
 
; arbitrary sizes are valid for windowed mode
window resolution=640x480
 
; **** External Files Information ****
 
; **** Media ****
; Example entries: media1=graphics\*.jpg
media root path=D:\tdn\_private\CodeTests\Jump\
 
; **** Icons ****
 
; **** Cursors ****
 
; **** Version Info ****
VerComments=
VerCompany=
VerFileDesc=
VerFileNumber=
VerInternal=
VerCopyright=
VerTrademark=
VerFilename=
VerProduct=
VerProductNumber=v1.0
 
; **** To Do ****
 
; **** Comments ****
comments1=
 
; **** Advanced (setup.ini) configuration ****
RemoveSafetyCode=NO
SafeArrays=YES
LocalTempFolder=NO
ExternaliseDLLS=NO
/trunk/_private/Code Tests/Jump/Untitled1.BAK
0,0 → 1,61
Rem Setup sync
Sync On
Sync Rate 30
 
Rem Create matrix
Make Matrix 1,2000,2000,50,50
 
Rem Position Camera above the matrix
Position Camera 0,1000,0
 
JumpKeyStatePrev = 0
 
positionY = 175.0
velocityY = 0.0
gravity = 1
onGround = 1
 
Do
JumpKeyStateNow=leftkey()
if (JumpKeyStatePrev=0) and (JumpKeyStateNow=1)
gosub startJump
ENDIF
 
if (JumpKeyStatePrev=1) and (JumpKeyStateNow=0)
gosub endJump
ENDIF
 
JumpKeyStatePrev = JumpKeyStateNow
 
 
gosub JumpUpdate
position camera 0, positionY, 0
 
Sync
Loop
 
StartJump:
if onGround=1
velocityY = 25.0
onGround = 0
endif
return
 
EndJump:
if velocityY > 6.0 then velocityY = 6.0
return
 
JumpUpdate:
dec velocityY, gravity
inc positionY, velocityY
if positionY < 175.0
positionY = 175.0
velocityY = 0.0
onGround = 1
endif
return
 
 
 
/trunk/_private/Code Tests/Jump/Untitled1.dba
0,0 → 1,61
Rem Setup sync
Sync On
Sync Rate 30
 
Rem Create matrix
Make Matrix 1,2000,2000,50,50
 
Rem Position Camera above the matrix
Position Camera 0,1000,0
 
JumpKeyStatePrev = 0
 
positionY = 175.0
velocityY = 0.0
gravity = 1
onGround = 1
 
Do
JumpKeyStateNow=leftkey()
if (JumpKeyStatePrev=0) and (JumpKeyStateNow=1)
gosub PressJumpKey
ENDIF
 
if (JumpKeyStatePrev=1) and (JumpKeyStateNow=0)
gosub ReleaseJumpKey
ENDIF
 
JumpKeyStatePrev = JumpKeyStateNow
 
 
gosub JumpUpdate
position camera 0, positionY, 0
 
Sync
Loop
 
PressJumpKey:
if onGround=1
velocityY = 25.0
onGround = 0
endif
return
 
ReleaseJumpKey:
if velocityY > 6.0 then velocityY = 6.0
return
 
JumpUpdate:
dec velocityY, gravity
inc positionY, velocityY
if positionY < 175.0
positionY = 175.0
velocityY = 0.0
onGround = 1
endif
return
 
 
 
/trunk/_private/Code Tests/LevelRead/Level.txt
0,0 → 1,12
rem Level einlesen
remstart
open to read 1, "zone\lev001.map"
while file end(1) = 0
read string 1, eingelesen$
rem Baum
if eingelesen$ = "Tree"
rem Nix
endif
endwhile
close file 1
remend
/trunk/_private/Code Tests/Particles/Application.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/Particles/Particles.dbpro
0,0 → 1,68
; **** Dark BASIC Professional Project File ****
; **** Written by Synergy Editor ****
version=DBP1.00
project name=Particles
 
; **** source file information ****
main=Untitled1.dba
LineMain=29
 
; **** Executable Information ***
; build types: exe, media, installer, alone
executable=Application.exe
build type=exe
; ** Media file compression **
compression=NO
 
; ** Media file encryption **
encryption=NO
; ** Display the card options screen window? **
card options window=NO
 
; **** debugger information ****
; If the editor sets this to yes, it is running in debug mode
CLI=NO
CommandLineArguments=
 
; **** display mode information ****
app title=Dark Basic Pro Project
 
; graphics mode options: fullscreen, window, desktop, fulldesktop, hidden
graphics mode=window
fullscreen resolution=640x480x32
 
; arbitrary sizes are valid for windowed mode
window resolution=640x480
 
; **** External Files Information ****
 
; **** Media ****
; Example entries: media1=graphics\*.jpg
media root path=D:\tdn\_private\CodeTests\Particles\
 
; **** Icons ****
 
; **** Cursors ****
 
; **** Version Info ****
VerComments=
VerCompany=
VerFileDesc=
VerFileNumber=
VerInternal=
VerCopyright=
VerTrademark=
VerFilename=
VerProduct=
VerProductNumber=v1.0
 
; **** To Do ****
 
; **** Comments ****
comments1=
 
; **** Advanced (setup.ini) configuration ****
RemoveSafetyCode=NO
SafeArrays=YES
LocalTempFolder=NO
ExternaliseDLLS=NO
/trunk/_private/Code Tests/Particles/Untitled1.BAK
0,0 → 1,127
rem https://forum.thegamecreators.com/thread/160210#msg1886513
 
// Screen settings
sync on
sync rate 60
autocam off
 
#constant SPREAD1_MAX 10
#constant SPREAD2_MAX 15
 
gosub _setup_particles
// Main loop
do
// Check when SPACE is pressed
if spacekey() = 1 and keySP = 0
gosub _splat_blood
endif
keySP = spacekey()
 
gosub _handle_blood
loop
 
// ---------------------
 
_setup_particles:
// Make 100 particle objects
particleIndex = 0
#constant PARTICLEMAX = 100
dim particle(PARTICLEMAX) as particleType
for i = 1 to PARTICLEMAX
make object plain i, 2, 2
color object i, rgb(128, 0, 0)
exclude object on i
next i
return
 
_handle_blood:
// Update particles
for i = 1 to PARTICLEMAX
UpdateParticle(i)
next i
// Update screen
sync
return
 
_splat_blood:
yoff = rnd(SPREAD1_MAX*2)-SPREAD1_MAX;
 
// Activate blood particles around box
for i = 1 to PARTICLEMAX
// The angle particles should fly
yAng# = 90+rnd(SPREAD2_MAX*2)-SPREAD2_MAX+yoff
 
// Calculate directions
xSpeed# = cos(yAng#)
zSpeed# = sin(yAng#)
// Calculate speeds
xSpeed# = xSpeed# * (rnd(20)/5.0)
ySpeed# = ((rnd(20)-rnd(20))/10.0)
zSpeed# = zSpeed# * (rnd(20)/5.0)
// Activate particle
x# = camera position x()
y# = camera position y()
z# = camera position z()
particleIndex = ActivateParticle(particleIndex, 30+rnd(30), x#, y#, z#, xSpeed#, ySpeed#, zSpeed#)
next i
return
// Activate the specified particle and give it an initial position/velocity
function ActivateParticle(i, life, x#, y#, z#, xSpeed#, ySpeed#, zSpeed#)
// Cycle through the particle objects to use
inc i
if i > PARTICLEMAX then dec i, PARTICLEMAX
// Set particle variables
particle(i).life = life
particle(i).x = x#
particle(i).y = y#
particle(i).z = z#
particle(i).xSpeed = xSpeed#
particle(i).ySpeed = ySpeed#
particle(i).zSpeed = zSpeed#
// Show particle object
exclude object off i
endfunction i
// Update positioning for specified particle
function UpdateParticle(i)
// Only update particles that are alive
if particle(i).life > 0
// Apply gravity
dec particle(i).ySpeed, 0.098
// Move the particle
inc particle(i).x, particle(i).xSpeed
inc particle(i).y, particle(i).ySpeed
inc particle(i).z, particle(i).zSpeed
// Position particle
position object i, particle(i).x, particle(i).y, particle(i).z
point object i, camera position x(), camera position y(), camera position z()
// Lower particle's life
dec particle(i).life
// Hide particles when they die
if particle(i).life <= 0 then exclude object on i
endif
endfunction
// Data type used by particles
type particleType
life as integer // Remaining life of particle (0=Dead)
x as float // Position
y as float // ...
z as float // ...
xSpeed as float // Velocity
ySpeed as float // ...
zSpeed as float // ...
endtype
/trunk/_private/Code Tests/Particles/Untitled1.dba
0,0 → 1,127
rem https://forum.thegamecreators.com/thread/160210#msg1886513 , modified
 
// Screen settings
sync on
sync rate 60
autocam off
 
#constant SPREAD1_MAX 10
#constant SPREAD2_MAX 15
 
gosub _setup_particles
// Main loop
do
// Check when SPACE is pressed
if spacekey() = 1 and keySP = 0
gosub _splat_blood
endif
keySP = spacekey()
 
gosub _handle_blood
loop
 
// ---------------------
 
_setup_particles:
// Make 100 particle objects
particleIndex = 0
#constant PARTICLEMAX = 100
dim particle(PARTICLEMAX) as particleType
for i = 1 to PARTICLEMAX
make object plain i, 2, 2
color object i, rgb(128, 0, 0)
exclude object on i
next i
return
 
_handle_blood:
// Update particles
for i = 1 to PARTICLEMAX
UpdateParticle(i)
next i
// Update screen
sync
return
 
_splat_blood:
yoff = rnd(SPREAD1_MAX*2)-SPREAD1_MAX;
 
// Activate blood particles around box
for i = 1 to PARTICLEMAX
// The angle particles should fly
yAng# = 90+rnd(SPREAD2_MAX*2)-SPREAD2_MAX+yoff
 
// Calculate directions
xSpeed# = cos(yAng#)
zSpeed# = sin(yAng#)
// Calculate speeds
xSpeed# = xSpeed# * (rnd(20)/5.0)
ySpeed# = ((rnd(20)-rnd(20))/10.0)
zSpeed# = zSpeed# * (rnd(20)/5.0)
// Activate particle
x# = camera position x()
y# = camera position y()
z# = camera position z()
particleIndex = ActivateParticle(particleIndex, 30+rnd(30), x#, y#, z#, xSpeed#, ySpeed#, zSpeed#)
next i
return
// Activate the specified particle and give it an initial position/velocity
function ActivateParticle(i, life, x#, y#, z#, xSpeed#, ySpeed#, zSpeed#)
// Cycle through the particle objects to use
inc i
if i > PARTICLEMAX then dec i, PARTICLEMAX
// Set particle variables
particle(i).life = life
particle(i).x = x#
particle(i).y = y#
particle(i).z = z#
particle(i).xSpeed = xSpeed#
particle(i).ySpeed = ySpeed#
particle(i).zSpeed = zSpeed#
// Show particle object
exclude object off i
endfunction i
// Update positioning for specified particle
function UpdateParticle(i)
// Only update particles that are alive
if particle(i).life > 0
// Apply gravity
dec particle(i).ySpeed, 0.098
// Move the particle
inc particle(i).x, particle(i).xSpeed
inc particle(i).y, particle(i).ySpeed
inc particle(i).z, particle(i).zSpeed
// Position particle
position object i, particle(i).x, particle(i).y, particle(i).z
point object i, camera position x(), camera position y(), camera position z()
// Lower particle's life
dec particle(i).life
// Hide particles when they die
if particle(i).life <= 0 then exclude object on i
endif
endfunction
// Data type used by particles
type particleType
life as integer // Remaining life of particle (0=Dead)
x as float // Position
y as float // ...
z as float // ...
xSpeed as float // Velocity
ySpeed as float // ...
zSpeed as float // ...
endtype
/trunk/_private/Code Tests/Scorpion Walking/room.dba
0,0 → 1,808
Rem * Title : The Room Demo
Rem * Author : DBS-LB
Rem * Date : 1st September 99
rem ********************************************
rem * ROOM *
rem ********************************************
rem * AUTHOR: Lee Bamber DATE: 1st Sep 1999 *
rem ********************************************
 
rem Setup environment
hide mouse
autocam off
sync on
 
rem Set up Scene
setup_room()
 
rem Activate forcefeedback
forceactive=setup_forcefeedback()
 
rem Set up Data
gosub _setupglobals
 
rem Init player position
a#=90.0
x#=150.0
 
rem Begin main loop
backdrop off
do
 
rem Handle Control Keys
mainaction=0 : subaction=0
if upkey()=1 then mainaction=1
if downkey()=1 then mainaction=2
if leftkey()=1 then subaction=3 : a#=wrapvalue(a#-6.0)
if rightkey()=1 then subaction=4 : a#=wrapvalue(a#+6.0)
 
rem Handle Control Stick
if control device y()<-500 then mainaction=1
if control device y()>500 then mainaction=2
if control device x()<-300 then subaction=3 : a#=wrapvalue(a#-6.0)
if control device x()>300 then subaction=4 : a#=wrapvalue(a#+6.0)
 
rem Handle Player Position
s#=handle_player_speed(s#,mainaction)
if mainaction>=1 and mainaction<=4
 
rem Update Player position
oldx#=x#
oldz#=z#
if mainaction=1
x#=newxvalue(x#,a#,s#)
z#=newzvalue(z#,a#,s#)
endif
if mainaction=2
x#=newxvalue(x#,a#,s#*-1.0)
z#=newzvalue(z#,a#,s#*-1.0)
endif
 
rem Make sure player not colliding with room (obj1)
position object 102,x#,-150,z#
if object collision(102,5)=1
position object 102,x#,-150,oldz#
if object collision(102,5)=0
z#=oldz#
else
position object 102,oldx#,-150,z#
if object collision(102,5)=0
x#=oldx#
else
x#=oldx#
z#=oldz#
endif
endif
endif
 
endif
 
rem Generate ripples when move
if mainaction>0 or subaction>0 then gosub _make_ripple
 
rem Handle Player
handle_player(x#,z#,a#,mainaction,subaction)
handle_camera(x#,z#,a#)
 
rem Handle Misc Effects
handle_player_shadow(x#,z#,a#)
handle_effects()
gosub _handle_bouncer
gosub _handle_rainforce
gosub _handle_face_fading
gosub _handle_drips
gosub _handle_facedecals
gosub _handle_ambience
gosub _handle_ripple_control
 
rem Update screen
sync
 
loop
 
rem Subroutines
_setupglobals:
 
dim ripple#(10)
for r=1 to 10 : ripple#(r)=0.0 : next r
 
dim drip(3)
for d=1 to 3 : drip(d)=0 : next d
 
return
 
_handle_bouncer:
 
rem scroll variable value
wh#=wrapvalue(wh#+8.0)
 
rem trigger bounce
position object 102,x#,-300,z#
col=object collision(21,0)
if col=102
by#=3.0+(s#/5.0)
ix#=(object position x(21)-x#)/((35.0-s#)/1.5)
iz#=(object position z(21)-z#)/((35.0-s#)/1.5)
benergy=5
play sound 3
set sound volume 3,95-(benergy*2)
endif
if col=5
ba#=wrapvalue(atanfull(bx#,bz#)+180.0)
is#=sqrt((ix#*ix#)+(iz#*iz#))/1.5
ix#=sin(ba#)*is#
iz#=cos(ba#)*is#
by#=by#+2.0
benergy=benergy+1
play sound 3
vol=95-(benergy*2)
if vol<1 then vol=0
if vol>100 then vol=100
set sound volume 3,vol
endif
 
rem manage bounce
bx#=object position x(21)
bz#=object position z(21)
if benergy>0
bx#=bx#+ix#
bz#=bz#+iz#
ix#=ix#*0.95
iz#=iz#*0.95
position object 21,bx#,object position y(21)+by#,bz#
position object 22,bx#,-280.0,bz#
position sound 3,bx#,0,bz#
by#=by#-1.0
if by#<((benergy*2.0)*-1.0) then by#=((benergy*2.0)*-1.0)
if object position y(21)<-250.0
by#=(by#*0.75)*-1.0
benergy=benergy-1
play sound 3
svol=95-(benergy*2)
if svol<0 then svol=0
if svol>100 then svol=100
set sound volume 3,svol
if benergy=0
bfloat#=object position y(21)
endif
endif
else
diff#=((-250+(cos(wh#)*9.0))-bfloat#)/12.0
bfloat#=bfloat#+diff#
position object 21,bx#,bfloat#,bz#
position object 22,bx#,-280.0,bz#
by#=0.0
endif
 
rem ripple from ball (9)
r=9
if ripple#(r)=0.0 and object position y(21)<-210.0
position object 10+r,bx#,-225,bz#
texture object 10+r,17
show object 10+r
ripple#(r)=1.0
endif
 
rem scale ball based on vertical inertia
diff#=(by#-boing#)/6.0
boing#=boing#+diff#
scale object 21,100,90+(boing#*4.0),100
scale object 22,90-(boing#*2.0)+(cos(wh#)*9.0),90-(boing#*2.0)+(cos(wh#)*9.0),100
`
return
 
_handle_rainforce:
 
rem rain force
dist#=sqrt((x#*x#)+(z#*z#))
if forceactive=1 and dist#<400
force angle 10-((9.0/400.0)*dist#),rnd(359),5
endif
 
return
 
_handle_face_fading:
 
rem handle wrapping rotation
sl#=wrapvalue(sl#+16.0)
rotate object 203,90,0,sl#
 
rem handle in-out fading
if lf=0
fd=fd+1
fade object 203,80
if fd=10 then lf=1
else
fd=fd-1
fade object 203,125
if fd=0 then lf=0
endif
 
rem twirl force
dx#=x#-800.0
dist#=sqrt((dx#*dx#)+(z#*z#))
if forceactive=1 and dist#<200.0
str#=((99.0/200.0)*dist#)
force angle 100-str#,wrapvalue(270.0-sl#),50
a#=wrapvalue(a#-5.0*(str#/99.0))
endif
 
rem Proximity to face opens door, else closes it
if dist#<400.0
position object 36,-1290,object position y(36)+5.0,0
if object position y(36)>500.0
position object 36,-1290,500.0,0
stop sound 4 : chl=0
else
if chl=0 then loop sound 4 : set sound speed 4,12000 : chl=1
endif
else
position object 36,-1290,object position y(36)-10.0,0
if object position y(36)<160.0
position object 36,-1290,160.0,0
stop sound 4 : chl=0
else
if chl=0 then loop sound 4 : set sound speed 4,15000 : chl=1
endif
endif
 
return
 
_handle_drips:
 
rem loop through all drip elements
for d=1 to 3
if drip(d)=0 and rnd(20)=0
 
rem start drip
drip(d)=1
position object 7+d,-700+rnd(1400),1000,-700+rnd(1400)
show object 7+d
 
else
if drip(d)=1
position object 7+d,object position x(7+d),object position y(7+d)-100,object position z(7+d)
if object position y(7+d)<-300
 
rem end drip
drip(d)=0
hide object 7+d
 
rem ripple from drips (6-8)
r=5+d
position object 10+r,object position x(7+d),-225,object position z(7+d)
texture object 10+r,17
show object 10+r
ripple#(r)=1.0
 
endif
endif
endif
next d
 
return
 
_handle_facedecals:
 
rem Point faces towards camera position
dx#=camera position x()
dz#=camera position z()
fa#=wrapvalue(atanfull(dx#,dz#)+180.0)
yrotate object 7,wrapvalue(fa#)
 
return
 
_handle_ambience:
 
rem controls strength of shadow
dist#=sqrt(abs(x#*x#)+abs(z#*z#))
set ambient light 20+(dist#/40.0)
 
return
 
_make_ripple:
 
rem spare ripple object?
r=1 : while ripple#(r)>0 and r<5 : r=r+1 : endwhile
if r<=5
oz#=-48.0
ox#=-70.0
oz#=oz#+(rnd(2)*50.0)
ox#=ox#+(rnd(1)*140.0)
tx#=(cos(a#)*ox#)+(sin(a#)*oz#)
tz#=(cos(a#)*oz#)-(sin(a#)*ox#)
rx#=x#+tx#
rz#=z#+tz#
position object 10+r,rx#,-225,rz#
yrotate object 10+r,a#
texture object 10+r,17
show object 10+r
ripple#(r)=1.0
endif
 
return
 
_handle_ripple_control:
 
rem loops through all ripple elements
for r=1 to 10
if object visible(10+r)=1
texture object 10+r,16+ripple#(r)
ripple#(r)=ripple#(r)+0.5
if ripple#(r)>=4.4
ripple#(r)=0.0
hide object 10+r
endif
endif
 
position object 10+r,object position x(10+r),-250+(cos(wh#)*9.0),object position z(10+r)
 
next r
 
return
 
rem Functions
function handle_player_speed(speed#,actionmode)
 
rem Handle Speed control
if actionmode=1 or actionmode=2
speed#=speed#+5.0
if actionmode=1 and speed#>30.0 then speed#=30.0
if actionmode=2 and speed#>30.0 then speed#=30.0
else
speed#=speed#-5.0
if speed#<0.0 then speed#=0.0
endif
 
endfunction speed#
 
function handle_player(px#,pz#,pa#,actionmode,subaction)
 
rem Handle player animation
handle_player_anim(actionmode,subaction)
 
rem Set Player Position and angle
position object 101,px#,0,pz#
yrotate object 101,pa#
 
rem Position listener at player
position listener px#/100.0,0,pz#/100.0
rotate listener 0,wrapvalue(360.0-pa#),0
 
rem Set players collision sphere
position object 102,px#,-150,pz#
 
endfunction
 
function handle_player_anim(actionmode,subactionmode)
 
if smoothing=0
if actionmode>0 or subactionmode>0
 
rem Switch to Walk
if object frame(101)<100 or object frame(101)>115
start=100
newanim=2
smoothing=4
loop sound 2
set sound speed 2,8500+rnd(1500)
endif
if rnd(4)=0 then set sound speed 2,8500+rnd(1500)
 
else
 
rem Switch to Idle
if object frame(101)>25
start=0
newanim=1
smoothing=4
endif
 
endif
 
rem Activate smoothing
if smoothing>0
 
rem Begin smoothing transition
stop object 101
set object interpolation 101,25
set object frame 101,start
 
rem Duplicate for shadow
stop object 4
set object interpolation 4,25
set object frame 4,start
 
endif
endif
 
rem Switch to new animation
if newanim>0
if smoothing=0
 
rem Trigger New Anim
if newanim=1 then length=20 : speed=10
if newanim=2 then length=15 : speed=50
 
rem Set Animation
set object interpolation 101,100
set object frame 101,start
loop object 101,start,start+length
set object speed 101,speed
 
rem Duplicate for shadow
set object interpolation 4,100
set object frame 4,start
loop object 4,start,start+length
set object speed 4,speed
 
rem Choose sound
if newanim=2
loop sound 2
else
play sound 2
set sound speed 2,8400
endif
 
rem Reset flag
newanim=0
 
else
smoothing=smoothing-1
endif
endif
 
endfunction
 
function handle_camera(px#,pz#,pa#)
 
rem Calc camera position and angle
ca#=wrapvalue(pa#+180.0)
cx#=newxvalue(px#,ca#,scdis#)
cz#=newzvalue(pz#,ca#,scdis#)
 
rem Record camera coords
oldx#=scx#
oldz#=scz#
 
rem Calc smoothed camera position and angle
diff#=(scx#-cx#)/6.0
scx#=scx#-diff#
diff#=(scz#-cz#)/6.0
scz#=scz#-diff#
sca#=curveangle(pa#,sca#,6.0)
 
rem Restrict camera if collide with walls
position object 103,scx#,-50,scz#
if object collision(103,5)=1
if object hit(103,5)=1 then cdis#=100.0
position object 103,scx#,-50,oldz#
if object collision(103,5)=0
scx#=oldx#
else
position object 103,oldx#,-50,scz#
if object collision(103,5)=0
scz#=oldz#
else
scx#=oldx#
scz#=oldz#
endif
endif
else
if cdis#<500.0
cdis#=cdis#+50.0
if cdis#>500.0 then cdis#=500.0
endif
endif
 
rem Smooth camera distance for next cycle
diff#=(scdis#-cdis#)/6.0
scdis#=scdis#-diff#
 
rem Set camera
position camera scx#,-50,scz#
point camera object position x(101),object position y(101)-100,object position z(101)
 
endfunction
 
function handle_effects()
 
rem Scroll rain texture
scroll object texture 2,0,-0.02
 
rem Simple rotate of water
wr#=wrapvalue(wr#+1.0)
yrotate object 3,wr#
wh#=wrapvalue(wh#+8.0)
position object 3,0,-250+(cos(wh#)*9.0),0
 
endfunction
 
function handle_player_shadow(px#,pz#,pa#)
 
rem Shadow follows player
position object 4,px#,-280.0,pz#
yrotate object 4,pa#
 
endfunction
 
function setup_forcefeedback()
 
rem Check for FF device
perform checklist for control devices
if checklist quantity()>0
for f=1 to checklist quantity()
if checklist value a(f)=1
set control device checklist string$(f)
force water effect 100,0
forceactive=1
endif
next f
else
forceactive=0
endif
 
endfunction forceactive
 
function setup_room()
 
rem Blacken Scene
if fog available()=1 then fog on : fog color 0 : fog distance 0
point camera 0,1000,0
set ambient light 0
 
rem Create bitmaps for room
load_image("bmp\floor.bmp",1)
load_image("bmp\roof.bmp",2)
load_image("bmp\wall1.bmp",3)
load_image("bmp\wall2.bmp",4)
load_image("bmp\wall3.bmp",5)
load_image("bmp\door.bmp",6)
load_image("bmp\portal.bmp",7)
 
rem Create special effects bitmaps
load_image("bmp\force.bmp",11)
load_image("bmp\water.bmp",12)
load_image("bmp\black.bmp",13)
` load_image("bmp\spray.bmp",14)
` load_image("bmp\spray.bmp",15)
load_image("bmp\ripple.bmp",16)
load_image("bmp\face.bmp",21)
` load_image("bmp\stattext.bmp",31)
load_image("bmp\shadow.bmp",32)
load_image("bmp\logo.bmp",33)
 
rem Create room (but hide the gate)
load object "obj\dome.x",1
set object collision off 1
texture limb 1,0,2
texture limb 1,1,2
texture limb 1,2,4
texture limb 1,3,3
texture limb 1,4,5
texture limb 1,5,5
texture limb 1,6,6
texture limb 1,7,4
hide limb 1,6
hide limb 1,8
 
rem Reload room (showing only the gate)
load object "obj\dome.x",200
set object collision off 200
set object 200,1,0,0
hide limb 200,1
hide limb 200,2
hide limb 200,3
hide limb 200,4
hide limb 200,5
hide limb 200,7
texture limb 200,6,6
hide limb 200,8
 
rem Create floor
make matrix 1,3200.0,2400.0,4,3
position matrix 1,-2000.0,-290.0,-1200.0
prepare matrix texture 1,1,2,2
set matrix tile 1,1,1,3
set matrix tile 1,3,1,2
set matrix tile 1,2,1,4
update matrix 1
 
rem Create Shaft of light
make object cone 2,300
scale object 2,200,800,200
position object 2,0,600,0
texture object 2,11
set object 2,1,0,0
ghost object on 2
set object collision off 2
if alphablending available()=0 then hide object 2
 
rem Create water on floor
make object plain 3,2900,2900
xrotate object 3,90
fix object pivot 3
texture object 3,12
ghost object on 3
set object collision off 3
 
rem Create Shadow for player
load object "obj\scorpidle.x",4
append object "obj\scorpwalk.x",4,100
yrotate object 4,180
fix object pivot 4
scale object 4,100,1,100
hide limb 4,1 : hide limb 4,2 : hide limb 4,3
hide limb 4,5 : hide limb 4,6 : hide limb 4,7
hide limb 4,12 : hide limb 4,13 : hide limb 4,14
hide limb 4,15 : hide limb 4,16 : hide limb 4,17
hide limb 4,18 : hide limb 4,19 : hide limb 4,20
texture object 4,13
set object collision off 4
 
rem Create collision walls
make object plain 5,1200,800
make mesh from object 1,5
position object 5,0,0,1200
for w=1 to 7 : add limb 5,w,1 : next w
w=1 : offset limb 5,w,-800,0,-350 : rotate limb 5,w,0,135,0
w=2 : offset limb 5,w,800,0,-350 : rotate limb 5,w,0,45,0
w=3 : offset limb 5,w,-1200,0,-1200 : rotate limb 5,w,0,270,0
w=4 : offset limb 5,w,1200,0,-1200 : rotate limb 5,w,0,90,0
w=5 : offset limb 5,w,-800,0,-2050 : rotate limb 5,w,0,45,0
w=6 : offset limb 5,w,800,0,-2050 : rotate limb 5,w,0,135,0
w=7 : offset limb 5,w,0,0,-2400 : rotate limb 5,w,0,180,0
hide object 5
 
rem Create Center Spray
make object cone 6,540
scale object 6,100,1,100
position object 6,0,-290,0
xrotate object 6,180
color object 6,rgb(235,235,255)
ghost object on 6
fade object 6,0
set object collision off 6
 
rem Create Logo
make object plain 7,400,300
texture object 7,33
position object 7,0,230,0
ghost object on 7
set object 7,1,0,1
set object collision off 7
 
rem Create drips
make object cylinder 8,2
scale object 8,100,1000,100
ghost object on 8
hide object 8
set object collision off 8
make object cylinder 9,2
scale object 9,100,1000,100
ghost object on 9
hide object 9
set object collision off 9
make object cylinder 10,2
scale object 10,100,1000,100
ghost object on 10
hide object 10
set object collision off 10
 
rem Create ripple objects
for r=1 to 10
make object plain 10+r,100,100
xrotate object 10+r,90
fix object pivot 10+r
ghost object on 10+r
set object 10+r,1,0,1
hide object 10+r
set object collision off 10+r
next r
 
rem Slightly rescale ball ripple
scale object 10+9,150,150,100
 
rem Create bouncing ball
make object sphere 21,100
position object 21,0,0,0
texture object 21,2
 
rem Create ball shadow
make object plain 22,100,100
xrotate object 22,90
fix object pivot 22
texture object 22,32
set object 22,1,0,0
set object collision off 22
 
rem Create Effective Door
make object plain 31,1000,1000
position object 31,-1400,100,0
yrotate object 31,90
texture object 31,3
fade object 31,0
set object collision off 31
make object plain 32,1000,1000
position object 32,-1320,100,900
yrotate object 32,100
texture object 32,3
set object collision off 32
make object plain 33,1000,1000
position object 33,-1320,100,-900
yrotate object 33,80
texture object 33,3
set object collision off 33
 
rem Create Door Portal
make object plain 36,1050,900
texture object 36,7
position object 36,-1290,100,0
set object 36,1,0,0
yrotate object 36,90
set object collision off 36
 
rem Create Character
load object "obj\scorpidle.x",101
append object "obj\scorpwalk.x",101,100
yrotate object 101,180
fix object pivot 101
loop object 101,0,20
hide limb 101,1
set object collision off 101
 
rem Collision Sphere for Character
make object sphere 102,300
scale object 102,100,60,100
hide object 102
 
rem Collision Sphere for Camera
make object sphere 103,150
hide object 103
 
rem Create spinning face
make object plain 203,400,400
position object 203,800,-280,0
texture object 203,21
ghost object on 203
xrotate object 203,90
set object collision off 203
 
rem Create ripple textures
create bitmap 2,256,64
paste image 16,0,0
get image 17,0,0,64,64
get image 18,64,0,64+64,64
get image 19,128,0,128+64,64
get image 20,192,0,192+64,64
delete bitmap 2
 
rem Create bitmap for effects (force)
create bitmap 2,256,256
set current bitmap 0
 
rem Create Sounds
load 3dsound "snd\rain.wav",1
position sound 1,0,10,0
set sound speed 1,3500
loop sound 1
load sound "snd\splash.wav",2 : set sound speed 2,7000 : set sound volume 2,85
load 3dsound "snd\bang.wav",3 : set sound volume 3,95
load 3dsound "snd\chain.wav",4 : set sound volume 4,90
position sound 4,-1200,0,0
 
rem Create Fog (show scene)
if fog available()=1 then fog on : fog color 0 : fog distance 3000
set ambient light 30
 
endfunction
 
function load_image(file$,imagenumber)
 
load bitmap file$,1
width=bitmap width(1)
height=bitmap height(1)
get image imagenumber,0,0,width,height
delete bitmap 1
 
endfunction
/trunk/_private/Code Tests/Text/Widmung.txt
0,0 → 1,57
remstart
Sync Rate 0
load music "music\darkness.mid", 1
loop music 1
load sound "sound\Type.wav", 1
lcd("The Dark Night...", 1, 10, 1, 1, 0)
sleep 500
lcd("Dies ist eine Beta. Das Spiel wird in den nächsten 5 Jahren", 1, 40, 0, 1, 0)
sleep 500
lcd("fertig sein. Benutzen Sie die Maus, um sich umzuschauen", 1, 55, 0, 1, 0)
sleep 500
lcd("und benutzen Sie die Pfeiltasten, um zu laufen. Mit der rechten", 1, 70, 0, 1, 0)
sleep 500
lcd("Maustaste springen Sie.", 1, 85, 0, 1, 0)
sleep 500
lcd("(C)Copyright 2001 - 2002 Daniel Marschall.", 1, 115, 1, 0, 0)
sleep 500
lcd("Alle Rechte vorbehalten!", 1, 130, 1, 0, 0)
sleep 500
lcd("Besuchen Sie meine Webseite!", 1, 160, 0, 0, 1)
sleep 500
lcd("http://www.d-m-home.de", 1, 175, 0, 0, 1)
sleep 500
lcd("Diese Version ist vom 6.9.2002.", 1, 205, 1, 1, 1)
sleep 5000
delete sound 1
delete music 1
remend
 
function lcd(rich$, x, y, r, g, b)
a = len(rich$) + 1
i = 0
s = 16
set text font "Courier"
repeat
sprite 1, s, y, 1
set cursor x * 8, y
x$ = mid$(rich$, x)
repeat
if r = 1 then ink rgb(i, 0, 0), 0
if g = 1 then ink rgb(0, i, 0), 0
if b = 1 then ink rgb(0, 0, i), 0
if r = 1 and g = 1 then ink rgb(i, i, 0), 0
if r = 1 and b = 1 then ink rgb(i, 0, i), 0
if g = 1 and b = 1 then ink rgb(0, i, i), 0
if b = 1 and g = 1 and b = 1 then ink rgb(i, i, i), 0
text x * 8, y, x$
inc i, 35
sync
until i => 255
inc x
inc s, 8
i = 0
play sound 1
until x = a
endfunction
 
/trunk/_private/Code Tests/Water/Wasser@Matrix.txt
0,0 → 1,11
rem Wasser
remstart
make matrix 2, 10000, 10000, 20, 20
load image "bitmap\GM01B02.bmp", 3
prepare matrix texture 2, 3, 1, 1
fill matrix 2, 0, 1
position matrix 2, 0, 100, 0
ghost matrix on 2
rem randomize matrix 2, 130
update matrix 2
remend
/trunk/_private/Code Tests/Wetter/Wetter.txt
0,0 → 1,77
rem Sound
load sound "sound\thunder.wav", 2
load sound "sound\thunder2.wav", 3
 
do
 
activate = 1
 
rem Wetter
if inkey$() = "3" and activate = 1 then Wetter$ = ""
if Wetter$ = ""
set ambient light 40
if fog available() = 1
fog on
fog distance 7500
fog color rgb(135, 119, 99)
endif
if sound exist(4) = 1
stop sound 4
delete sound 4
endif
endif
 
if inkey$() = "0" and activate = 1
Wetter$ = "day"
if fog available() = 1
Fog on
Fog distance 4000
Fog color RGB(128, 128, 128)
endif
Color Backdrop RGB(128, 128, 128)
Load sound "sound\crickets.wav", 4
Loop sound 4
endif
 
if inkey$() = "1" and activate = 1
Wetter$ = "thunder"
if fog available() = 1
Fog on
rem Nur wenn Lampe da: Fog distance 1000
Fog distance 500
Fog color RGB(0, 0, 0)
endif
Color Backdrop RGB(0, 0, 0)
Load sound "sound\rain.wav", 4
Loop sound 4
endif
 
if inkey$() = "2" and activate = 1
Wetter$ = "sun"
if fog available() = 1
Fog on
Fog distance 7000
Fog color RGB(255, 255, 255)
endif
Color Backdrop RGB(20, 150, 200)
Load sound "sound\river.wav", 4
Loop sound 4
endif
 
rem Donner
if wetter$ = "thunder"
if rnd(100) = 50
ink rgb(255, 0, 0), rgb(255, 255, 255)
cls
sync
if rnd(2) = 1
set sound pan 3, -5000 + rnd(10000)
play sound 3
else
set sound pan 2, -5000 + rnd(10000)
play sound 2
endif
endif
endif
 
loop
/trunk/_private/Code Tests/matrix_example.dba
0,0 → 1,54
sync on
hide mouse
`---------------
`create a matrix
`---------------
`the matrix will be 100 units square and be split up into 100 squares (10*10)
make matrix 1,100,100,10,10
`set the matrix heights
`I am going to use two for loops to do this
`the first loops through the xPoints, the second through the zPoints
for xPoint=0 to 10
for zPoint=0 to 10
`create a sinewave matrix
`I just made the following bit up and it looked nice
`you can just as easily use your own numbers/ math's to create terrain's
`you could also use a loop like this to read values you have saved from
`a text file created by an editor
height=(sin(xPoint*36)+cos(zPoint*36))*5
set matrix height 1,xPoint, zPoint, height
next zPoint
next xPoint
`----------------------
`set the matrix texture
`----------------------
`load matrix texture
load image "floor1.bmp",1
`prepare the matrix texture
prepare matrix texture 1, 1, 2,2
`loop through matrix tiles
for xTile=0 to 9
for zTile=0 to 9
`set the matrix tile texture
`the texture is a random value
set matrix tile 1,xTile,zTile,rnd(3)+1
next zTile
next xTile
`update the matrix after it has been changed
update matrix 1
`position the camera so that it has a good view
Position camera 50,50,-50
point camera 50,25,50
`main loop
do
`update the screen
sync
loop
/trunk/_private/Code Tests/zaxistest/Application.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Code Tests/zaxistest/Standard Setup Sequence.BAK
0,0 → 1,19
rem Standard Setup Code
sync on : sync rate 0 :
color backdrop rgb(0,0,128) : hide mouse
set text font "arial" : set text size 12 : set text transparent
 
make object sphere 1,100
 
autocam on
 
do
x = object position x(1)
y = object position y(1)
z = object position z(1)+1
position object 1, x, y, z
 
sleep 100
 
sync
LOOP
/trunk/_private/Code Tests/zaxistest/Standard Setup Sequence.dba
0,0 → 1,19
rem Standard Setup Code
sync on : sync rate 0 :
color backdrop rgb(0,0,128) : hide mouse
set text font "arial" : set text size 12 : set text transparent
 
make object sphere 1,100
 
autocam on
 
do
x = object position x(1)+1
y = object position y(1)+1
z = object position z(1)+1
position object 1, x, y, z
 
sleep 100
 
sync
LOOP
/trunk/_private/Code Tests/zaxistest/zaxistest.dbpro
0,0 → 1,68
; **** Dark BASIC Professional Project File ****
; **** Written by Synergy Editor ****
version=DBP1.00
project name=zaxistest
 
; **** source file information ****
main=Standard Setup Sequence.dba
LineMain=10
 
; **** Executable Information ***
; build types: exe, media, installer, alone
executable=Application.exe
build type=exe
; ** Media file compression **
compression=NO
 
; ** Media file encryption **
encryption=NO
; ** Display the card options screen window? **
card options window=NO
 
; **** debugger information ****
; If the editor sets this to yes, it is running in debug mode
CLI=NO
CommandLineArguments=
 
; **** display mode information ****
app title=zaxistest
 
; graphics mode options: fullscreen, window, desktop, fulldesktop, hidden
graphics mode=window
fullscreen resolution=640x480x32
 
; arbitrary sizes are valid for windowed mode
window resolution=640x480
 
; **** External Files Information ****
 
; **** Media ****
; Example entries: media1=graphics\*.jpg
media root path=c:\software_old\dbpro\Projects\zaxistest\
 
; **** Icons ****
 
; **** Cursors ****
 
; **** Version Info ****
VerComments=
VerCompany=
VerFileDesc=
VerFileNumber=
VerInternal=
VerCopyright=
VerTrademark=
VerFilename=
VerProduct=
VerProductNumber=v1.0
 
; **** To Do ****
 
; **** Comments ****
comments1=
 
; **** Advanced (setup.ini) configuration ****
RemoveSafetyCode=NO
SafeArrays=YES
LocalTempFolder=NO
ExternaliseDLLS=NO
/trunk/_private/Credits.txt
0,0 → 1,12
 
Music
CoMa (Pause theme)
 
Script Proof-Reading
Luke O'Neill
 
Screen artwork
Kevin B. Gener
Daniel Marschall
 
Developed with TGC DarkBasic Professional and Borland Delphi
/trunk/_private/Drehbuch.docx
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/Morningside.x
0,0 → 1,270
xof 0302txt 0064
// File created by Cinema4D
 
template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}
 
template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}
 
template Coords2d {
<F6F23F44-7686-11cf-8F52-0040333594A3>
FLOAT u;
FLOAT v;
}
 
template Matrix4x4 {
<F6F23F45-7686-11cf-8F52-0040333594A3>
array FLOAT matrix[16];
}
 
template ColorRGBA {
<35FF44E0-6C7C-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}
 
template ColorRGB {
<D3E16E81-7835-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
}
 
template IndexedColor {
<1630B820-7842-11cf-8F52-0040333594A3>
DWORD index;
ColorRGBA indexColor;
}
 
template Boolean {
<4885AE61-78E8-11cf-8F52-0040333594A3>
WORD truefalse;
}
 
template Boolean2d {
<4885AE63-78E8-11cf-8F52-0040333594A3>
Boolean u;
Boolean v;
}
 
template MaterialWrap {
<4885AE60-78E8-11cf-8F52-0040333594A3>
Boolean u;
Boolean v;
}
 
template TextureFilename {
<A42790E1-7810-11cf-8F52-0040333594A3>
STRING filename;
}
 
template Material {
<3D82AB4D-62DA-11cf-AB39-0020AF71E433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[...]
}
 
template MeshFace {
<3D82AB5F-62DA-11cf-AB39-0020AF71E433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}
 
template MeshFaceWraps {
<4885AE62-78E8-11cf-8F52-0040333594A3>
DWORD nFaceWrapValues;
Boolean2d faceWrapValues;
}
 
template MeshTextureCoords {
<F6F23F40-7686-11cf-8F52-0040333594A3>
DWORD nTextureCoords;
array Coords2d textureCoords[nTextureCoords];
}
 
template MeshMaterialList {
<F6F23F42-7686-11cf-8F52-0040333594A3>
DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material]
}
 
template MeshNormals {
<F6F23F43-7686-11cf-8F52-0040333594A3>
DWORD nNormals;
array Vector normals[nNormals];
DWORD nFaceNormals;
array MeshFace faceNormals[nFaceNormals];
}
 
template MeshVertexColors {
<1630B821-7842-11cf-8F52-0040333594A3>
DWORD nVertexColors;
array IndexedColor vertexColors[nVertexColors];
}
 
template Mesh {
<3D82AB44-62DA-11cf-AB39-0020AF71E433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[...]
}
 
template FrameTransformMatrix {
<F6F23F41-7686-11cf-8F52-0040333594A3>
Matrix4x4 frameMatrix;
}
 
template Frame {
<3D82AB46-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
Header {
1;
0;
1;
}
 
 
 
Mesh Cinema4D_Mesh {
13;
// Dach
-200.186;131.352;-175.042;,
297.814;131.352;-175.042;,
297.814;131.352;224.958;,
-200.186;131.352;224.958;,
48.814;331.352;24.958;,
// Haus
-200.151;-219.171;-175.228;,
-200.151;130.829;-175.228;,
299.849;-219.171;-175.228;,
299.849;130.829;-175.228;,
299.849;-219.171;224.772;,
299.849;130.829;224.772;,
-200.151;-219.171;224.772;,
-200.151;130.829;224.772;;
11;
// Dach
4;0,1,2,3;,
3;4,2,1;,
3;4,3,2;,
3;4,0,3;,
3;4,1,0;,
// Haus
4;5,6,8,7;,
4;7,8,10,9;,
4;9,10,12,11;,
4;11,12,6,5;,
4;6,12,10,8;,
4;11,5,7,9;;
MeshNormals {
13;
// Dach
-1.739;-0.157;-1.397;,
1.739;-0.157;-1.397;,
1.739;-0.157;1.397;,
-1.739;-0.157;1.397;,
0.0;1.0;0.0;,
// Haus
-1.443;-1.01;-1.155;,
-1.443;1.01;-1.155;,
1.443;-1.01;-1.155;,
1.443;1.01;-1.155;,
1.443;-1.01;1.155;,
1.443;1.01;1.155;,
-1.443;-1.01;1.155;,
-1.443;1.01;1.155;;
11;
// Dach
4;0,1,2,3;,
3;4,2,1;,
3;4,3,2;,
3;4,0,3;,
3;4,1,0;,
// Haus
4;5,6,8,7;,
4;7,8,10,9;,
4;9,10,12,11;,
4;11,12,6,5;,
4;6,12,10,8;,
4;11,5,7,9;;
}
MeshTextureCoords {
13;
// Dach
0.0;1.0;,
1.0;1.0;,
0.0;1.0;,
0.0;1.0;,
0.5;0.0;,
// Haus
0.0;0.0;,
0.0;1.0;,
1.0;0.0;,
1.0;1.0;,
1.0;1.0;,
1.0;0.0;,
0.0;1.0;,
0.0;0.0;;
}
MeshMaterialList {
3;
11;
2,
2,
2,
2,
2,
1,
1,
1,
1,
1,
1;
Material C4DMAT_NONE {
1.0;1.0;1.0;1.0;;
1.0;
0.0;0.0;0.0;;
0.0;0.0;0.0;;
}
Material C4DMAT_Haus {
0.8;0.8;0.64;1.0;;
1.0;
0.025;0.025;0.025;;
0.0;0.0;0.0;;
}
Material C4DMAT_Dach {
0.664;0.0;0.0;1.0;;
1.0;
0.025;0.025;0.025;;
0.0;0.0;0.0;;
}
{C4DMAT_Dach}
}
}
/trunk/_private/Eine alte Version/Reservierungen.xls
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/TDN.DBA
0,0 → 1,389
rem The Dark Night
rem by Daniel Marschall
 
rem ToDo:
rem Nebel-Himmel-Problem (NHP)
 
rem Setup & Startbildschirm
if check display mode( 800, 600, screen depth() ) then set display mode 800, 600, screen depth()
rem if check display mode( 1024, 768, screen depth() ) then set display mode 1024, 768, screen depth()
hide mouse
Sync On
Sync Rate 30
 
rem gosub _startgame
 
load bitmap "bitmap\title.bmp"
 
rem Menü?
sleep 3000
load bitmap "bitmap\title2.bmp"
rem show mouse
 
set text font "times"
set text size 27
fade = 230
pos = 1
menu = 1
sound = 1
rem music = 1
do
gosub _fademenu
if ( downkey() = 1 and pos < 4 and menu = 1 ) or ( downkey() = 1 and pos < 3 and menu = 3 )
inc pos
while downkey() = 1
gosub _fademenu
endwhile
endif
if upkey() = 1 and pos > 1
dec pos
while upkey() = 1
gosub _fademenu
endwhile
endif
if returnkey() = 1
if menu = 1
if pos = 1 then gosub _startgame
if pos = 2
rem load bitmap "bitmap\Titel2.bmp"
rem menu = 2
rem pos = 1
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 3
pos = 1
endif
if pos = 4 then break
else
if menu = 3
if pos = 1
if sound = 1
sound = 0
else
sound = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 2
if music = 1
music = 0
else
music = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 1
pos = 1
endif
endif
endif
while returnkey() = 1
gosub _fademenu
endwhile
endif
loop
 
_startgame:
ink rgb(255, 230, 0), 0
load bitmap "bitmap\title.bmp"
text 50, 550, "Level wird geladen..."
rem hide mouse
 
sync
 
rem Setup
Backdrop on
Set camera range 1, 5000
Autocam off
 
rem Boden
Make matrix 1, 10000, 10000, 20, 20
Load image "bitmap\grass.bmp", 1
Prepare matrix texture 1, 1, 1, 1
Fill matrix 1, 0, 1
randomize matrix 1, 125
 
rem Himmel
load image "bitmap\sky.bmp", 2
make object sphere 2, (landsize * 2) - 500
set object collision off 2
rem scale object 2, 2000, 1800, 2000
rem scale object 2, 2000, 1000, 2000
rem scale object 2, 2000, 1300, 2000
scale object 2, 2000, 1200, 2000
set object 2, 1, 1, 0
texture object 2, 2
fade object 2, 0
backdrop off
 
rem Level einlesen - Bäume
rem open to read 1, "map\001-tree.map"
load image "bitmap\tree.bmp", 4
make object plain 52, 200, 400
make mesh from object 52, 52
add limb 52, 1, 52
rotate limb 52, 1, 0, 90, 0
make mesh from object 52, 52
delete object 52
make object 52, 52, 0
remstart
while file end(1) = 0
inc t
read string 1, rx$
read string 1, rz$
add limb 52, t, 52
offset limb 52, t, val(rx$), get ground height(1, val(rx$), val(rz$)), val(rz$)
endwhile
remend
for t = 1 to 199
rx = rnd(10000)
rz = rnd(10000)
add limb 52, t, 52
offset limb 52, t, rx, get ground height(1, rx, rz), rz
next t
make mesh from object 52, 52
delete object 52
make object 52, 52, 4
rem position object 52, xxx, 190, xxx
position object 52, 0, 190, 0
set object 52, 1, 0, 0
rem close file 1
 
rem load object "Morningside.x",95
rem position object 95, 2000, get ground height(1, 2000, 2000), 2000
 
rem Karte
load image "map\zone001.bmp", 5
make object plain 51, 256, 256
lock object on 51
position object 51, -490, -340, 800
ghost object on 51
texture object 51, 5
 
rem Bildschirm neu aufbauen
cls
sync
 
Rem Musik
if music = 1
load music "music\music.mid", 1
loop music 1
endif
 
rem Radar vorbereiten
radarpointcolor = 150
 
rem Scorpion
remstart
Load object "obj\idle.x", 50
rem append object "obj\walk.x",50,100
Loop object 50
position object 50, 500, Get Ground Height(1, 500, 500) + 265, 500
fix object pivot 50
loop object 50, 0, 20
rem Stachel verstecken
hide limb 50, 1
set object collision on 50
remend
 
rem Hauptschleife
Do
 
rem Wetter
set ambient light 40
if fog available() = 1
fog on
rem fog distance 7500
fog distance 4500
fog color rgb(135, 119, 99)
endif
 
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
 
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
caZ# = Camera angle Z()
 
rem Sprungroutine
if sprungdelay > 0 then dec sprungdelay
if MouseClick() = 2 and sprung = 0 and sprungrev = 0 and sprungdelay = 0 then inc sprung, 4
if sprung > 0
if sprungrev = 0
inc sprung, 4
if sprung = 60 then sprungrev = 1
else
if sprungrev = 1
dec sprung, 5
if sprung = 0
sprungrev = 0
sprungdelay = 15
endif
endif
endif
endif
 
rem Laufen
rem Spiellogik (Geschwindigkeit): Vor = +2 / Zurück = -2
if Upkey() = 1
XTest# = Newxvalue(X#, cAY#, 7)
ZTest# = Newzvalue(Z#, cAY#, 7)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Downkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 3)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Leftkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Rightkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera
Y# = Get ground height(1, X#, Z#) + 85 + sprung
Position Camera X#, Y#, Z#
 
Rem Position Listener
Position Listener X#, Y#, Z#
Rotate Listener 0, cAY#, 0
 
rem Himmel bewegt sich...
rem zu schnell: 0.0005
scroll object texture 2, 0.0004, 0
fade object 2, 0
position object 2, x#, 0, z#
 
rem Radar
xx = X# / 62.5
zz = Z# / 62.5
z = zz * -1
if radarpointrev = 0
inc radarpointcolor, 3
else
dec radarpointcolor, 3
endif
if radarpointcolor > 255
radarpointrev = 1
radarpointcolor = 254
endif
if radarpointcolor < 150
radarpointrev = 0
radarpointcolor = 149
endif
ink rgb(radarpointcolor, 0, 0), 0
circle xx + 15, z + 592, 1
circle xx + 15, z + 592, 0
 
rem Scorpion bewegen
rem Position Object 50, Object Position X(50), Object Position Y(50), Object Position Z(50)
 
Rem Bild erneuern
Sync
Loop
 
function lcd(rich$, x, y, r, g, b)
a = len(rich$) + 1
i = 0
s = 16
set text font "Courier"
repeat
sprite 1, s, y, 1
set cursor x * 8, y
x$ = mid$(rich$, x)
repeat
if r = 1 then ink rgb(i, 0, 0), 0
if g = 1 then ink rgb(0, i, 0), 0
if b = 1 then ink rgb(0, 0, i), 0
if r = 1 and g = 1 then ink rgb(i, i, 0), 0
if r = 1 and b = 1 then ink rgb(i, 0, i), 0
if g = 1 and b = 1 then ink rgb(0, i, i), 0
if b = 1 and g = 1 and b = 1 then ink rgb(i, i, i), 0
text x * 8, y, x$
inc i, 35
sync
until i => 255
inc x
inc s, 8
i = 0
play sound 1
until x = a
endfunction
 
_fademenu:
if fade > 200 then fadedir = 0
if fade < 100 then fadedir = 1
if fadedir = 1
inc fade, 5
else
dec fade, 5
endif
rem Beleuchtet
ink rgb(255, fade, 0), 0
if menu = 1
if pos = 1 then text 260, 255, "Neues Spiel starten"
if pos = 2 then text 260, 285, "Spiel laden"
if pos = 3 then text 260, 315, "Einstellungen"
if pos = 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos = 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos = 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos = 3 then text 260, 315, "Hauptmenü"
endif
rem Normal
ink rgb(255, 230, 0), 0
if menu = 1
if pos <> 1 then text 260, 255, "Neues Spiel starten"
if pos <> 2 then text 260, 285, "Spiel laden"
if pos <> 3 then text 260, 315, "Einstellungen"
if pos <> 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos <> 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos <> 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos <> 3 then text 260, 315, "Hauptmenü"
endif
sync
return
/trunk/_private/Eine alte Version/TDN.TMP
0,0 → 1,389
rem The Dark Night
rem by Daniel Marschall
 
rem ToDo:
rem Nebel-Himmel-Problem (NHP)
 
rem Setup & Startbildschirm
if check display mode( 800, 600, screen depth() ) then set display mode 800, 600, screen depth()
rem if check display mode( 1024, 768, screen depth() ) then set display mode 1024, 768, screen depth()
hide mouse
Sync On
Sync Rate 30
 
rem gosub _startgame
 
load bitmap "bitmap\title.bmp"
 
rem Menü?
sleep 3000
load bitmap "bitmap\title2.bmp"
rem show mouse
 
set text font "times"
set text size 27
fade = 230
pos = 1
menu = 1
sound = 1
rem music = 1
do
gosub _fademenu
if ( downkey() = 1 and pos < 4 and menu = 1 ) or ( downkey() = 1 and pos < 3 and menu = 3 )
inc pos
while downkey() = 1
gosub _fademenu
endwhile
endif
if upkey() = 1 and pos > 1
dec pos
while upkey() = 1
gosub _fademenu
endwhile
endif
if returnkey() = 1
if menu = 1
if pos = 1 then gosub _startgame
if pos = 2
rem load bitmap "bitmap\Titel2.bmp"
rem menu = 2
rem pos = 1
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 3
pos = 1
endif
if pos = 4 then break
else
if menu = 3
if pos = 1
if sound = 1
sound = 0
else
sound = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 2
if music = 1
music = 0
else
music = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 1
pos = 1
endif
endif
endif
while returnkey() = 1
gosub _fademenu
endwhile
endif
loop
 
_startgame:
ink rgb(255, 230, 0), 0
load bitmap "bitmap\title.bmp"
text 50, 550, "Level wird geladen..."
rem hide mouse
 
sync
 
rem Setup
Backdrop on
Set camera range 1, 5000
Autocam off
 
rem Boden
Make matrix 1, 10000, 10000, 20, 20
Load image "bitmap\grass.bmp", 1
Prepare matrix texture 1, 1, 1, 1
Fill matrix 1, 0, 1
randomize matrix 1, 125
 
rem Himmel
load image "bitmap\sky.bmp", 2
make object sphere 2, (landsize * 2) - 500
set object collision off 2
rem scale object 2, 2000, 1800, 2000
rem scale object 2, 2000, 1000, 2000
scale object 2, 2000, 1300, 2000
set object 2, 1, 1, 0
texture object 2, 2
fade object 2, 0
backdrop off
 
rem Level einlesen - Bäume
rem open to read 1, "map\001-tree.map"
load image "bitmap\tree.bmp", 4
make object plain 52, 200, 400
make mesh from object 52, 52
add limb 52, 1, 52
rotate limb 52, 1, 0, 90, 0
make mesh from object 52, 52
delete object 52
make object 52, 52, 0
remstart
while file end(1) = 0
inc t
read string 1, rx$
read string 1, rz$
add limb 52, t, 52
offset limb 52, t, val(rx$), get ground height(1, val(rx$), val(rz$)), val(rz$)
endwhile
remend
for t = 1 to 199
rx = rnd(10000)
rz = rnd(10000)
add limb 52, t, 52
offset limb 52, t, rx, get ground height(1, rx, rz), rz
next t
make mesh from object 52, 52
delete object 52
make object 52, 52, 4
rem position object 52, xxx, 190, xxx
position object 52, 0, 190, 0
set object 52, 1, 0, 0
rem close file 1
 
load object "Morningside.x",95
position object 95, 2000, get ground height(1, 2000, 2000), 2000
 
rem Karte
load image "map\zone001.bmp", 5
make object plain 51, 256, 256
lock object on 51
position object 51, -490, -340, 800
ghost object on 51
texture object 51, 5
 
rem Bildschirm neu aufbauen
cls
sync
 
Rem Musik
if music = 1
load music "music\music.mid", 1
loop music 1
endif
 
rem Radar vorbereiten
radarpointcolor = 150
 
rem Scorpion
remstart
Load object "obj\idle.x", 50
rem append object "obj\walk.x",50,100
Loop object 50
position object 50, 500, Get Ground Height(1, 500, 500) + 265, 500
fix object pivot 50
loop object 50, 0, 20
rem Stachel verstecken
hide limb 50, 1
set object collision on 50
remend
 
rem Hauptschleife
Do
 
rem Wetter
set ambient light 40
if fog available() = 1
fog on
rem fog distance 7500
fog distance 4500
fog color rgb(135, 119, 99)
endif
 
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
 
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
caZ# = Camera angle Z()
 
rem Sprungroutine
if sprungdelay > 0 then dec sprungdelay
if MouseClick() = 2 and sprung = 0 and sprungrev = 0 and sprungdelay = 0 then inc sprung, 4
if sprung > 0
if sprungrev = 0
inc sprung, 4
if sprung = 60 then sprungrev = 1
else
if sprungrev = 1
dec sprung, 5
if sprung = 0
sprungrev = 0
sprungdelay = 15
endif
endif
endif
endif
 
rem Laufen
rem Spiellogik (Geschwindigkeit): Vor = +2 / Zurück = -2
if Upkey() = 1
XTest# = Newxvalue(X#, cAY#, 7)
ZTest# = Newzvalue(Z#, cAY#, 7)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Downkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 3)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Leftkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Rightkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera
Y# = Get ground height(1, X#, Z#) + 85 + sprung
Position Camera X#, Y#, Z#
 
Rem Position Listener
Position Listener X#, Y#, Z#
Rotate Listener 0, cAY#, 0
 
rem Himmel bewegt sich...
rem zu schnell: 0.0005
scroll object texture 2, 0.0004, 0
fade object 2, 0
position object 2, x#, 0, z#
 
rem Radar
xx = X# / 62.5
zz = Z# / 62.5
z = zz * -1
if radarpointrev = 0
inc radarpointcolor, 3
else
dec radarpointcolor, 3
endif
if radarpointcolor > 255
radarpointrev = 1
radarpointcolor = 254
endif
if radarpointcolor < 150
radarpointrev = 0
radarpointcolor = 149
endif
ink rgb(radarpointcolor, 0, 0), 0
circle xx + 15, z + 592, 1
circle xx + 15, z + 592, 0
 
rem Scorpion bewegen
rem Position Object 50, Object Position X(50), Object Position Y(50), Object Position Z(50)
 
Rem Bild erneuern
Sync
Loop
 
function lcd(rich$, x, y, r, g, b)
a = len(rich$) + 1
i = 0
s = 16
set text font "Courier"
repeat
sprite 1, s, y, 1
set cursor x * 8, y
x$ = mid$(rich$, x)
repeat
if r = 1 then ink rgb(i, 0, 0), 0
if g = 1 then ink rgb(0, i, 0), 0
if b = 1 then ink rgb(0, 0, i), 0
if r = 1 and g = 1 then ink rgb(i, i, 0), 0
if r = 1 and b = 1 then ink rgb(i, 0, i), 0
if g = 1 and b = 1 then ink rgb(0, i, i), 0
if b = 1 and g = 1 and b = 1 then ink rgb(i, i, i), 0
text x * 8, y, x$
inc i, 35
sync
until i => 255
inc x
inc s, 8
i = 0
play sound 1
until x = a
endfunction
 
_fademenu:
if fade > 200 then fadedir = 0
if fade < 100 then fadedir = 1
if fadedir = 1
inc fade, 5
else
dec fade, 5
endif
rem Beleuchtet
ink rgb(255, fade, 0), 0
if menu = 1
if pos = 1 then text 260, 255, "Neues Spiel starten"
if pos = 2 then text 260, 285, "Spiel laden"
if pos = 3 then text 260, 315, "Einstellungen"
if pos = 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos = 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos = 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos = 3 then text 260, 315, "Hauptmenü"
endif
rem Normal
ink rgb(255, 230, 0), 0
if menu = 1
if pos <> 1 then text 260, 255, "Neues Spiel starten"
if pos <> 2 then text 260, 285, "Spiel laden"
if pos <> 3 then text 260, 315, "Einstellungen"
if pos <> 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos <> 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos <> 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos <> 3 then text 260, 315, "Hauptmenü"
endif
sync
return
 
/trunk/_private/Eine alte Version/TDN.bak
0,0 → 1,389
rem The Dark Night
rem by Daniel Marschall
 
rem ToDo:
rem Nebel-Himmel-Problem (NHP)
 
rem Setup & Startbildschirm
if check display mode( 800, 600, screen depth() ) then set display mode 800, 600, screen depth()
rem if check display mode( 1024, 768, screen depth() ) then set display mode 1024, 768, screen depth()
hide mouse
Sync On
Sync Rate 30
 
rem gosub _startgame
 
load bitmap "bitmap\title.bmp"
 
rem Menü?
sleep 3000
load bitmap "bitmap\title2.bmp"
rem show mouse
 
set text font "times"
set text size 27
fade = 230
pos = 1
menu = 1
sound = 1
rem music = 1
do
gosub _fademenu
if ( downkey() = 1 and pos < 4 and menu = 1 ) or ( downkey() = 1 and pos < 3 and menu = 3 )
inc pos
while downkey() = 1
gosub _fademenu
endwhile
endif
if upkey() = 1 and pos > 1
dec pos
while upkey() = 1
gosub _fademenu
endwhile
endif
if returnkey() = 1
if menu = 1
if pos = 1 then gosub _startgame
if pos = 2
rem load bitmap "bitmap\Titel2.bmp"
rem menu = 2
rem pos = 1
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 3
pos = 1
endif
if pos = 4 then break
else
if menu = 3
if pos = 1
if sound = 1
sound = 0
else
sound = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 2
if music = 1
music = 0
else
music = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 1
pos = 1
endif
endif
endif
while returnkey() = 1
gosub _fademenu
endwhile
endif
loop
 
_startgame:
ink rgb(255, 230, 0), 0
load bitmap "bitmap\title.bmp"
text 50, 550, "Level wird geladen..."
rem hide mouse
 
sync
 
rem Setup
Backdrop on
Set camera range 1, 5000
Autocam off
 
rem Boden
Make matrix 1, 10000, 10000, 20, 20
Load image "bitmap\grass.bmp", 1
Prepare matrix texture 1, 1, 1, 1
Fill matrix 1, 0, 1
randomize matrix 1, 125
 
rem Himmel
load image "bitmap\sky.bmp", 2
make object sphere 2, (landsize * 2) - 500
set object collision off 2
rem scale object 2, 2000, 1800, 2000
rem scale object 2, 2000, 1000, 2000
rem scale object 2, 2000, 1300, 2000
scale object 2, 2000, 1200, 2000
set object 2, 1, 1, 0
texture object 2, 2
fade object 2, 0
backdrop off
 
rem Level einlesen - Bäume
rem open to read 1, "map\001-tree.map"
load image "bitmap\tree.bmp", 4
make object plain 52, 200, 400
make mesh from object 52, 52
add limb 52, 1, 52
rotate limb 52, 1, 0, 90, 0
make mesh from object 52, 52
delete object 52
make object 52, 52, 0
remstart
while file end(1) = 0
inc t
read string 1, rx$
read string 1, rz$
add limb 52, t, 52
offset limb 52, t, val(rx$), get ground height(1, val(rx$), val(rz$)), val(rz$)
endwhile
remend
for t = 1 to 199
rx = rnd(10000)
rz = rnd(10000)
add limb 52, t, 52
offset limb 52, t, rx, get ground height(1, rx, rz), rz
next t
make mesh from object 52, 52
delete object 52
make object 52, 52, 4
rem position object 52, xxx, 190, xxx
position object 52, 0, 190, 0
set object 52, 1, 0, 0
rem close file 1
 
load object "Morningside.x",95
position object 95, 2000, get ground height(1, 2000, 2000), 2000
 
rem Karte
load image "map\zone001.bmp", 5
make object plain 51, 256, 256
lock object on 51
position object 51, -490, -340, 800
ghost object on 51
texture object 51, 5
 
rem Bildschirm neu aufbauen
cls
sync
 
Rem Musik
if music = 1
load music "music\music.mid", 1
loop music 1
endif
 
rem Radar vorbereiten
radarpointcolor = 150
 
rem Scorpion
remstart
Load object "obj\idle.x", 50
rem append object "obj\walk.x",50,100
Loop object 50
position object 50, 500, Get Ground Height(1, 500, 500) + 265, 500
fix object pivot 50
loop object 50, 0, 20
rem Stachel verstecken
hide limb 50, 1
set object collision on 50
remend
 
rem Hauptschleife
Do
 
rem Wetter
set ambient light 40
if fog available() = 1
fog on
rem fog distance 7500
fog distance 4500
fog color rgb(135, 119, 99)
endif
 
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
 
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
caZ# = Camera angle Z()
 
rem Sprungroutine
if sprungdelay > 0 then dec sprungdelay
if MouseClick() = 2 and sprung = 0 and sprungrev = 0 and sprungdelay = 0 then inc sprung, 4
if sprung > 0
if sprungrev = 0
inc sprung, 4
if sprung = 60 then sprungrev = 1
else
if sprungrev = 1
dec sprung, 5
if sprung = 0
sprungrev = 0
sprungdelay = 15
endif
endif
endif
endif
 
rem Laufen
rem Spiellogik (Geschwindigkeit): Vor = +2 / Zurück = -2
if Upkey() = 1
XTest# = Newxvalue(X#, cAY#, 7)
ZTest# = Newzvalue(Z#, cAY#, 7)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Downkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 3)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Leftkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Rightkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera
Y# = Get ground height(1, X#, Z#) + 85 + sprung
Position Camera X#, Y#, Z#
 
Rem Position Listener
Position Listener X#, Y#, Z#
Rotate Listener 0, cAY#, 0
 
rem Himmel bewegt sich...
rem zu schnell: 0.0005
scroll object texture 2, 0.0004, 0
fade object 2, 0
position object 2, x#, 0, z#
 
rem Radar
xx = X# / 62.5
zz = Z# / 62.5
z = zz * -1
if radarpointrev = 0
inc radarpointcolor, 3
else
dec radarpointcolor, 3
endif
if radarpointcolor > 255
radarpointrev = 1
radarpointcolor = 254
endif
if radarpointcolor < 150
radarpointrev = 0
radarpointcolor = 149
endif
ink rgb(radarpointcolor, 0, 0), 0
circle xx + 15, z + 592, 1
circle xx + 15, z + 592, 0
 
rem Scorpion bewegen
rem Position Object 50, Object Position X(50), Object Position Y(50), Object Position Z(50)
 
Rem Bild erneuern
Sync
Loop
 
function lcd(rich$, x, y, r, g, b)
a = len(rich$) + 1
i = 0
s = 16
set text font "Courier"
repeat
sprite 1, s, y, 1
set cursor x * 8, y
x$ = mid$(rich$, x)
repeat
if r = 1 then ink rgb(i, 0, 0), 0
if g = 1 then ink rgb(0, i, 0), 0
if b = 1 then ink rgb(0, 0, i), 0
if r = 1 and g = 1 then ink rgb(i, i, 0), 0
if r = 1 and b = 1 then ink rgb(i, 0, i), 0
if g = 1 and b = 1 then ink rgb(0, i, i), 0
if b = 1 and g = 1 and b = 1 then ink rgb(i, i, i), 0
text x * 8, y, x$
inc i, 35
sync
until i => 255
inc x
inc s, 8
i = 0
play sound 1
until x = a
endfunction
 
_fademenu:
if fade > 200 then fadedir = 0
if fade < 100 then fadedir = 1
if fadedir = 1
inc fade, 5
else
dec fade, 5
endif
rem Beleuchtet
ink rgb(255, fade, 0), 0
if menu = 1
if pos = 1 then text 260, 255, "Neues Spiel starten"
if pos = 2 then text 260, 285, "Spiel laden"
if pos = 3 then text 260, 315, "Einstellungen"
if pos = 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos = 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos = 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos = 3 then text 260, 315, "Hauptmenü"
endif
rem Normal
ink rgb(255, 230, 0), 0
if menu = 1
if pos <> 1 then text 260, 255, "Neues Spiel starten"
if pos <> 2 then text 260, 285, "Spiel laden"
if pos <> 3 then text 260, 315, "Einstellungen"
if pos <> 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos <> 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos <> 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos <> 3 then text 260, 315, "Hauptmenü"
endif
sync
return
/trunk/_private/Eine alte Version/TDN.dbpro
0,0 → 1,58
; **** Dark BASIC Professional Project File ****
version=DBP1.00
project name=
 
 
 
; **** source file information ****
main=TDN.DBA
; The compiler only needs to read the final source from this entry - the editor
; handles include files, concatenation, etc.
final source=_Temp.dbsource
 
; The editor will replace any references to %temp in the EXE path/filename
executable=TDN.exe
 
; **** Executable Information ***
; build types: exe, media, installer,alone
build type=exe
 
; ** Media file compression **
compression=NO
; ** Media file encryption **
encryption=NO
; ** Display the card options screen window? **
card options window=NO
 
; **** debugger information ****
; If the editor sets this to yes, it is running in debug mode
CLI=NO
 
; **** display mode information ****
app title=DarkBASIC Pro Project
; graphics mode options: fullscreen, window, desktop,fulldesktop, hidden
graphics mode=fulldesktop
fullscreen resolution=640x480x16
; arbitrary sizes are valid for windowed mode
window resolution=640x480
 
; **** External Files Information ****
; **** Media ****
media root path=
; example entries: media1=graphics\*.jpg
 
; **** Icons ****
 
; **** Cursors ****
 
; **** Version Info ****
VerComments=
VerCompany=
VerFileDesc=
VerFileNumber=v1.0
VerInternal=
VerCopyright=
VerTrademark=
VerFilename=
VerProduct=
VerProductNumber=v1.0
/trunk/_private/Eine alte Version/TDN.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/TDN.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/TDN.~DB
0,0 → 1,388
rem The Dark Night
rem by Daniel Marschall
 
rem ToDo:
rem Nebel-Himmel-Problem (NHP)
 
rem Setup & Startbildschirm
if check display mode( 800, 600, screen depth() ) then set display mode 800, 600, screen depth()
rem if check display mode( 1024, 768, screen depth() ) then set display mode 1024, 768, screen depth()
hide mouse
Sync On
Sync Rate 30
 
rem gosub _startgame
 
load bitmap "bitmap\title.bmp"
 
rem Menü?
sleep 3000
load bitmap "bitmap\title2.bmp"
rem show mouse
 
set text font "times"
set text size 27
fade = 230
pos = 1
menu = 1
sound = 1
rem music = 1
do
gosub _fademenu
if ( downkey() = 1 and pos < 4 and menu = 1 ) or ( downkey() = 1 and pos < 3 and menu = 3 )
inc pos
while downkey() = 1
gosub _fademenu
endwhile
endif
if upkey() = 1 and pos > 1
dec pos
while upkey() = 1
gosub _fademenu
endwhile
endif
if returnkey() = 1
if menu = 1
if pos = 1 then gosub _startgame
if pos = 2
rem load bitmap "bitmap\Titel2.bmp"
rem menu = 2
rem pos = 1
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 3
pos = 1
endif
if pos = 4 then break
else
if menu = 3
if pos = 1
if sound = 1
sound = 0
else
sound = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 2
if music = 1
music = 0
else
music = 1
endif
load bitmap "bitmap\title2.bmp"
endif
if pos = 3
load bitmap "bitmap\title2.bmp"
menu = 1
pos = 1
endif
endif
endif
while returnkey() = 1
gosub _fademenu
endwhile
endif
loop
 
_startgame:
ink rgb(255, 230, 0), 0
load bitmap "bitmap\title.bmp"
text 50, 550, "Level wird geladen..."
rem hide mouse
 
sync
 
rem Setup
Backdrop on
Set camera range 1, 5000
Autocam off
 
rem Boden
Make matrix 1, 10000, 10000, 20, 20
Load image "bitmap\grass.bmp", 1
Prepare matrix texture 1, 1, 1, 1
Fill matrix 1, 0, 1
randomize matrix 1, 125
 
rem Himmel
load image "bitmap\sky.bmp", 2
make object sphere 2, (landsize * 2) - 500
set object collision off 2
rem scale object 2, 2000, 1800, 2000
rem scale object 2, 2000, 1000, 2000
scale object 2, 2000, 1150, 2000
set object 2, 1, 1, 0
texture object 2, 2
fade object 2, 0
backdrop off
 
rem Level einlesen - Bäume
rem open to read 1, "map\001-tree.map"
load image "bitmap\tree.bmp", 4
make object plain 52, 200, 400
make mesh from object 52, 52
add limb 52, 1, 52
rotate limb 52, 1, 0, 90, 0
make mesh from object 52, 52
delete object 52
make object 52, 52, 0
remstart
while file end(1) = 0
inc t
read string 1, rx$
read string 1, rz$
add limb 52, t, 52
offset limb 52, t, val(rx$), get ground height(1, val(rx$), val(rz$)), val(rz$)
endwhile
remend
for t = 1 to 199
rx = rnd(10000)
rz = rnd(10000)
add limb 52, t, 52
offset limb 52, t, rx, get ground height(1, rx, rz), rz
next t
make mesh from object 52, 52
delete object 52
make object 52, 52, 4
rem position object 52, xxx, 190, xxx
position object 52, 0, 190, 0
set object 52, 1, 0, 0
rem close file 1
 
load object "Morningside.x",95
position object 95, 2000, get ground height(1, 2000, 2000), 2000
 
rem Karte
load image "map\zone001.bmp", 5
make object plain 51, 256, 256
lock object on 51
position object 51, -490, -340, 800
ghost object on 51
texture object 51, 5
 
rem Bildschirm neu aufbauen
cls
sync
 
Rem Musik
if music = 1
load music "music\music.mid", 1
loop music 1
endif
 
rem Radar vorbereiten
radarpointcolor = 150
 
rem Scorpion
remstart
Load object "obj\idle.x", 50
rem append object "obj\walk.x",50,100
Loop object 50
position object 50, 500, Get Ground Height(1, 500, 500) + 265, 500
fix object pivot 50
loop object 50, 0, 20
rem Stachel verstecken
hide limb 50, 1
set object collision on 50
remend
 
rem Hauptschleife
Do
 
rem Wetter
set ambient light 40
if fog available() = 1
fog on
rem fog distance 7500
fog distance 4500
fog color rgb(135, 119, 99)
endif
 
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
 
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
caZ# = Camera angle Z()
 
rem Sprungroutine
if sprungdelay > 0 then dec sprungdelay
if MouseClick() = 2 and sprung = 0 and sprungrev = 0 and sprungdelay = 0 then inc sprung, 4
if sprung > 0
if sprungrev = 0
inc sprung, 4
if sprung = 60 then sprungrev = 1
else
if sprungrev = 1
dec sprung, 5
if sprung = 0
sprungrev = 0
sprungdelay = 15
endif
endif
endif
endif
 
rem Laufen
rem Spiellogik (Geschwindigkeit): Vor = +2 / Zurück = -2
if Upkey() = 1
XTest# = Newxvalue(X#, cAY#, 7)
ZTest# = Newzvalue(Z#, cAY#, 7)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Downkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 3)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Leftkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
if Rightkey() = 1
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5)
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5)
if XTest# > 0 and XTest# < 10000 and ZTest# > 0 and ZTest# < 10000
X# = XTest#
Z# = ZTest#
endif
endif
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera
Y# = Get ground height(1, X#, Z#) + 85 + sprung
Position Camera X#, Y#, Z#
 
Rem Position Listener
Position Listener X#, Y#, Z#
Rotate Listener 0, cAY#, 0
 
rem Himmel bewegt sich...
rem zu schnell: 0.0005
scroll object texture 2, 0.0004, 0
fade object 2, 0
position object 2, x#, 0, z#
 
rem Radar
xx = X# / 62.5
zz = Z# / 62.5
z = zz * -1
if radarpointrev = 0
inc radarpointcolor, 3
else
dec radarpointcolor, 3
endif
if radarpointcolor > 255
radarpointrev = 1
radarpointcolor = 254
endif
if radarpointcolor < 150
radarpointrev = 0
radarpointcolor = 149
endif
ink rgb(radarpointcolor, 0, 0), 0
circle xx + 15, z + 592, 1
circle xx + 15, z + 592, 0
 
rem Scorpion bewegen
rem Position Object 50, Object Position X(50), Object Position Y(50), Object Position Z(50)
 
Rem Bild erneuern
Sync
Loop
 
function lcd(rich$, x, y, r, g, b)
a = len(rich$) + 1
i = 0
s = 16
set text font "Courier"
repeat
sprite 1, s, y, 1
set cursor x * 8, y
x$ = mid$(rich$, x)
repeat
if r = 1 then ink rgb(i, 0, 0), 0
if g = 1 then ink rgb(0, i, 0), 0
if b = 1 then ink rgb(0, 0, i), 0
if r = 1 and g = 1 then ink rgb(i, i, 0), 0
if r = 1 and b = 1 then ink rgb(i, 0, i), 0
if g = 1 and b = 1 then ink rgb(0, i, i), 0
if b = 1 and g = 1 and b = 1 then ink rgb(i, i, i), 0
text x * 8, y, x$
inc i, 35
sync
until i => 255
inc x
inc s, 8
i = 0
play sound 1
until x = a
endfunction
 
_fademenu:
if fade > 200 then fadedir = 0
if fade < 100 then fadedir = 1
if fadedir = 1
inc fade, 5
else
dec fade, 5
endif
rem Beleuchtet
ink rgb(255, fade, 0), 0
if menu = 1
if pos = 1 then text 260, 255, "Neues Spiel starten"
if pos = 2 then text 260, 285, "Spiel laden"
if pos = 3 then text 260, 315, "Einstellungen"
if pos = 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos = 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos = 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos = 3 then text 260, 315, "Hauptmenü"
endif
rem Normal
ink rgb(255, 230, 0), 0
if menu = 1
if pos <> 1 then text 260, 255, "Neues Spiel starten"
if pos <> 2 then text 260, 285, "Spiel laden"
if pos <> 3 then text 260, 315, "Einstellungen"
if pos <> 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos <> 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos <> 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos <> 3 then text 260, 315, "Hauptmenü"
endif
sync
return
/trunk/_private/Eine alte Version/bitmap/grass.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/bitmap/sky.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/bitmap/title.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/bitmap/title2.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/bitmap/tree.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/map/001-tree.map
0,0 → 1,4
500
500
600
600
/trunk/_private/Eine alte Version/map/zone001.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/music/music.MID
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/obj/Kugel.x
0,0 → 1,1840
xof 0302txt 0064
// File created by Cinema4D
 
template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}
 
template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}
 
template Coords2d {
<F6F23F44-7686-11cf-8F52-0040333594A3>
FLOAT u;
FLOAT v;
}
 
template Matrix4x4 {
<F6F23F45-7686-11cf-8F52-0040333594A3>
array FLOAT matrix[16];
}
 
template ColorRGBA {
<35FF44E0-6C7C-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}
 
template ColorRGB {
<D3E16E81-7835-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
}
 
template IndexedColor {
<1630B820-7842-11cf-8F52-0040333594A3>
DWORD index;
ColorRGBA indexColor;
}
 
template Boolean {
<4885AE61-78E8-11cf-8F52-0040333594A3>
WORD truefalse;
}
 
template Boolean2d {
<4885AE63-78E8-11cf-8F52-0040333594A3>
Boolean u;
Boolean v;
}
 
template MaterialWrap {
<4885AE60-78E8-11cf-8F52-0040333594A3>
Boolean u;
Boolean v;
}
 
template TextureFilename {
<A42790E1-7810-11cf-8F52-0040333594A3>
STRING filename;
}
 
template Material {
<3D82AB4D-62DA-11cf-AB39-0020AF71E433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[...]
}
 
template MeshFace {
<3D82AB5F-62DA-11cf-AB39-0020AF71E433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}
 
template MeshFaceWraps {
<4885AE62-78E8-11cf-8F52-0040333594A3>
DWORD nFaceWrapValues;
Boolean2d faceWrapValues;
}
 
template MeshTextureCoords {
<F6F23F40-7686-11cf-8F52-0040333594A3>
DWORD nTextureCoords;
array Coords2d textureCoords[nTextureCoords];
}
 
template MeshMaterialList {
<F6F23F42-7686-11cf-8F52-0040333594A3>
DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material]
}
 
template MeshNormals {
<F6F23F43-7686-11cf-8F52-0040333594A3>
DWORD nNormals;
array Vector normals[nNormals];
DWORD nFaceNormals;
array MeshFace faceNormals[nFaceNormals];
}
 
template MeshVertexColors {
<1630B821-7842-11cf-8F52-0040333594A3>
DWORD nVertexColors;
array IndexedColor vertexColors[nVertexColors];
}
 
template Mesh {
<3D82AB44-62DA-11cf-AB39-0020AF71E433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[...]
}
 
template FrameTransformMatrix {
<F6F23F41-7686-11cf-8F52-0040333594A3>
Matrix4x4 frameMatrix;
}
 
template Frame {
<3D82AB46-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
Header {
1;
0;
1;
}
 
 
 
Mesh Cinema4D_Mesh {
266;
// Kugel
0.0;-0.5;0.0;,
0.0;0.5;0.0;,
0.129;-0.483;0.0;,
0.125;-0.483;0.033;,
0.112;-0.483;0.065;,
0.092;-0.483;0.092;,
0.065;-0.483;0.112;,
0.033;-0.483;0.125;,
0.0;-0.483;0.129;,
-0.033;-0.483;0.125;,
-0.065;-0.483;0.112;,
-0.092;-0.483;0.092;,
-0.112;-0.483;0.065;,
-0.125;-0.483;0.033;,
-0.129;-0.483;0.0;,
-0.125;-0.483;-0.033;,
-0.112;-0.483;-0.065;,
-0.092;-0.483;-0.092;,
-0.065;-0.483;-0.112;,
-0.033;-0.483;-0.125;,
0.0;-0.483;-0.129;,
0.033;-0.483;-0.125;,
0.065;-0.483;-0.112;,
0.092;-0.483;-0.092;,
0.112;-0.483;-0.065;,
0.125;-0.483;-0.033;,
0.25;-0.433;0.0;,
0.241;-0.433;0.065;,
0.217;-0.433;0.125;,
0.177;-0.433;0.177;,
0.125;-0.433;0.217;,
0.065;-0.433;0.241;,
0.0;-0.433;0.25;,
-0.065;-0.433;0.241;,
-0.125;-0.433;0.217;,
-0.177;-0.433;0.177;,
-0.217;-0.433;0.125;,
-0.241;-0.433;0.065;,
-0.25;-0.433;0.0;,
-0.241;-0.433;-0.065;,
-0.217;-0.433;-0.125;,
-0.177;-0.433;-0.177;,
-0.125;-0.433;-0.217;,
-0.065;-0.433;-0.241;,
0.0;-0.433;-0.25;,
0.065;-0.433;-0.241;,
0.125;-0.433;-0.217;,
0.177;-0.433;-0.177;,
0.217;-0.433;-0.125;,
0.241;-0.433;-0.065;,
0.354;-0.354;0.0;,
0.342;-0.354;0.092;,
0.306;-0.354;0.177;,
0.25;-0.354;0.25;,
0.177;-0.354;0.306;,
0.092;-0.354;0.342;,
0.0;-0.354;0.354;,
-0.092;-0.354;0.342;,
-0.177;-0.354;0.306;,
-0.25;-0.354;0.25;,
-0.306;-0.354;0.177;,
-0.342;-0.354;0.092;,
-0.354;-0.354;0.0;,
-0.342;-0.354;-0.092;,
-0.306;-0.354;-0.177;,
-0.25;-0.354;-0.25;,
-0.177;-0.354;-0.306;,
-0.092;-0.354;-0.342;,
0.0;-0.354;-0.354;,
0.092;-0.354;-0.342;,
0.177;-0.354;-0.306;,
0.25;-0.354;-0.25;,
0.306;-0.354;-0.177;,
0.342;-0.354;-0.092;,
0.433;-0.25;0.0;,
0.418;-0.25;0.112;,
0.375;-0.25;0.217;,
0.306;-0.25;0.306;,
0.217;-0.25;0.375;,
0.112;-0.25;0.418;,
0.0;-0.25;0.433;,
-0.112;-0.25;0.418;,
-0.217;-0.25;0.375;,
-0.306;-0.25;0.306;,
-0.375;-0.25;0.217;,
-0.418;-0.25;0.112;,
-0.433;-0.25;0.0;,
-0.418;-0.25;-0.112;,
-0.375;-0.25;-0.217;,
-0.306;-0.25;-0.306;,
-0.217;-0.25;-0.375;,
-0.112;-0.25;-0.418;,
0.0;-0.25;-0.433;,
0.112;-0.25;-0.418;,
0.217;-0.25;-0.375;,
0.306;-0.25;-0.306;,
0.375;-0.25;-0.217;,
0.418;-0.25;-0.112;,
0.483;-0.129;0.0;,
0.467;-0.129;0.125;,
0.418;-0.129;0.241;,
0.342;-0.129;0.342;,
0.241;-0.129;0.418;,
0.125;-0.129;0.467;,
0.0;-0.129;0.483;,
-0.125;-0.129;0.467;,
-0.241;-0.129;0.418;,
-0.342;-0.129;0.342;,
-0.418;-0.129;0.241;,
-0.467;-0.129;0.125;,
-0.483;-0.129;0.0;,
-0.467;-0.129;-0.125;,
-0.418;-0.129;-0.241;,
-0.342;-0.129;-0.342;,
-0.241;-0.129;-0.418;,
-0.125;-0.129;-0.467;,
0.0;-0.129;-0.483;,
0.125;-0.129;-0.467;,
0.241;-0.129;-0.418;,
0.342;-0.129;-0.342;,
0.418;-0.129;-0.241;,
0.467;-0.129;-0.125;,
0.5;0.0;0.0;,
0.483;0.0;0.129;,
0.433;0.0;0.25;,
0.354;0.0;0.354;,
0.25;0.0;0.433;,
0.129;0.0;0.483;,
0.0;0.0;0.5;,
-0.129;0.0;0.483;,
-0.25;0.0;0.433;,
-0.354;0.0;0.354;,
-0.433;0.0;0.25;,
-0.483;0.0;0.129;,
-0.5;0.0;0.0;,
-0.483;0.0;-0.129;,
-0.433;0.0;-0.25;,
-0.354;0.0;-0.354;,
-0.25;0.0;-0.433;,
-0.129;0.0;-0.483;,
0.0;0.0;-0.5;,
0.129;0.0;-0.483;,
0.25;0.0;-0.433;,
0.354;0.0;-0.354;,
0.433;0.0;-0.25;,
0.483;0.0;-0.129;,
0.483;0.129;0.0;,
0.467;0.129;0.125;,
0.418;0.129;0.241;,
0.342;0.129;0.342;,
0.241;0.129;0.418;,
0.125;0.129;0.467;,
0.0;0.129;0.483;,
-0.125;0.129;0.467;,
-0.241;0.129;0.418;,
-0.342;0.129;0.342;,
-0.418;0.129;0.241;,
-0.467;0.129;0.125;,
-0.483;0.129;0.0;,
-0.467;0.129;-0.125;,
-0.418;0.129;-0.241;,
-0.342;0.129;-0.342;,
-0.241;0.129;-0.418;,
-0.125;0.129;-0.467;,
0.0;0.129;-0.483;,
0.125;0.129;-0.467;,
0.241;0.129;-0.418;,
0.342;0.129;-0.342;,
0.418;0.129;-0.241;,
0.467;0.129;-0.125;,
0.433;0.25;0.0;,
0.418;0.25;0.112;,
0.375;0.25;0.217;,
0.306;0.25;0.306;,
0.217;0.25;0.375;,
0.112;0.25;0.418;,
0.0;0.25;0.433;,
-0.112;0.25;0.418;,
-0.217;0.25;0.375;,
-0.306;0.25;0.306;,
-0.375;0.25;0.217;,
-0.418;0.25;0.112;,
-0.433;0.25;0.0;,
-0.418;0.25;-0.112;,
-0.375;0.25;-0.217;,
-0.306;0.25;-0.306;,
-0.217;0.25;-0.375;,
-0.112;0.25;-0.418;,
0.0;0.25;-0.433;,
0.112;0.25;-0.418;,
0.217;0.25;-0.375;,
0.306;0.25;-0.306;,
0.375;0.25;-0.217;,
0.418;0.25;-0.112;,
0.354;0.354;0.0;,
0.342;0.354;0.092;,
0.306;0.354;0.177;,
0.25;0.354;0.25;,
0.177;0.354;0.306;,
0.092;0.354;0.342;,
0.0;0.354;0.354;,
-0.092;0.354;0.342;,
-0.177;0.354;0.306;,
-0.25;0.354;0.25;,
-0.306;0.354;0.177;,
-0.342;0.354;0.092;,
-0.354;0.354;0.0;,
-0.342;0.354;-0.092;,
-0.306;0.354;-0.177;,
-0.25;0.354;-0.25;,
-0.177;0.354;-0.306;,
-0.092;0.354;-0.342;,
0.0;0.354;-0.354;,
0.092;0.354;-0.342;,
0.177;0.354;-0.306;,
0.25;0.354;-0.25;,
0.306;0.354;-0.177;,
0.342;0.354;-0.092;,
0.25;0.433;0.0;,
0.241;0.433;0.065;,
0.217;0.433;0.125;,
0.177;0.433;0.177;,
0.125;0.433;0.217;,
0.065;0.433;0.241;,
0.0;0.433;0.25;,
-0.065;0.433;0.241;,
-0.125;0.433;0.217;,
-0.177;0.433;0.177;,
-0.217;0.433;0.125;,
-0.241;0.433;0.065;,
-0.25;0.433;0.0;,
-0.241;0.433;-0.065;,
-0.217;0.433;-0.125;,
-0.177;0.433;-0.177;,
-0.125;0.433;-0.217;,
-0.065;0.433;-0.241;,
0.0;0.433;-0.25;,
0.065;0.433;-0.241;,
0.125;0.433;-0.217;,
0.177;0.433;-0.177;,
0.217;0.433;-0.125;,
0.241;0.433;-0.065;,
0.129;0.483;0.0;,
0.125;0.483;0.033;,
0.112;0.483;0.065;,
0.092;0.483;0.092;,
0.065;0.483;0.112;,
0.033;0.483;0.125;,
0.0;0.483;0.129;,
-0.033;0.483;0.125;,
-0.065;0.483;0.112;,
-0.092;0.483;0.092;,
-0.112;0.483;0.065;,
-0.125;0.483;0.033;,
-0.129;0.483;0.0;,
-0.125;0.483;-0.033;,
-0.112;0.483;-0.065;,
-0.092;0.483;-0.092;,
-0.065;0.483;-0.112;,
-0.033;0.483;-0.125;,
0.0;0.483;-0.129;,
0.033;0.483;-0.125;,
0.065;0.483;-0.112;,
0.092;0.483;-0.092;,
0.112;0.483;-0.065;,
0.125;0.483;-0.033;;
288;
// Kugel
4;2,26,27,3;,
4;3,27,28,4;,
4;4,28,29,5;,
4;5,29,30,6;,
4;6,30,31,7;,
4;7,31,32,8;,
4;8,32,33,9;,
4;9,33,34,10;,
4;10,34,35,11;,
4;11,35,36,12;,
4;12,36,37,13;,
4;13,37,38,14;,
4;14,38,39,15;,
4;15,39,40,16;,
4;16,40,41,17;,
4;17,41,42,18;,
4;18,42,43,19;,
4;19,43,44,20;,
4;20,44,45,21;,
4;21,45,46,22;,
4;22,46,47,23;,
4;23,47,48,24;,
4;24,48,49,25;,
4;25,49,26,2;,
4;26,50,51,27;,
4;27,51,52,28;,
4;28,52,53,29;,
4;29,53,54,30;,
4;30,54,55,31;,
4;31,55,56,32;,
4;32,56,57,33;,
4;33,57,58,34;,
4;34,58,59,35;,
4;35,59,60,36;,
4;36,60,61,37;,
4;37,61,62,38;,
4;38,62,63,39;,
4;39,63,64,40;,
4;40,64,65,41;,
4;41,65,66,42;,
4;42,66,67,43;,
4;43,67,68,44;,
4;44,68,69,45;,
4;45,69,70,46;,
4;46,70,71,47;,
4;47,71,72,48;,
4;48,72,73,49;,
4;49,73,50,26;,
4;50,74,75,51;,
4;51,75,76,52;,
4;52,76,77,53;,
4;53,77,78,54;,
4;54,78,79,55;,
4;55,79,80,56;,
4;56,80,81,57;,
4;57,81,82,58;,
4;58,82,83,59;,
4;59,83,84,60;,
4;60,84,85,61;,
4;61,85,86,62;,
4;62,86,87,63;,
4;63,87,88,64;,
4;64,88,89,65;,
4;65,89,90,66;,
4;66,90,91,67;,
4;67,91,92,68;,
4;68,92,93,69;,
4;69,93,94,70;,
4;70,94,95,71;,
4;71,95,96,72;,
4;72,96,97,73;,
4;73,97,74,50;,
4;74,98,99,75;,
4;75,99,100,76;,
4;76,100,101,77;,
4;77,101,102,78;,
4;78,102,103,79;,
4;79,103,104,80;,
4;80,104,105,81;,
4;81,105,106,82;,
4;82,106,107,83;,
4;83,107,108,84;,
4;84,108,109,85;,
4;85,109,110,86;,
4;86,110,111,87;,
4;87,111,112,88;,
4;88,112,113,89;,
4;89,113,114,90;,
4;90,114,115,91;,
4;91,115,116,92;,
4;92,116,117,93;,
4;93,117,118,94;,
4;94,118,119,95;,
4;95,119,120,96;,
4;96,120,121,97;,
4;97,121,98,74;,
4;98,122,123,99;,
4;99,123,124,100;,
4;100,124,125,101;,
4;101,125,126,102;,
4;102,126,127,103;,
4;103,127,128,104;,
4;104,128,129,105;,
4;105,129,130,106;,
4;106,130,131,107;,
4;107,131,132,108;,
4;108,132,133,109;,
4;109,133,134,110;,
4;110,134,135,111;,
4;111,135,136,112;,
4;112,136,137,113;,
4;113,137,138,114;,
4;114,138,139,115;,
4;115,139,140,116;,
4;116,140,141,117;,
4;117,141,142,118;,
4;118,142,143,119;,
4;119,143,144,120;,
4;120,144,145,121;,
4;121,145,122,98;,
4;122,146,147,123;,
4;123,147,148,124;,
4;124,148,149,125;,
4;125,149,150,126;,
4;126,150,151,127;,
4;127,151,152,128;,
4;128,152,153,129;,
4;129,153,154,130;,
4;130,154,155,131;,
4;131,155,156,132;,
4;132,156,157,133;,
4;133,157,158,134;,
4;134,158,159,135;,
4;135,159,160,136;,
4;136,160,161,137;,
4;137,161,162,138;,
4;138,162,163,139;,
4;139,163,164,140;,
4;140,164,165,141;,
4;141,165,166,142;,
4;142,166,167,143;,
4;143,167,168,144;,
4;144,168,169,145;,
4;145,169,146,122;,
4;146,170,171,147;,
4;147,171,172,148;,
4;148,172,173,149;,
4;149,173,174,150;,
4;150,174,175,151;,
4;151,175,176,152;,
4;152,176,177,153;,
4;153,177,178,154;,
4;154,178,179,155;,
4;155,179,180,156;,
4;156,180,181,157;,
4;157,181,182,158;,
4;158,182,183,159;,
4;159,183,184,160;,
4;160,184,185,161;,
4;161,185,186,162;,
4;162,186,187,163;,
4;163,187,188,164;,
4;164,188,189,165;,
4;165,189,190,166;,
4;166,190,191,167;,
4;167,191,192,168;,
4;168,192,193,169;,
4;169,193,170,146;,
4;170,194,195,171;,
4;171,195,196,172;,
4;172,196,197,173;,
4;173,197,198,174;,
4;174,198,199,175;,
4;175,199,200,176;,
4;176,200,201,177;,
4;177,201,202,178;,
4;178,202,203,179;,
4;179,203,204,180;,
4;180,204,205,181;,
4;181,205,206,182;,
4;182,206,207,183;,
4;183,207,208,184;,
4;184,208,209,185;,
4;185,209,210,186;,
4;186,210,211,187;,
4;187,211,212,188;,
4;188,212,213,189;,
4;189,213,214,190;,
4;190,214,215,191;,
4;191,215,216,192;,
4;192,216,217,193;,
4;193,217,194,170;,
4;194,218,219,195;,
4;195,219,220,196;,
4;196,220,221,197;,
4;197,221,222,198;,
4;198,222,223,199;,
4;199,223,224,200;,
4;200,224,225,201;,
4;201,225,226,202;,
4;202,226,227,203;,
4;203,227,228,204;,
4;204,228,229,205;,
4;205,229,230,206;,
4;206,230,231,207;,
4;207,231,232,208;,
4;208,232,233,209;,
4;209,233,234,210;,
4;210,234,235,211;,
4;211,235,236,212;,
4;212,236,237,213;,
4;213,237,238,214;,
4;214,238,239,215;,
4;215,239,240,216;,
4;216,240,241,217;,
4;217,241,218,194;,
4;218,242,243,219;,
4;219,243,244,220;,
4;220,244,245,221;,
4;221,245,246,222;,
4;222,246,247,223;,
4;223,247,248,224;,
4;224,248,249,225;,
4;225,249,250,226;,
4;226,250,251,227;,
4;227,251,252,228;,
4;228,252,253,229;,
4;229,253,254,230;,
4;230,254,255,231;,
4;231,255,256,232;,
4;232,256,257,233;,
4;233,257,258,234;,
4;234,258,259,235;,
4;235,259,260,236;,
4;236,260,261,237;,
4;237,261,262,238;,
4;238,262,263,239;,
4;239,263,264,240;,
4;240,264,265,241;,
4;241,265,242,218;,
3;0,2,3;,
3;243,242,1;,
3;0,3,4;,
3;244,243,1;,
3;0,4,5;,
3;245,244,1;,
3;0,5,6;,
3;246,245,1;,
3;0,6,7;,
3;247,246,1;,
3;0,7,8;,
3;248,247,1;,
3;0,8,9;,
3;249,248,1;,
3;0,9,10;,
3;250,249,1;,
3;0,10,11;,
3;251,250,1;,
3;0,11,12;,
3;252,251,1;,
3;0,12,13;,
3;253,252,1;,
3;0,13,14;,
3;254,253,1;,
3;0,14,15;,
3;255,254,1;,
3;0,15,16;,
3;256,255,1;,
3;0,16,17;,
3;257,256,1;,
3;0,17,18;,
3;258,257,1;,
3;0,18,19;,
3;259,258,1;,
3;0,19,20;,
3;260,259,1;,
3;0,20,21;,
3;261,260,1;,
3;0,21,22;,
3;262,261,1;,
3;0,22,23;,
3;263,262,1;,
3;0,23,24;,
3;264,263,1;,
3;0,24,25;,
3;265,264,1;,
3;0,25,2;,
3;242,265,1;;
MeshNormals {
266;
// Kugel
0.0;-0.005;0.0;,
0.0;0.005;0.0;,
0.001;-0.005;0.0;,
0.001;-0.005;0.0;,
0.001;-0.005;0.001;,
0.001;-0.005;0.001;,
0.001;-0.005;0.001;,
0.0;-0.005;0.001;,
0.0;-0.005;0.001;,
0.0;-0.005;0.001;,
-0.001;-0.005;0.001;,
-0.001;-0.005;0.001;,
-0.001;-0.005;0.001;,
-0.001;-0.005;0.0;,
-0.001;-0.005;0.0;,
-0.001;-0.005;0.0;,
-0.001;-0.005;-0.001;,
-0.001;-0.005;-0.001;,
-0.001;-0.005;-0.001;,
0.0;-0.005;-0.001;,
0.0;-0.005;-0.001;,
0.0;-0.005;-0.001;,
0.001;-0.005;-0.001;,
0.001;-0.005;-0.001;,
0.001;-0.005;-0.001;,
0.001;-0.005;0.0;,
0.003;-0.004;0.0;,
0.003;-0.004;0.001;,
0.002;-0.004;0.001;,
0.002;-0.004;0.002;,
0.001;-0.004;0.002;,
0.001;-0.004;0.003;,
0.0;-0.004;0.003;,
-0.001;-0.004;0.003;,
-0.001;-0.004;0.002;,
-0.002;-0.004;0.002;,
-0.002;-0.004;0.001;,
-0.003;-0.004;0.001;,
-0.003;-0.004;0.0;,
-0.003;-0.004;-0.001;,
-0.002;-0.004;-0.001;,
-0.002;-0.004;-0.002;,
-0.001;-0.004;-0.002;,
-0.001;-0.004;-0.003;,
0.0;-0.004;-0.003;,
0.001;-0.004;-0.003;,
0.001;-0.004;-0.002;,
0.002;-0.004;-0.002;,
0.002;-0.004;-0.001;,
0.003;-0.004;-0.001;,
0.004;-0.003;0.0;,
0.003;-0.003;0.001;,
0.003;-0.003;0.002;,
0.003;-0.003;0.003;,
0.002;-0.003;0.003;,
0.001;-0.003;0.003;,
0.0;-0.003;0.004;,
-0.001;-0.003;0.003;,
-0.002;-0.003;0.003;,
-0.003;-0.003;0.003;,
-0.003;-0.003;0.002;,
-0.003;-0.003;0.001;,
-0.004;-0.003;0.0;,
-0.003;-0.003;-0.001;,
-0.003;-0.003;-0.002;,
-0.003;-0.003;-0.003;,
-0.002;-0.003;-0.003;,
-0.001;-0.003;-0.003;,
0.0;-0.003;-0.004;,
0.001;-0.003;-0.003;,
0.002;-0.003;-0.003;,
0.003;-0.003;-0.003;,
0.003;-0.003;-0.002;,
0.003;-0.003;-0.001;,
0.004;-0.002;0.0;,
0.004;-0.002;0.001;,
0.004;-0.002;0.002;,
0.003;-0.002;0.003;,
0.002;-0.002;0.004;,
0.001;-0.002;0.004;,
0.0;-0.002;0.004;,
-0.001;-0.002;0.004;,
-0.002;-0.002;0.004;,
-0.003;-0.002;0.003;,
-0.004;-0.002;0.002;,
-0.004;-0.002;0.001;,
-0.004;-0.002;0.0;,
-0.004;-0.002;-0.001;,
-0.004;-0.002;-0.002;,
-0.003;-0.002;-0.003;,
-0.002;-0.002;-0.004;,
-0.001;-0.002;-0.004;,
0.0;-0.002;-0.004;,
0.001;-0.002;-0.004;,
0.002;-0.002;-0.004;,
0.003;-0.002;-0.003;,
0.004;-0.002;-0.002;,
0.004;-0.002;-0.001;,
0.005;-0.001;0.0;,
0.005;-0.001;0.001;,
0.004;-0.001;0.002;,
0.003;-0.001;0.003;,
0.002;-0.001;0.004;,
0.001;-0.001;0.005;,
0.0;-0.001;0.005;,
-0.001;-0.001;0.005;,
-0.002;-0.001;0.004;,
-0.003;-0.001;0.003;,
-0.004;-0.001;0.002;,
-0.005;-0.001;0.001;,
-0.005;-0.001;0.0;,
-0.005;-0.001;-0.001;,
-0.004;-0.001;-0.002;,
-0.003;-0.001;-0.003;,
-0.002;-0.001;-0.004;,
-0.001;-0.001;-0.005;,
0.0;-0.001;-0.005;,
0.001;-0.001;-0.005;,
0.002;-0.001;-0.004;,
0.003;-0.001;-0.003;,
0.004;-0.001;-0.002;,
0.005;-0.001;-0.001;,
0.005;0.0;0.0;,
0.005;0.0;0.001;,
0.004;0.0;0.002;,
0.004;0.0;0.004;,
0.002;0.0;0.004;,
0.001;0.0;0.005;,
0.0;0.0;0.005;,
-0.001;0.0;0.005;,
-0.002;0.0;0.004;,
-0.004;0.0;0.004;,
-0.004;0.0;0.002;,
-0.005;0.0;0.001;,
-0.005;0.0;0.0;,
-0.005;0.0;-0.001;,
-0.004;0.0;-0.002;,
-0.004;0.0;-0.004;,
-0.002;0.0;-0.004;,
-0.001;0.0;-0.005;,
0.0;0.0;-0.005;,
0.001;0.0;-0.005;,
0.002;0.0;-0.004;,
0.004;0.0;-0.004;,
0.004;0.0;-0.002;,
0.005;0.0;-0.001;,
0.005;0.001;0.0;,
0.005;0.001;0.001;,
0.004;0.001;0.002;,
0.003;0.001;0.003;,
0.002;0.001;0.004;,
0.001;0.001;0.005;,
0.0;0.001;0.005;,
-0.001;0.001;0.005;,
-0.002;0.001;0.004;,
-0.003;0.001;0.003;,
-0.004;0.001;0.002;,
-0.005;0.001;0.001;,
-0.005;0.001;0.0;,
-0.005;0.001;-0.001;,
-0.004;0.001;-0.002;,
-0.003;0.001;-0.003;,
-0.002;0.001;-0.004;,
-0.001;0.001;-0.005;,
0.0;0.001;-0.005;,
0.001;0.001;-0.005;,
0.002;0.001;-0.004;,
0.003;0.001;-0.003;,
0.004;0.001;-0.002;,
0.005;0.001;-0.001;,
0.004;0.002;0.0;,
0.004;0.002;0.001;,
0.004;0.002;0.002;,
0.003;0.002;0.003;,
0.002;0.002;0.004;,
0.001;0.002;0.004;,
0.0;0.002;0.004;,
-0.001;0.002;0.004;,
-0.002;0.002;0.004;,
-0.003;0.002;0.003;,
-0.004;0.002;0.002;,
-0.004;0.002;0.001;,
-0.004;0.002;0.0;,
-0.004;0.002;-0.001;,
-0.004;0.002;-0.002;,
-0.003;0.002;-0.003;,
-0.002;0.002;-0.004;,
-0.001;0.002;-0.004;,
0.0;0.002;-0.004;,
0.001;0.002;-0.004;,
0.002;0.002;-0.004;,
0.003;0.002;-0.003;,
0.004;0.002;-0.002;,
0.004;0.002;-0.001;,
0.004;0.003;0.0;,
0.003;0.003;0.001;,
0.003;0.003;0.002;,
0.003;0.003;0.003;,
0.002;0.003;0.003;,
0.001;0.003;0.003;,
0.0;0.003;0.004;,
-0.001;0.003;0.003;,
-0.002;0.003;0.003;,
-0.003;0.003;0.003;,
-0.003;0.003;0.002;,
-0.003;0.003;0.001;,
-0.004;0.003;0.0;,
-0.003;0.003;-0.001;,
-0.003;0.003;-0.002;,
-0.003;0.003;-0.003;,
-0.002;0.003;-0.003;,
-0.001;0.003;-0.003;,
0.0;0.003;-0.004;,
0.001;0.003;-0.003;,
0.002;0.003;-0.003;,
0.003;0.003;-0.003;,
0.003;0.003;-0.002;,
0.003;0.003;-0.001;,
0.003;0.004;0.0;,
0.003;0.004;0.001;,
0.002;0.004;0.001;,
0.002;0.004;0.002;,
0.001;0.004;0.002;,
0.001;0.004;0.003;,
0.0;0.004;0.003;,
-0.001;0.004;0.003;,
-0.001;0.004;0.002;,
-0.002;0.004;0.002;,
-0.002;0.004;0.001;,
-0.003;0.004;0.001;,
-0.003;0.004;0.0;,
-0.003;0.004;-0.001;,
-0.002;0.004;-0.001;,
-0.002;0.004;-0.002;,
-0.001;0.004;-0.002;,
-0.001;0.004;-0.003;,
0.0;0.004;-0.003;,
0.001;0.004;-0.003;,
0.001;0.004;-0.002;,
0.002;0.004;-0.002;,
0.002;0.004;-0.001;,
0.003;0.004;-0.001;,
0.001;0.005;0.0;,
0.001;0.005;0.0;,
0.001;0.005;0.0;,
0.001;0.005;0.001;,
0.0;0.005;0.001;,
0.0;0.005;0.001;,
0.0;0.005;0.001;,
0.0;0.005;0.001;,
0.0;0.005;0.001;,
-0.001;0.005;0.001;,
-0.001;0.005;0.0;,
-0.001;0.005;0.0;,
-0.001;0.005;0.0;,
-0.001;0.005;0.0;,
-0.001;0.005;0.0;,
-0.001;0.005;-0.001;,
0.0;0.005;-0.001;,
0.0;0.005;-0.001;,
0.0;0.005;-0.001;,
0.0;0.005;-0.001;,
0.0;0.005;-0.001;,
0.001;0.005;-0.001;,
0.001;0.005;0.0;,
0.001;0.005;0.0;;
288;
// Kugel
4;2,26,27,3;,
4;3,27,28,4;,
4;4,28,29,5;,
4;5,29,30,6;,
4;6,30,31,7;,
4;7,31,32,8;,
4;8,32,33,9;,
4;9,33,34,10;,
4;10,34,35,11;,
4;11,35,36,12;,
4;12,36,37,13;,
4;13,37,38,14;,
4;14,38,39,15;,
4;15,39,40,16;,
4;16,40,41,17;,
4;17,41,42,18;,
4;18,42,43,19;,
4;19,43,44,20;,
4;20,44,45,21;,
4;21,45,46,22;,
4;22,46,47,23;,
4;23,47,48,24;,
4;24,48,49,25;,
4;25,49,26,2;,
4;26,50,51,27;,
4;27,51,52,28;,
4;28,52,53,29;,
4;29,53,54,30;,
4;30,54,55,31;,
4;31,55,56,32;,
4;32,56,57,33;,
4;33,57,58,34;,
4;34,58,59,35;,
4;35,59,60,36;,
4;36,60,61,37;,
4;37,61,62,38;,
4;38,62,63,39;,
4;39,63,64,40;,
4;40,64,65,41;,
4;41,65,66,42;,
4;42,66,67,43;,
4;43,67,68,44;,
4;44,68,69,45;,
4;45,69,70,46;,
4;46,70,71,47;,
4;47,71,72,48;,
4;48,72,73,49;,
4;49,73,50,26;,
4;50,74,75,51;,
4;51,75,76,52;,
4;52,76,77,53;,
4;53,77,78,54;,
4;54,78,79,55;,
4;55,79,80,56;,
4;56,80,81,57;,
4;57,81,82,58;,
4;58,82,83,59;,
4;59,83,84,60;,
4;60,84,85,61;,
4;61,85,86,62;,
4;62,86,87,63;,
4;63,87,88,64;,
4;64,88,89,65;,
4;65,89,90,66;,
4;66,90,91,67;,
4;67,91,92,68;,
4;68,92,93,69;,
4;69,93,94,70;,
4;70,94,95,71;,
4;71,95,96,72;,
4;72,96,97,73;,
4;73,97,74,50;,
4;74,98,99,75;,
4;75,99,100,76;,
4;76,100,101,77;,
4;77,101,102,78;,
4;78,102,103,79;,
4;79,103,104,80;,
4;80,104,105,81;,
4;81,105,106,82;,
4;82,106,107,83;,
4;83,107,108,84;,
4;84,108,109,85;,
4;85,109,110,86;,
4;86,110,111,87;,
4;87,111,112,88;,
4;88,112,113,89;,
4;89,113,114,90;,
4;90,114,115,91;,
4;91,115,116,92;,
4;92,116,117,93;,
4;93,117,118,94;,
4;94,118,119,95;,
4;95,119,120,96;,
4;96,120,121,97;,
4;97,121,98,74;,
4;98,122,123,99;,
4;99,123,124,100;,
4;100,124,125,101;,
4;101,125,126,102;,
4;102,126,127,103;,
4;103,127,128,104;,
4;104,128,129,105;,
4;105,129,130,106;,
4;106,130,131,107;,
4;107,131,132,108;,
4;108,132,133,109;,
4;109,133,134,110;,
4;110,134,135,111;,
4;111,135,136,112;,
4;112,136,137,113;,
4;113,137,138,114;,
4;114,138,139,115;,
4;115,139,140,116;,
4;116,140,141,117;,
4;117,141,142,118;,
4;118,142,143,119;,
4;119,143,144,120;,
4;120,144,145,121;,
4;121,145,122,98;,
4;122,146,147,123;,
4;123,147,148,124;,
4;124,148,149,125;,
4;125,149,150,126;,
4;126,150,151,127;,
4;127,151,152,128;,
4;128,152,153,129;,
4;129,153,154,130;,
4;130,154,155,131;,
4;131,155,156,132;,
4;132,156,157,133;,
4;133,157,158,134;,
4;134,158,159,135;,
4;135,159,160,136;,
4;136,160,161,137;,
4;137,161,162,138;,
4;138,162,163,139;,
4;139,163,164,140;,
4;140,164,165,141;,
4;141,165,166,142;,
4;142,166,167,143;,
4;143,167,168,144;,
4;144,168,169,145;,
4;145,169,146,122;,
4;146,170,171,147;,
4;147,171,172,148;,
4;148,172,173,149;,
4;149,173,174,150;,
4;150,174,175,151;,
4;151,175,176,152;,
4;152,176,177,153;,
4;153,177,178,154;,
4;154,178,179,155;,
4;155,179,180,156;,
4;156,180,181,157;,
4;157,181,182,158;,
4;158,182,183,159;,
4;159,183,184,160;,
4;160,184,185,161;,
4;161,185,186,162;,
4;162,186,187,163;,
4;163,187,188,164;,
4;164,188,189,165;,
4;165,189,190,166;,
4;166,190,191,167;,
4;167,191,192,168;,
4;168,192,193,169;,
4;169,193,170,146;,
4;170,194,195,171;,
4;171,195,196,172;,
4;172,196,197,173;,
4;173,197,198,174;,
4;174,198,199,175;,
4;175,199,200,176;,
4;176,200,201,177;,
4;177,201,202,178;,
4;178,202,203,179;,
4;179,203,204,180;,
4;180,204,205,181;,
4;181,205,206,182;,
4;182,206,207,183;,
4;183,207,208,184;,
4;184,208,209,185;,
4;185,209,210,186;,
4;186,210,211,187;,
4;187,211,212,188;,
4;188,212,213,189;,
4;189,213,214,190;,
4;190,214,215,191;,
4;191,215,216,192;,
4;192,216,217,193;,
4;193,217,194,170;,
4;194,218,219,195;,
4;195,219,220,196;,
4;196,220,221,197;,
4;197,221,222,198;,
4;198,222,223,199;,
4;199,223,224,200;,
4;200,224,225,201;,
4;201,225,226,202;,
4;202,226,227,203;,
4;203,227,228,204;,
4;204,228,229,205;,
4;205,229,230,206;,
4;206,230,231,207;,
4;207,231,232,208;,
4;208,232,233,209;,
4;209,233,234,210;,
4;210,234,235,211;,
4;211,235,236,212;,
4;212,236,237,213;,
4;213,237,238,214;,
4;214,238,239,215;,
4;215,239,240,216;,
4;216,240,241,217;,
4;217,241,218,194;,
4;218,242,243,219;,
4;219,243,244,220;,
4;220,244,245,221;,
4;221,245,246,222;,
4;222,246,247,223;,
4;223,247,248,224;,
4;224,248,249,225;,
4;225,249,250,226;,
4;226,250,251,227;,
4;227,251,252,228;,
4;228,252,253,229;,
4;229,253,254,230;,
4;230,254,255,231;,
4;231,255,256,232;,
4;232,256,257,233;,
4;233,257,258,234;,
4;234,258,259,235;,
4;235,259,260,236;,
4;236,260,261,237;,
4;237,261,262,238;,
4;238,262,263,239;,
4;239,263,264,240;,
4;240,264,265,241;,
4;241,265,242,218;,
3;0,2,3;,
3;243,242,1;,
3;0,3,4;,
3;244,243,1;,
3;0,4,5;,
3;245,244,1;,
3;0,5,6;,
3;246,245,1;,
3;0,6,7;,
3;247,246,1;,
3;0,7,8;,
3;248,247,1;,
3;0,8,9;,
3;249,248,1;,
3;0,9,10;,
3;250,249,1;,
3;0,10,11;,
3;251,250,1;,
3;0,11,12;,
3;252,251,1;,
3;0,12,13;,
3;253,252,1;,
3;0,13,14;,
3;254,253,1;,
3;0,14,15;,
3;255,254,1;,
3;0,15,16;,
3;256,255,1;,
3;0,16,17;,
3;257,256,1;,
3;0,17,18;,
3;258,257,1;,
3;0,18,19;,
3;259,258,1;,
3;0,19,20;,
3;260,259,1;,
3;0,20,21;,
3;261,260,1;,
3;0,21,22;,
3;262,261,1;,
3;0,22,23;,
3;263,262,1;,
3;0,23,24;,
3;264,263,1;,
3;0,24,25;,
3;265,264,1;,
3;0,25,2;,
3;242,265,1;;
}
MeshTextureCoords {
266;
// Kugel
0.958;1.0;,
0.958;0.0;,
1.0;0.917;,
0.042;0.917;,
0.083;0.917;,
0.125;0.917;,
0.167;0.917;,
0.208;0.917;,
0.25;0.917;,
0.292;0.917;,
0.333;0.917;,
0.375;0.917;,
0.417;0.917;,
0.458;0.917;,
0.5;0.917;,
0.542;0.917;,
0.583;0.917;,
0.625;0.917;,
0.667;0.917;,
0.708;0.917;,
0.75;0.917;,
0.792;0.917;,
0.833;0.917;,
0.875;0.917;,
0.917;0.917;,
0.958;0.917;,
1.0;0.833;,
0.042;0.833;,
0.083;0.833;,
0.125;0.833;,
0.167;0.833;,
0.208;0.833;,
0.25;0.833;,
0.292;0.833;,
0.333;0.833;,
0.375;0.833;,
0.417;0.833;,
0.458;0.833;,
0.5;0.833;,
0.542;0.833;,
0.583;0.833;,
0.625;0.833;,
0.667;0.833;,
0.708;0.833;,
0.75;0.833;,
0.792;0.833;,
0.833;0.833;,
0.875;0.833;,
0.917;0.833;,
0.958;0.833;,
1.0;0.75;,
0.042;0.75;,
0.083;0.75;,
0.125;0.75;,
0.167;0.75;,
0.208;0.75;,
0.25;0.75;,
0.292;0.75;,
0.333;0.75;,
0.375;0.75;,
0.417;0.75;,
0.458;0.75;,
0.5;0.75;,
0.542;0.75;,
0.583;0.75;,
0.625;0.75;,
0.667;0.75;,
0.708;0.75;,
0.75;0.75;,
0.792;0.75;,
0.833;0.75;,
0.875;0.75;,
0.917;0.75;,
0.958;0.75;,
1.0;0.667;,
0.042;0.667;,
0.083;0.667;,
0.125;0.667;,
0.167;0.667;,
0.208;0.667;,
0.25;0.667;,
0.292;0.667;,
0.333;0.667;,
0.375;0.667;,
0.417;0.667;,
0.458;0.667;,
0.5;0.667;,
0.542;0.667;,
0.583;0.667;,
0.625;0.667;,
0.667;0.667;,
0.708;0.667;,
0.75;0.667;,
0.792;0.667;,
0.833;0.667;,
0.875;0.667;,
0.917;0.667;,
0.958;0.667;,
1.0;0.583;,
0.042;0.583;,
0.083;0.583;,
0.125;0.583;,
0.167;0.583;,
0.208;0.583;,
0.25;0.583;,
0.292;0.583;,
0.333;0.583;,
0.375;0.583;,
0.417;0.583;,
0.458;0.583;,
0.5;0.583;,
0.542;0.583;,
0.583;0.583;,
0.625;0.583;,
0.667;0.583;,
0.708;0.583;,
0.75;0.583;,
0.792;0.583;,
0.833;0.583;,
0.875;0.583;,
0.917;0.583;,
0.958;0.583;,
1.0;0.5;,
0.042;0.5;,
0.083;0.5;,
0.125;0.5;,
0.167;0.5;,
0.208;0.5;,
0.25;0.5;,
0.292;0.5;,
0.333;0.5;,
0.375;0.5;,
0.417;0.5;,
0.458;0.5;,
0.5;0.5;,
0.542;0.5;,
0.583;0.5;,
0.625;0.5;,
0.667;0.5;,
0.708;0.5;,
0.75;0.5;,
0.792;0.5;,
0.833;0.5;,
0.875;0.5;,
0.917;0.5;,
0.958;0.5;,
1.0;0.417;,
0.042;0.417;,
0.083;0.417;,
0.125;0.417;,
0.167;0.417;,
0.208;0.417;,
0.25;0.417;,
0.292;0.417;,
0.333;0.417;,
0.375;0.417;,
0.417;0.417;,
0.458;0.417;,
0.5;0.417;,
0.542;0.417;,
0.583;0.417;,
0.625;0.417;,
0.667;0.417;,
0.708;0.417;,
0.75;0.417;,
0.792;0.417;,
0.833;0.417;,
0.875;0.417;,
0.917;0.417;,
0.958;0.417;,
1.0;0.333;,
0.042;0.333;,
0.083;0.333;,
0.125;0.333;,
0.167;0.333;,
0.208;0.333;,
0.25;0.333;,
0.292;0.333;,
0.333;0.333;,
0.375;0.333;,
0.417;0.333;,
0.458;0.333;,
0.5;0.333;,
0.542;0.333;,
0.583;0.333;,
0.625;0.333;,
0.667;0.333;,
0.708;0.333;,
0.75;0.333;,
0.792;0.333;,
0.833;0.333;,
0.875;0.333;,
0.917;0.333;,
0.958;0.333;,
1.0;0.25;,
0.042;0.25;,
0.083;0.25;,
0.125;0.25;,
0.167;0.25;,
0.208;0.25;,
0.25;0.25;,
0.292;0.25;,
0.333;0.25;,
0.375;0.25;,
0.417;0.25;,
0.458;0.25;,
0.5;0.25;,
0.542;0.25;,
0.583;0.25;,
0.625;0.25;,
0.667;0.25;,
0.708;0.25;,
0.75;0.25;,
0.792;0.25;,
0.833;0.25;,
0.875;0.25;,
0.917;0.25;,
0.958;0.25;,
1.0;0.167;,
0.042;0.167;,
0.083;0.167;,
0.125;0.167;,
0.167;0.167;,
0.208;0.167;,
0.25;0.167;,
0.292;0.167;,
0.333;0.167;,
0.375;0.167;,
0.417;0.167;,
0.458;0.167;,
0.5;0.167;,
0.542;0.167;,
0.583;0.167;,
0.625;0.167;,
0.667;0.167;,
0.708;0.167;,
0.75;0.167;,
0.792;0.167;,
0.833;0.167;,
0.875;0.167;,
0.917;0.167;,
0.958;0.167;,
1.0;0.083;,
0.042;0.083;,
0.083;0.083;,
0.125;0.083;,
0.167;0.083;,
0.208;0.083;,
0.25;0.083;,
0.292;0.083;,
0.333;0.083;,
0.375;0.083;,
0.417;0.083;,
0.458;0.083;,
0.5;0.083;,
0.542;0.083;,
0.583;0.083;,
0.625;0.083;,
0.667;0.083;,
0.708;0.083;,
0.75;0.083;,
0.792;0.083;,
0.833;0.083;,
0.875;0.083;,
0.917;0.083;,
0.958;0.083;;
}
MeshMaterialList {
1;
288;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;
Material C4DMAT_NONE {
1.0;1.0;1.0;1.0;;
1.0;
0.0;0.0;0.0;;
0.0;0.0;0.0;;
}
}
}
/trunk/_private/Eine alte Version/obj/idle.x
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/obj/legs.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/obj/optic.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/obj/pincer.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/obj/shell.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Eine alte Version/obj/walk.x
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/CF White Trash font - Read Me.rtf
0,0 → 1,14
{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww20320\viewh15400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural
 
\f0\fs36 \cf0 This version is for personal use only. For commercial use, buy a license at:\
 
\b http://www.cloutierfontes.ca/CloutierFontes/White_Trash.html
\b0 \
\
Thank You !\
\
Steve}
/trunk/_private/Fonts/CF White Trash_Banner.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/CF White Trash_Glyphs.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/CFWhiteTrash-Regular.ttf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/PWChalk.ttf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/UpperSide.ttf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/anythingyouwant.ttf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/anythingyouwant.txt
0,0 → 1,60
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__________ __ _________ __ __
/ ______ / / / / _______/ / /_ _/ /
/ / / / / / / /______ /_ / / _/
/ /_____/ / / / / _______/ / / / /
/ ______ / / / / / __/ / / /__
/ / / / / /_______ / /_______ / __/ /__ / __
/ / / / /_________/ /_________/ /_/ /_/ /_/
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
This font was created from scratch by Alex C.
 
- drawn or created with a paint package.
- scanned if not already on disk.
- chopped and saved.
- put into FCP and refined.
 
In total this usually takes about 2 or 3 hours.
 
Please respect this and leave this message with the zip file when
ditributing.
 
For all your website or graphic design needs or tips, visit...
 
http://www.d4w.cjb.net
 
Thankyou for reading.
 
To install this font, copy it into the folder called "Fonts"
in your "windows", "win98", or other windows directory.
After this the font will be available for use in all compatable
applications!! Good Luck!
 
***********************************************************************
 
Look out for other fonts by Alex C
 
- Anything You Want - A very grungy, graffiti font with attitude!
 
- Could We - A very stylised font. You will have seen NOTHING like it!
 
- Lex Hand - A handwriting font, imitating my handwriting. Nice!
 
- Alien Warping - A hybrid futuristic font. stylish sizes 6 - 600!
 
***********************************************************************
 
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__________ __ _________ __ __
/ ______ / / / / _______/ / /_ _/ /
/ / / / / / / /______ /_ / / _/
/ /_____/ / / / / _______/ / / / /
/ ______ / / / / / __/ / / /__
/ / / / / /_______ / /_______ / __/ /__ / __
/ / / / /_________/ /_________/ /_/ /_/ /_/
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/trunk/_private/Fonts/deathrattlebb_reg.ttf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Fonts/deathrattlebb_reg.txt
0,0 → 1,25
This font is © 2007 Nate Piekos. All Rights Reserved.
Created for Blambot Fonts
 
This font is freeware for independent comic book creation and
non-profit use ONLY. ( This excludes use by "mainstream" publishers,
(Marvel, DC, Dark Horse, Oni, Image, SLG, Top Cow, Crossgen and their
subsidiaries) without a license fee. Use by a "mainstream" publisher
(or it's employee), and use for commercial non-comic book production
(eg. magazine ads, merchandise lables etc.) incurs a license fee
be paid to the designer, Nate Piekos.
This font may not be redistributed without the author's permission and
never with this text file missing from the .zip, .sit or .hqx.
 
Blambot/Nate Piekos makes no guarantees about these font files,
the completeness of character sets, or safety of these files on your
computer. By installing these fonts on your system, you prove that
you have read and understand the above.
 
If you have any questions, visit http://www.blambot.com/license.shtml
 
For more free and original fonts visit Blambot.
www.blambot.com
 
Nate Piekos
studio@blambot.com
/trunk/_private/GM01B01.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/GM01B02.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/GM01B02a.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/GM01B02b.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/GM01M01.MID
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Grafik/Blood/Blood-Splatter-88.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Grafik/Blood/blood.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Grafik/Blood/blood.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Grafik/Blood/blood.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Grafik/Blood/blood2.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Grafik/Blood/blood_orig.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Grafik/Wald/dark-forest-4.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Kopie von GM01B02.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Model/Tent/TENT1.X
0,0 → 1,309
xof 0302txt 0064
// DV7472 Copyright Viewpoint Datalabs Intl., Inc.
// www.viewpoint.com, 800-643-8303, 801-229-3333
// for Microsoft Corporation DirectX format only
// see license agreement for description of rights
// Model by Viewpoint Datalabs Intl., Inc.
 
template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}
 
template ColorRGBA {
<35FF44E0-6C7C-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}
 
template ColorRGB {
<D3E16E81-7835-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
}
 
template Material {
<3D82AB4D-62DA-11cf-AB39-0020AF71E433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[...]
}
 
template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}
 
template MeshFace {
<3D82AB5F-62DA-11cf-AB39-0020AF71E433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}
 
template Mesh {
<3D82AB44-62DA-11cf-AB39-0020AF71E433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[...]
}
 
template MeshMaterialList {
<F6F23F42-7686-11cf-8F52-0040333594A3>
DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material]
}
 
template Frame {
<3D82AB46-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
template AnimationKey {
<10DD46A8-775B-11cf-8F52-0040333594A3>
DWORD keyType;
DWORD nKeys;
array TimedFloatKeys keys[nKeys];
}
 
template Animation {
<3D82AB4F-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
template AnimationSet {
<3D82AB50-62DA-11cf-AB39-0020AF71E433>
[Animation]
}
 
 
Header {
1;
0;
1;
}
 
Frame Root{
Frame tent03 {
Mesh mesh-tent03 {
25;
1.500000;0.600900;1.260000;,
1.500000;-1.200900;1.258200;,
1.500000;-0.717900;-0.842400;,
1.500000;-1.200900;-0.842400;,
1.500000;1.200900;0.660000;,
-1.500000;0.600900;1.260000;,
-1.500000;-1.200900;1.258200;,
-1.500000;-0.717900;-0.842400;,
-1.500000;-1.200900;-0.842400;,
-1.500000;1.200900;0.660000;,
1.500000;0.600300;-0.842400;,
-1.500000;0.600300;-0.842400;,
-1.500000;-0.717900;-0.537000;,
-1.498200;0.537900;-1.257000;,
1.498200;0.537900;-1.257000;,
1.200000;0.300900;-1.260000;,
0.898800;0.537900;-1.260000;,
0.600000;0.300900;-1.260000;,
0.300000;0.540900;-1.260000;,
0.000000;0.300900;-1.260000;,
-0.300000;0.540900;-1.260000;,
-0.600000;0.300900;-1.260000;,
-0.898800;0.537900;-1.260000;,
-1.200000;0.300900;-1.260000;,
1.500000;-0.717900;-0.537000;;
 
48;
3; 2,1,0;,
3; 4,0,3;,
3; 7,6,5;,
3; 9,5,8;,
3; 0,1,6;,
3; 6,1,0;,
3; 4,0,5;,
3; 5,0,4;,
3; 9,10,4;,
3; 9,10,11;,
3; 7,2,3;,
3; 2,7,12;,
3; 10,13,11;,
3; 10,13,14;,
3; 16,14,15;,
3; 18,16,17;,
3; 20,18,19;,
3; 22,20,21;,
3; 13,22,23;,
3; 23,22,13;,
3; 21,20,22;,
3; 19,18,20;,
3; 17,16,18;,
3; 14,16,15;,
3; 0,4,10;,
3; 2,3,1;,
3; 0,10,2;,
3; 2,10,4;,
3; 0,1,3;,
3; 3,2,4;,
3; 5,9,11;,
3; 7,8,6;,
3; 5,11,7;,
3; 7,11,9;,
3; 5,6,8;,
3; 8,7,9;,
3; 6,5,0;,
3; 0,5,6;,
3; 5,9,4;,
3; 4,9,5;,
3; 9,11,10;,
3; 9,4,10;,
3; 3,8,7;,
3; 12,24,2;,
3; 10,14,13;,
3; 10,11,13;,
3; 3,24,8;,
3; 8,24,12;;
MeshNormals {
16;
-1.000;0.000;0.000;,
0.000;0.707;0.707;,
0.000;0.929;-0.371;,
1.000;0.000;0.000;,
-0.000;-0.929;0.371;,
0.000;-0.707;-0.707;,
0.000;0.989;-0.149;,
0.005;-0.006;1.000;,
-0.000;-0.534;0.845;,
0.000;0.382;0.924;,
-0.000;-0.965;0.262;,
0.000;0.965;-0.262;,
0.000;1.000;0.000;,
0.000;-0.382;-0.924;,
0.000;-0.989;0.149;,
0.005;0.006;-1.000;;
 
48;
3;0,0,0;,
3;3,3,3;,
3;0,0,0;,
3;3,3,3;,
3;13,15,15;,
3;7,7,9;,
3;5,13,13;,
3;9,9,1;,
3;4,10,4;,
3;2,11,11;,
3;15,15,15;,
3;12,12,12;,
3;11,6,11;,
3;10,14,14;,
3;15,15,15;,
3;15,15,15;,
3;15,15,15;,
3;15,15,15;,
3;15,15,15;,
3;7,7,7;,
3;7,7,7;,
3;7,7,7;,
3;7,7,7;,
3;7,7,7;,
3;0,0,0;,
3;0,0,0;,
3;0,0,0;,
3;3,3,3;,
3;3,3,3;,
3;3,3,3;,
3;0,0,0;,
3;0,0,0;,
3;0,0,0;,
3;3,3,3;,
3;3,3,3;,
3;3,3,3;,
3;15,13,13;,
3;9,9,7;,
3;13,5,5;,
3;1,1,9;,
3;4,10,10;,
3;2,2,11;,
3;15,15,15;,
3;12,12,12;,
3;11,6,6;,
3;10,10,14;,
3;8,8,8;,
3;8,8,8;;
 
}
 
MeshMaterialList {
1;
48;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;;
Material lightyellow {
0.612200;0.455200;0.207400;1.000000;;
177.520000;
0.828600;0.805700;0.585100;;
0.000000;0.000000;0.000000;;
}
}
}
}
 
}
/trunk/_private/Model/Tent/TENT2.X
0,0 → 1,237
xof 0302txt 0064
// DV7471 Copyright Viewpoint Datalabs Intl., Inc.
// www.viewpoint.com, 800-643-8303, 801-229-3333
// for Microsoft Corporation DirectX format only
// see license agreement for description of rights
// Model by Viewpoint Datalabs Intl., Inc.
 
template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}
 
template ColorRGBA {
<35FF44E0-6C7C-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}
 
template ColorRGB {
<D3E16E81-7835-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
}
 
template Material {
<3D82AB4D-62DA-11cf-AB39-0020AF71E433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[...]
}
 
template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}
 
template MeshFace {
<3D82AB5F-62DA-11cf-AB39-0020AF71E433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}
 
template Mesh {
<3D82AB44-62DA-11cf-AB39-0020AF71E433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[...]
}
 
template MeshMaterialList {
<F6F23F42-7686-11cf-8F52-0040333594A3>
DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material]
}
 
template Frame {
<3D82AB46-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
template AnimationKey {
<10DD46A8-775B-11cf-8F52-0040333594A3>
DWORD keyType;
DWORD nKeys;
array TimedFloatKeys keys[nKeys];
}
 
template Animation {
<3D82AB4F-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
template AnimationSet {
<3D82AB50-62DA-11cf-AB39-0020AF71E433>
[Animation]
}
 
 
Header {
1;
0;
1;
}
 
Frame Root{
Frame tent {
Mesh mesh-tent {
12;
-0.000079;0.857111;-1.499950;,
0.771321;-0.857111;-1.499990;,
1.028450;0.428556;-1.500000;,
-1.028610;0.428556;-1.499890;,
-1.028610;-0.857111;-1.499890;,
-0.685768;-0.857111;-1.499910;,
-1.028450;0.428556;1.500000;,
1.028610;0.428556;1.499890;,
-1.028450;-0.857111;1.500000;,
1.028450;-0.857111;-1.500000;,
1.028610;-0.857111;1.499890;,
0.000079;0.857111;1.499950;;
 
30;
3; 2,1,0;,
3; 5,4,3;,
3; 0,3,6;,
3; 7,2,0;,
3; 3,4,8;,
3; 10,9,2;,
3; 6,8,7;,
3; 1,9,2;,
3; 3,5,0;,
3; 3,0,11;,
3; 2,7,11;,
3; 4,3,6;,
3; 9,10,7;,
3; 7,10,6;,
3; 2,9,1;,
3; 3,0,5;,
3; 6,11,0;,
3; 0,11,7;,
3; 8,6,3;,
3; 2,7,10;,
3; 7,11,6;,
3; 8,10,7;,
3; 2,0,1;,
3; 3,4,5;,
3; 11,6,3;,
3; 11,0,2;,
3; 6,8,4;,
3; 7,2,9;,
3; 6,11,7;,
3; 10,8,6;;
MeshNormals {
10;
-0.000;0.000;-1.000;,
1.000;0.000;-0.000;,
0.385;-0.923;-0.000;,
0.000;0.000;1.000;,
-1.000;0.000;0.000;,
-0.000;1.000;0.000;,
-0.385;0.923;0.000;,
0.385;0.923;-0.000;,
-0.385;-0.923;0.000;,
-0.000;-1.000;0.000;;
 
30;
3;0,0,0;,
3;0,0,0;,
3;5,6,6;,
3;7,7,5;,
3;4,4,4;,
3;1,1,1;,
3;3,3,3;,
3;3,3,3;,
3;3,3,3;,
3;2,9,9;,
3;8,8,9;,
3;1,1,1;,
3;4,4,4;,
3;0,0,0;,
3;0,0,0;,
3;0,0,0;,
3;6,5,5;,
3;5,5,7;,
3;4,4,4;,
3;1,1,1;,
3;3,3,3;,
3;3,3,3;,
3;3,3,3;,
3;3,3,3;,
3;9,2,2;,
3;9,9,8;,
3;1,1,1;,
3;4,4,4;,
3;0,0,0;,
3;0,0,0;;
 
}
 
MeshMaterialList {
1;
30;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;;
Material bone {
0.900000;0.622900;0.227800;1.000000;;
200.000000;
0.461200;0.419300;0.267300;;
0.000000;0.000000;0.000000;;
}
}
}
}
 
}
 
/trunk/_private/Model/Tent/TENT3.X
0,0 → 1,1304
xof 0302txt 0064
// DV8710 Copyright Viewpoint Datalabs Intl., Inc.
// www.viewpoint.com, 800-643-8303, 801-229-3333
// for Microsoft Corporation DirectX format only
// see license agreement for description of rights
 
template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}
 
template ColorRGBA {
<35FF44E0-6C7C-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}
 
template ColorRGB {
<D3E16E81-7835-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
}
 
template Material {
<3D82AB4D-62DA-11cf-AB39-0020AF71E433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[...]
}
 
template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}
 
template MeshFace {
<3D82AB5F-62DA-11cf-AB39-0020AF71E433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}
 
template Mesh {
<3D82AB44-62DA-11cf-AB39-0020AF71E433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[...]
}
 
template MeshMaterialList {
<F6F23F42-7686-11cf-8F52-0040333594A3>
DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material]
}
 
template Frame {
<3D82AB46-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
template AnimationKey {
<10DD46A8-775B-11cf-8F52-0040333594A3>
DWORD keyType;
DWORD nKeys;
array TimedFloatKeys keys[nKeys];
}
 
template Animation {
<3D82AB4F-62DA-11cf-AB39-0020AF71E433>
[...]
}
 
template AnimationSet {
<3D82AB50-62DA-11cf-AB39-0020AF71E433>
[Animation]
}
 
 
Header {
1;
0;
1;
}
 
Frame Root{
Frame ropes {
Mesh mesh-ropes {
48;
0.360221;0.171653;2.181396;,
0.344783;0.929471;1.030487;,
0.356027;0.938993;1.036823;,
0.348973;0.162134;2.175056;,
0.356217;0.920150;1.024194;,
0.360411;0.152821;2.168757;,
0.367461;0.929671;1.030529;,
0.371649;0.162331;2.175097;,
-0.082092;0.285766;0.956575;,
-0.401872;0.121181;0.968717;,
-0.406716;0.131319;0.957271;,
-0.077246;0.275622;0.968013;,
-0.396990;0.110831;0.957475;,
-0.072368;0.265281;0.956777;,
-0.401830;0.120975;0.946039;,
-0.077203;0.275421;0.945337;,
-0.073976;0.272921;-0.489688;,
-0.393756;0.108331;-0.477540;,
-0.398600;0.118472;-0.488984;,
-0.069134;0.262773;-0.478244;,
-0.388876;0.097981;-0.488782;,
-0.064255;0.252431;-0.489480;,
-0.393712;0.108124;-0.500218;,
-0.069091;0.262571;-0.500922;,
0.344175;0.929007;-0.590794;,
0.341919;0.182796;-1.749157;,
0.353181;0.192475;-1.755197;,
0.332911;0.919324;-0.584756;,
0.353329;0.173312;-1.743075;,
0.344323;0.909842;-0.578674;,
0.364597;0.182995;-1.749113;,
0.355589;0.919524;-0.584712;,
1.159023;0.135463;-0.510534;,
0.822194;0.261963;-0.501016;,
0.826548;0.272339;-0.512444;,
1.154673;0.125080;-0.499110;,
0.817894;0.251381;-0.512276;,
1.150371;0.114507;-0.510368;,
0.822242;0.261763;-0.523696;,
1.154721;0.124877;-0.521786;,
1.150587;0.148671;0.974619;,
0.813758;0.275176;0.984138;,
0.818112;0.285550;0.972709;,
1.146237;0.138288;0.986040;,
0.809456;0.264587;0.972881;,
1.141933;0.127714;0.974787;,
0.813808;0.274974;0.961459;,
1.146285;0.138085;0.963367;;
 
72;
3; 2,1,0;,
3; 3,0,1;,
3; 1,4,3;,
3; 5,3,4;,
3; 4,6,5;,
3; 6,7,5;,
3; 6,2,7;,
3; 2,0,7;,
3; 2,4,1;,
3; 4,2,6;,
3; 3,7,0;,
3; 7,3,5;,
3; 10,9,8;,
3; 11,8,9;,
3; 9,12,11;,
3; 12,13,11;,
3; 12,14,13;,
3; 15,13,14;,
3; 14,10,15;,
3; 10,8,15;,
3; 10,12,9;,
3; 12,10,14;,
3; 11,15,8;,
3; 15,11,13;,
3; 18,17,16;,
3; 19,16,17;,
3; 17,20,19;,
3; 20,21,19;,
3; 20,22,21;,
3; 23,21,22;,
3; 22,18,23;,
3; 18,16,23;,
3; 18,20,17;,
3; 20,18,22;,
3; 19,23,16;,
3; 23,19,21;,
3; 26,25,24;,
3; 25,27,24;,
3; 25,28,27;,
3; 28,29,27;,
3; 28,30,29;,
3; 31,29,30;,
3; 30,26,31;,
3; 24,31,26;,
3; 26,28,25;,
3; 28,26,30;,
3; 27,31,24;,
3; 31,27,29;,
3; 34,33,32;,
3; 35,32,33;,
3; 33,36,35;,
3; 36,37,35;,
3; 36,38,37;,
3; 39,37,38;,
3; 38,34,39;,
3; 34,32,39;,
3; 34,36,33;,
3; 36,34,38;,
3; 35,39,32;,
3; 39,35,37;,
3; 42,41,40;,
3; 43,40,41;,
3; 41,44,43;,
3; 44,45,43;,
3; 44,46,45;,
3; 47,45,46;,
3; 46,42,47;,
3; 42,40,47;,
3; 42,44,41;,
3; 44,42,46;,
3; 43,47,40;,
3; 47,43,45;;
MeshMaterialList {
1;
72;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;;
Material tan {
0.661200;0.522100;0.218600;1.000000;;
60.000000;
0.502000;0.411800;0.215200;;
0.000000;0.000000;0.000000;;
}
}
}
}
 
Frame stakes {
Mesh mesh-stakes {
96;
1.124686;0.028139;-0.510598;,
1.154793;0.204420;-0.500528;,
1.165997;0.201718;-0.500484;,
1.124092;0.028280;-0.510838;,
1.154819;0.204318;-0.512046;,
1.123842;0.028337;-0.511396;,
1.154841;0.204218;-0.523560;,
1.124094;0.028271;-0.511958;,
1.166033;0.201516;-0.523516;,
1.124690;0.028125;-0.512184;,
1.177231;0.198814;-0.523466;,
1.125290;0.027983;-0.511952;,
1.177210;0.198914;-0.511964;,
1.125534;0.027928;-0.511388;,
1.177185;0.199017;-0.500434;,
1.125286;0.027993;-0.510832;,
-0.370739;0.028198;0.957555;,
-0.403916;0.203720;0.944359;,
-0.415070;0.200820;0.944363;,
-0.370147;0.028355;0.957789;,
-0.403942;0.203822;0.955877;,
-0.369897;0.028425;0.958347;,
-0.403964;0.203926;0.967391;,
-0.370147;0.028365;0.958909;,
-0.415106;0.201028;0.967397;,
-0.370741;0.028213;0.959139;,
-0.426257;0.198129;0.967397;,
-0.371337;0.028055;0.958909;,
-0.426235;0.198026;0.955895;,
-0.371583;0.027986;0.958347;,
-0.426209;0.197924;0.944363;,
-0.371335;0.028046;0.957789;,
1.117760;0.041372;0.975725;,
1.147863;0.217654;0.985786;,
1.159067;0.214950;0.985830;,
1.117164;0.041514;0.975488;,
1.147889;0.217552;0.974269;,
1.116914;0.041570;0.974931;,
1.147909;0.217450;0.962753;,
1.117166;0.041504;0.974369;,
1.159101;0.214748;0.962799;,
1.117762;0.041358;0.974141;,
1.170301;0.212046;0.962847;,
1.118360;0.041216;0.974375;,
1.170281;0.212148;0.974349;,
1.118608;0.041162;0.974937;,
1.170255;0.212250;0.985880;,
1.118358;0.041226;0.975493;,
0.357469;0.065175;-1.709706;,
0.368235;0.229197;-1.780864;,
0.356711;0.229097;-1.780884;,
0.358081;0.065261;-1.709484;,
0.368175;0.233091;-1.770025;,
0.358335;0.065451;-1.708958;,
0.368123;0.236985;-1.759187;,
0.358075;0.065638;-1.708432;,
0.356609;0.236885;-1.759209;,
0.357461;0.065710;-1.708216;,
0.345089;0.236783;-1.759235;,
0.356847;0.065627;-1.708434;,
0.345141;0.232895;-1.770059;,
0.356595;0.065435;-1.708964;,
0.345201;0.228995;-1.780913;,
0.356853;0.065249;-1.709486;,
-0.362627;0.015354;-0.486846;,
-0.395804;0.190876;-0.500042;,
-0.406958;0.187977;-0.500038;,
-0.362035;0.015511;-0.486614;,
-0.395832;0.190978;-0.488524;,
-0.361785;0.015582;-0.486054;,
-0.395852;0.191081;-0.477010;,
-0.362037;0.015521;-0.485492;,
-0.406996;0.188184;-0.477004;,
-0.362631;0.015369;-0.485262;,
-0.418146;0.185286;-0.477004;,
-0.363227;0.015211;-0.485492;,
-0.418124;0.185183;-0.488506;,
-0.363471;0.015142;-0.486054;,
-0.418100;0.185080;-0.500038;,
-0.363223;0.015202;-0.486612;,
0.363345;0.074350;2.150817;,
0.349711;0.239405;2.219036;,
0.361235;0.239507;2.219056;,
0.362733;0.074422;2.150597;,
0.349703;0.243105;2.208136;,
0.362473;0.074598;2.150057;,
0.349689;0.246805;2.197236;,
0.362733;0.074781;2.149537;,
0.361203;0.246907;2.197256;,
0.363345;0.074860;2.149317;,
0.372723;0.247005;2.197276;,
0.363961;0.074791;2.149537;,
0.372737;0.243311;2.208176;,
0.364215;0.074613;2.150077;,
0.372745;0.239605;2.219096;,
0.363961;0.074432;2.150597;;
 
168;
3; 2,1,0;,
3; 3,0,1;,
3; 1,4,3;,
3; 5,3,4;,
3; 4,6,5;,
3; 7,5,6;,
3; 6,8,7;,
3; 9,7,8;,
3; 8,10,9;,
3; 11,9,10;,
3; 10,12,11;,
3; 13,11,12;,
3; 12,14,13;,
3; 15,13,14;,
3; 14,2,15;,
3; 0,15,2;,
3; 2,12,10;,
3; 12,2,14;,
3; 10,6,4;,
3; 6,10,8;,
3; 4,2,10;,
3; 2,4,1;,
3; 11,15,0;,
3; 15,11,13;,
3; 5,9,11;,
3; 9,5,7;,
3; 11,3,5;,
3; 3,11,0;,
3; 18,17,16;,
3; 19,16,17;,
3; 17,20,19;,
3; 21,19,20;,
3; 20,22,21;,
3; 23,21,22;,
3; 22,24,23;,
3; 25,23,24;,
3; 24,26,25;,
3; 27,25,26;,
3; 26,28,27;,
3; 29,27,28;,
3; 28,30,29;,
3; 31,29,30;,
3; 30,18,31;,
3; 16,31,18;,
3; 18,28,26;,
3; 28,18,30;,
3; 26,22,20;,
3; 22,26,24;,
3; 20,18,26;,
3; 18,20,17;,
3; 27,31,16;,
3; 31,27,29;,
3; 21,25,27;,
3; 25,21,23;,
3; 27,19,21;,
3; 19,27,16;,
3; 34,33,32;,
3; 35,32,33;,
3; 33,36,35;,
3; 37,35,36;,
3; 36,38,37;,
3; 39,37,38;,
3; 38,40,39;,
3; 41,39,40;,
3; 40,42,41;,
3; 43,41,42;,
3; 42,44,43;,
3; 45,43,44;,
3; 44,46,45;,
3; 47,45,46;,
3; 46,34,47;,
3; 32,47,34;,
3; 34,44,42;,
3; 44,34,46;,
3; 42,38,36;,
3; 38,42,40;,
3; 36,34,42;,
3; 34,36,33;,
3; 43,47,32;,
3; 47,43,45;,
3; 37,41,43;,
3; 41,37,39;,
3; 43,35,37;,
3; 35,43,32;,
3; 50,49,48;,
3; 51,48,49;,
3; 49,52,51;,
3; 53,51,52;,
3; 52,54,53;,
3; 55,53,54;,
3; 54,56,55;,
3; 57,55,56;,
3; 56,58,57;,
3; 59,57,58;,
3; 58,60,59;,
3; 61,59,60;,
3; 60,62,61;,
3; 63,61,62;,
3; 62,50,63;,
3; 48,63,50;,
3; 50,60,58;,
3; 60,50,62;,
3; 58,54,52;,
3; 54,58,56;,
3; 52,50,58;,
3; 50,52,49;,
3; 59,63,48;,
3; 63,59,61;,
3; 53,57,59;,
3; 57,53,55;,
3; 59,51,53;,
3; 51,59,48;,
3; 66,65,64;,
3; 67,64,65;,
3; 65,68,67;,
3; 69,67,68;,
3; 68,70,69;,
3; 71,69,70;,
3; 70,72,71;,
3; 73,71,72;,
3; 72,74,73;,
3; 75,73,74;,
3; 74,76,75;,
3; 77,75,76;,
3; 76,78,77;,
3; 79,77,78;,
3; 78,66,79;,
3; 64,79,66;,
3; 66,76,74;,
3; 76,66,78;,
3; 74,70,68;,
3; 70,74,72;,
3; 68,66,74;,
3; 66,68,65;,
3; 75,79,64;,
3; 79,75,77;,
3; 69,73,75;,
3; 73,69,71;,
3; 75,67,69;,
3; 67,75,64;,
3; 82,81,80;,
3; 83,80,81;,
3; 81,84,83;,
3; 85,83,84;,
3; 84,86,85;,
3; 87,85,86;,
3; 86,88,87;,
3; 89,87,88;,
3; 88,90,89;,
3; 91,89,90;,
3; 90,92,91;,
3; 93,91,92;,
3; 92,94,93;,
3; 95,93,94;,
3; 94,82,95;,
3; 80,95,82;,
3; 82,92,90;,
3; 92,82,94;,
3; 90,86,84;,
3; 86,90,88;,
3; 84,82,90;,
3; 82,84,81;,
3; 91,95,80;,
3; 95,91,93;,
3; 85,89,91;,
3; 89,85,87;,
3; 91,83,85;,
3; 83,91,80;;
MeshMaterialList {
1;
168;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;;
Material black {
0.002000;0.002000;0.002000;1.000000;;
157.360000;
0.518400;0.518400;0.518400;;
0.000000;0.000000;0.000000;;
}
}
}
}
 
Frame tent {
Mesh mesh-tent {
140;
0.662679;0.602982;1.023170;,
0.452095;0.848025;1.001950;,
0.662727;0.602812;1.004608;,
0.452049;0.848201;1.020510;,
0.382674;0.928837;1.001076;,
0.382632;0.929011;1.019640;,
0.356345;0.959499;1.000748;,
0.356303;0.959669;1.019308;,
0.419560;0.264657;1.007184;,
0.419516;0.264825;1.025748;,
0.970065;0.128276;1.009546;,
0.970021;0.128448;1.028111;,
0.969021;0.246213;1.008478;,
0.968983;0.246383;1.027043;,
0.942701;0.276846;1.008138;,
0.942653;0.277018;1.026706;,
0.873303;0.357641;1.007266;,
0.873263;0.357811;1.025834;,
0.356745;0.949631;1.000932;,
0.354261;0.942413;-0.563659;,
0.359971;0.935737;-0.563587;,
0.351035;0.956309;1.000860;,
-0.240017;0.210596;-0.558383;,
-0.243241;0.224492;1.006136;,
-0.238983;0.091961;-0.557327;,
-0.242207;0.105856;1.007192;,
0.973301;0.102542;-0.554937;,
0.970075;0.116437;1.009582;,
0.972267;0.221178;-0.555993;,
0.969041;0.235073;1.008526;,
0.948501;0.248895;-0.556285;,
0.945277;0.262791;1.008234;,
0.885336;0.322608;-0.557071;,
0.882110;0.336501;1.007448;,
0.689444;0.551227;-0.559503;,
0.686220;0.565123;1.005016;,
0.481886;0.793456;-0.562073;,
0.478660;0.807352;1.002446;,
0.404140;0.884184;-0.563041;,
0.400916;0.898080;1.001476;,
0.400344;0.856747;-0.562805;,
0.360251;0.902816;-0.563297;,
0.357025;0.916712;1.001222;,
0.397120;0.870643;1.001714;,
0.474431;0.771639;-0.561897;,
0.471207;0.785534;1.002622;,
0.676054;0.540007;-0.559431;,
0.672829;0.553901;1.005088;,
0.868145;0.319326;-0.557077;,
0.864921;0.333221;1.007442;,
0.930307;0.247905;-0.556313;,
0.927083;0.261799;1.008206;,
0.953723;0.221016;-0.556027;,
0.950497;0.234911;1.008490;,
0.954629;0.117211;-0.555105;,
0.951403;0.131107;1.009414;,
-0.220574;0.106951;-0.557421;,
-0.223800;0.120847;1.007096;,
-0.221384;0.199636;-0.558247;,
-0.224610;0.213532;1.006270;,
0.356421;0.907214;-0.563343;,
0.353195;0.921110;1.001174;,
0.930299;0.247919;-0.556317;,
0.953723;0.221016;-0.556027;,
0.868085;0.319392;-0.557077;,
0.972267;0.221178;-0.555993;,
0.948501;0.248895;-0.556285;,
0.689444;0.551227;-0.559503;,
0.481886;0.793456;-0.562073;,
0.885336;0.322608;-0.557071;,
0.359971;0.935737;-0.563587;,
0.356421;0.907214;-0.563343;,
0.404140;0.884184;-0.563041;,
0.397778;0.859687;-0.562837;,
0.472817;0.773493;-0.561917;,
0.675581;0.540555;-0.559433;,
0.973301;0.102542;-0.554937;,
0.954629;0.117211;-0.555105;,
-0.221384;0.199636;-0.558247;,
-0.240017;0.210596;-0.558383;,
-0.238981;0.091961;-0.557327;,
-0.220574;0.106951;-0.557421;,
0.686220;0.565123;1.005016;,
0.478660;0.807352;1.002446;,
0.882110;0.336501;1.007448;,
0.969041;0.235073;1.008526;,
0.945277;0.262791;1.008234;,
0.950497;0.234911;1.008490;,
0.927073;0.261815;1.008202;,
0.864861;0.333289;1.007442;,
0.394554;0.873581;1.001682;,
0.469591;0.787388;1.002602;,
0.353195;0.921110;1.001174;,
0.356745;0.949633;1.000932;,
0.400916;0.898080;1.001476;,
0.672355;0.554451;1.005086;,
0.951403;0.131107;1.009414;,
0.970075;0.116437;1.009582;,
-0.243241;0.224492;1.006136;,
-0.224610;0.213532;1.006270;,
-0.223800;0.120847;1.007096;,
-0.242207;0.105856;1.007192;,
0.058259;0.598938;1.022662;,
0.058295;0.598776;1.004102;,
0.264609;0.847623;1.002294;,
0.264575;0.847791;1.020856;,
0.332597;0.929639;1.001698;,
0.332563;0.929805;1.020260;,
0.358389;0.960755;1.001474;,
0.358353;0.960919;1.020040;,
0.307360;0.264933;1.007662;,
0.307326;0.265097;1.026230;,
-0.240683;0.118949;1.007804;,
-0.240717;0.119116;1.026366;,
-0.241713;0.236877;1.006732;,
-0.241749;0.237041;1.025298;,
-0.215928;0.267971;1.006498;,
-0.215966;0.268131;1.025064;,
-0.147956;0.349961;1.005906;,
-0.147992;0.350127;1.024474;,
0.357769;0.937157;-0.561875;,
-0.242563;0.211910;-0.575095;,
0.357793;0.938823;-0.580456;,
-0.242597;0.210250;-0.556509;,
-0.241535;0.094654;-0.574025;,
-0.241557;0.092993;-0.555447;,
0.971649;0.105209;-0.571635;,
0.971625;0.103546;-0.553051;,
0.970619;0.222464;-0.572699;,
0.970591;0.220798;-0.554119;,
0.944677;0.252775;-0.573033;,
0.944649;0.251113;-0.554451;,
0.876208;0.332811;-0.573895;,
0.876185;0.331149;-0.555311;,
0.667793;0.576449;-0.576539;,
0.667767;0.574783;-0.557955;,
0.457579;0.822170;-0.579200;,
0.457553;0.820508;-0.560619;,
0.386864;0.904826;-0.580096;,
0.386836;0.903160;-0.561515;;
 
194;
3; 2,1,0;,
3; 3,0,1;,
3; 1,4,3;,
3; 5,3,4;,
3; 4,6,5;,
3; 7,5,6;,
3; 6,8,7;,
3; 9,7,8;,
3; 8,10,9;,
3; 11,9,10;,
3; 10,12,11;,
3; 13,11,12;,
3; 13,12,14;,
3; 14,15,13;,
3; 14,16,15;,
3; 17,15,16;,
3; 16,2,17;,
3; 0,17,2;,
3; 16,8,2;,
3; 14,8,16;,
3; 12,8,14;,
3; 8,12,10;,
3; 4,8,6;,
3; 1,8,4;,
3; 1,2,8;,
3; 15,11,13;,
3; 17,11,15;,
3; 11,0,9;,
3; 0,11,17;,
3; 3,9,0;,
3; 9,5,7;,
3; 5,9,3;,
3; 20,19,18;,
3; 21,18,19;,
3; 19,22,21;,
3; 23,21,22;,
3; 22,24,23;,
3; 25,23,24;,
3; 24,26,25;,
3; 27,25,26;,
3; 26,28,27;,
3; 29,27,28;,
3; 29,28,30;,
3; 30,31,29;,
3; 30,32,31;,
3; 33,31,32;,
3; 32,34,33;,
3; 35,33,34;,
3; 34,36,35;,
3; 37,35,36;,
3; 36,38,37;,
3; 39,37,38;,
3; 38,20,39;,
3; 18,39,20;,
3; 42,41,40;,
3; 40,43,42;,
3; 43,40,44;,
3; 44,45,43;,
3; 45,44,46;,
3; 46,47,45;,
3; 47,46,48;,
3; 48,49,47;,
3; 49,48,50;,
3; 50,51,49;,
3; 51,50,52;,
3; 52,53,51;,
3; 53,52,54;,
3; 54,55,53;,
3; 55,54,56;,
3; 56,57,55;,
3; 57,56,58;,
3; 58,59,57;,
3; 59,58,60;,
3; 60,61,59;,
3; 61,60,41;,
3; 41,42,61;,
3; 64,63,62;,
3; 63,66,65;,
3; 69,68,67;,
3; 72,71,70;,
3; 71,74,73;,
3; 75,63,64;,
3; 63,69,66;,
3; 68,71,72;,
3; 75,69,63;,
3; 69,71,68;,
3; 74,69,75;,
3; 69,74,71;,
3; 77,65,76;,
3; 65,77,63;,
3; 79,71,78;,
3; 71,79,70;,
3; 81,76,80;,
3; 76,81,77;,
3; 80,78,81;,
3; 78,80,79;,
3; 84,83,82;,
3; 87,86,85;,
3; 89,87,88;,
3; 92,91,90;,
3; 94,92,93;,
3; 84,94,83;,
3; 87,84,86;,
3; 95,87,89;,
3; 94,91,92;,
3; 87,94,84;,
3; 94,95,91;,
3; 95,94,87;,
3; 87,97,96;,
3; 97,87,85;,
3; 93,99,98;,
3; 99,93,92;,
3; 96,101,100;,
3; 101,96,97;,
3; 98,100,101;,
3; 100,98,99;,
3; 104,103,102;,
3; 102,105,104;,
3; 106,104,105;,
3; 105,107,106;,
3; 108,106,107;,
3; 107,109,108;,
3; 110,108,109;,
3; 109,111,110;,
3; 112,110,111;,
3; 111,113,112;,
3; 114,112,113;,
3; 113,115,114;,
3; 114,115,116;,
3; 117,116,115;,
3; 118,116,117;,
3; 117,119,118;,
3; 103,118,119;,
3; 119,102,103;,
3; 110,118,103;,
3; 114,110,112;,
3; 110,116,118;,
3; 116,110,114;,
3; 110,106,108;,
3; 110,104,106;,
3; 103,104,110;,
3; 113,117,115;,
3; 113,119,117;,
3; 102,113,111;,
3; 113,102,119;,
3; 111,105,102;,
3; 107,111,109;,
3; 111,107,105;,
3; 122,121,120;,
3; 123,120,121;,
3; 121,124,123;,
3; 125,123,124;,
3; 124,126,125;,
3; 127,125,126;,
3; 126,128,127;,
3; 129,127,128;,
3; 129,128,130;,
3; 130,131,129;,
3; 130,132,131;,
3; 133,131,132;,
3; 132,134,133;,
3; 135,133,134;,
3; 134,136,135;,
3; 137,135,136;,
3; 136,138,137;,
3; 139,137,138;,
3; 138,122,139;,
3; 120,139,122;,
3; 132,136,134;,
3; 138,124,122;,
3; 124,128,126;,
3; 130,136,132;,
3; 136,124,138;,
3; 124,130,128;,
3; 130,124,136;,
3; 124,121,122;,
3; 139,135,137;,
3; 139,133,135;,
3; 131,127,129;,
3; 127,120,125;,
3; 133,127,131;,
3; 127,139,120;,
3; 139,127,133;,
3; 125,120,123;,
4; 53,29,21,61;,
4; 27,29,53,55;,
4; 25,27,55,57;,
4; 25,57,59,23;,
4; 61,18,23,59;,
4; 58,22,19,41;,
4; 24,22,58,56;,
4; 54,26,24,56;,
4; 26,54,52,28;,
4; 19,28,52,41;;
MeshMaterialList {
1;
194;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;;
Material olivegreen {
0.025000;0.036700;0.000000;1.000000;;
97.670000;
0.225700;0.277600;0.116700;;
0.000000;0.000000;0.000000;;
}
}
}
}
 
}
/trunk/_private/Model/Tent/info.txt
0,0 → 1,3
 
Nehme tent3
Source: DB Classic
/trunk/_private/Screen/Previous Versions/version1.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/Previous Versions/version2.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/Previous Versions/version3.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/Screens.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/Sources/Carnage.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/Sources/moon14day-1985c.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/Sources/pine trees 01.jpg396d007c-df38-473a-bccb-56562bb49cfbOriginal.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/gameover.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/titlescreen.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Screen/todo.txt
0,0 → 1,3
 
stars
vor dem mond müssen die äste schwarz wirken
/trunk/_private/Screen/tree-wall.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Sources.txt
0,0 → 1,69
 
=== 3D Art ===
 
obj\scorpion\ScorpIdle.x
obj\scorpion\ScorpWalk.x
Taken from DarkBASIC Classic Demo "room"
Modified to fix minor problems
 
=== Graphics ===
 
picture/forestfloor.bmp
Source: http://imagestack.co/176005802-forest-floor-texture-seamless.html
Source: http://texturify.com/content/8695/Forest%20Soiltt-005.jpg
Photo credit / source: club-balalaika.de
 
screen artwork
Kevin B. Gener - Spinoff of the artwork "Carnage"
Tree picture taken from following screenshot:
http://www.turbosquid.com/3d-models/3d-pine-tree/390457
"Pine Tree Collection" by ryrod88 at turbosquid.com
 
bitmap/stars.bmp
Source: http://www.psdgraphics.com/file/stars.jpg
Source: http://www.psdgraphics.com/backgrounds/night-sky-stars-background/
 
=== Music ===
 
music/pause.wav
Loop for the pause menu
Source: https://freesound.org/people/rockerfaerie/sounds/163644/
Artist name: CoMa
License: http://creativecommons.org/publicdomain/zero/1.0/
Modified to make the loop work
 
=== Sound effects ===
 
sound/forestbg.wav
Source: https://freesound.org/people/caquet/sounds/157495/
"Night by the beach, in Barbate"
Author: caquet (http://caquet.es/)
License: http://creativecommons.org/licenses/by/3.0/
Amplified and modified to make the loop work
 
sound/walk.wav
Source: https://freesound.org/people/freefire66/sounds/175955/
Author: freefire66
License: http://creativecommons.org/publicdomain/zero/1.0/
Modified to make the loop work
sound/walk_water.wav
Source: http://www.orangefreesounds.com/footsteps-walking-in-water/
Footsteps Walking In Water
Author: Alexander
Date: 6 Oct 2015
License: Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
Extracted a loop
 
sound/scorpionAttack/attack1.wav
sound/scorpionAttack/attack2.wav
sound/scorpionAttack/attack3.wav
sound/scorpionAttack/attack4.wav
Source: https://freesound.org/people/cgeffex/sounds/93102/
Author: cgeffex
License: http://creativecommons.org/licenses/by/3.0/
Extracted small parts out of the source material
 
The source material was a remix of: https://freesound.org/people/sonic/sounds/2883/
Author: sonic
License: http://creativecommons.org/licenses/sampling+/1.0/
/trunk/_private/Titel2/Titel.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Titel2/Titel2.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Titel2/Titel3.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Titel2/x1.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Titel2/x2.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Titel2/x3.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Titel2/xx.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Title.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/Type.wav
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/_old/Baumwand-Experiment/Forest.DBA
0,0 → 1,1016
rem Nightmare Forest
rem by Daniel Marschall
 
rem ToDo:
rem Nebel-Himmel-Probleme
rem DynArray
rem Steifen am Boden
rem Radar wackelt
rem Verifizieren der Dateien
rem :startgame weglassen
rem Streifen am Boden und am Himmel...
rem Baum teiltransparenz
rem Radar lieber als Matrix. Viele Probleme wie z.B. mit Skorpion transparenz
rem Unscharfes Radar, Radar ganz dyn. zeichnen? Rader stay on top
rem Menü: musik aus --> an: loop von position 0!
rem Horizont machen...
rem breitbild
rem mausumkehrung einstellbar
rem die gegner kommen erst nach einer bestimmten zeit. spawnen weit weg vom spieler
rem stars.bmp (5000px) braucht lange zum laden. 1000px ist verpixelt
 
// Read configuration
open to read 1, "config.txt"
read string 1, dummy$ : rem header
framerate = fileReadInt(1)
clockSpeedFactor = fileReadInt(1)
clockBlinksPerSecond = fileReadInt(1)
clockShowSeconds = fileReadInt(1)
beginClockSeconds = fileReadInt(1)
enemyRotateSmoothness = fileReadInt(1)
maxRunEnergy = fileReadInt(1)
waterLevel = fileReadInt(1)
waterMovement = fileReadInt(1)
sound3dVolumeCor = fileReadInt(1)
invertMouse = fileReadInt(1)
test = fileReadInt(1)
camerarange = fileReadInt(1)
close file 1
 
rem SCHEISSE! bei 3000 ist die framerate total am arsch! was mach ich nur?
rem #constant cMaxTrees 3000
#constant cMaxTrees 200
 
#constant cMapSizeX 10000
#constant cMapSizeZ 10000
#constant idxMonsterBase 1000
 
#constant cMaxEnemies 20 : rem todo: 0 heißt 1 , das ist verwirrend
 
rem Setup & Startbildschirm
if check display mode( desktop width(), desktop height(), screen depth() ) then set display mode desktop width(), desktop height(), screen depth()
hide mouse
 
randomize timer()
 
Sync On
Sync Rate framerate
 
load bitmap "bitmap\titlescreen.jpg"
 
gosub _menu
 
_startgame:
 
ink rgb(255, 230, 0), 0
load bitmap "bitmap\titlescreen.jpg"
text 28, 550, "Level wird geladen..."
 
sync
 
rem Setup
Set camera range 1, camerarange
Autocam off
 
runEnergy# = maxRunEnergy
clockSeconds = beginClockSeconds
 
gosub _create_floor
gosub _create_sky
gosub _create_trees
gosub _draw_trees
gosub _create_water
gosub _create_radar
 
rem Bildschirm neu aufbauen
cls
sync
 
rem Lichtversuch
make light 1
 
rem Radar vorbereiten
radarpointcolor = 150
 
gosub _create_enemies
gosub _setupClock
 
Rem Forest atmo
load sound "sound\forestbg.wav", 1
loop sound 1
 
load sound "music\pause.wav", 5
 
load sound "sound\walk.wav", 10
 
rem Pause Menu
load image "bitmap\titlescreen.jpg",95
sprite 95,0,0,95
set sprite 95, 1, 0
hide sprite 95
 
rem Hauptschleife
do
Disable EscapeKey
gosub _handle_weather
gosub _handle_player
gosub _handle_radar
gosub _handle_enemies
gosub _handleClock
if EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
gosub _pausemenu
endif
sync
loop
 
_pausemenu:
rem TODO: geht nicht
rem show sprite 95
rem load bitmap "bitmap\titlescreen.jpg",0
gosub _stop_game_sounds
loop sound 5
repeat
text 28, 550, "Pause. ESC=Weiter. Runter=Ende."
sync
if DownKey() = 1
goto _exit
ENDIF
UNTIL EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
stop sound 5
loop sound 1
hide sprite 95
rem TODO: das bringt nix. wenn man die maus bewegt, wird nach der pause die kamera gescrollt
set cursor 0, 0
return
 
_handle_weather:
rem Wetter
color ambient light rgb(64,64,128)
rem set ambient light 1
set ambient light 50
if fog available() = 1
fog on
fog distance 600
fog color rgb(0, 0, 0)
endif
if test = 1
SET MATRIX WIREFRAME ON 1
SET MATRIX WIREFRAME ON 3
endif
rem test
remstart
xx = xx - 1
if xx <= 0 then xx = 100
set object specular 126, 0
SET OBJECT SPECULAR POWER 126,xx
 
set object specular 127, 0
SET OBJECT SPECULAR POWER 127,xx
remend
rem fade object 126, xx
rem fade object 127, xx
rem test trees
remstart
pX# = Camera Position X()
pZ# = Camera Position Z()
 
eX# = Object Position X(126)
eZ# = Object Position Z(126)
 
deltaX# = pX#-eX#
deltaZ# = pZ#-eZ#
 
aa# = atanfull(deltaX#, deltaZ#)
rotate object 126, 0, aa#, 0
remend
 
rem Stars are moving
scroll object texture 2, 0.00002, 0
rem TODO: doch lieber eine plane mit scroll object texture?
rem man kann "fog" einschalten, aber "ambient light" (problem) ausmachen per set object
if waterMovement > 0
if waterdir=0
watermov=watermov+1
if watermov=waterMovement
waterdir=1
endif
ENDIF
if waterdir=1
watermov=watermov-1
if watermov=-1
waterdir=0
endif
ENDIF
endif
position matrix 3, watermov, waterLevel, watermov
return
 
_handle_enemies:
pX# = Camera Position X()
pZ# = Camera Position Z()
for t = 0 to cMaxEnemies
eX# = Object Position X(idxMonsterBase+t)
eY# = Object Position Y(idxMonsterBase+t)
eZ# = Object Position Z(idxMonsterBase+t)
eRX# = Object Angle X(idxMonsterBase+t)
eRY# = Object Angle Y(idxMonsterBase+t)
eRZ# = Object Angle Z(idxMonsterBase+t)
deltaX# = pX#-eX#
deltaZ# = pZ#-eZ#
 
rem TODO: cor file
yPosOffset# = 20
dist# = sqrt( deltaX#*deltaX# + deltaZ#*deltaZ# )
if clockSeconds > 1
if not sound playing(idxMonsterBase+t)
set sound volume idxMonsterBase+t, 0
rem TODO: beliebiges startoffset?
loop sound idxMonsterBase+t
endif
endif
rem The mixing of 3dsound is bullshit (too loud from far distance, and not very loud on close distance),
rem so we mix the volume ourself
if sound3dVolumeCor>0 and dist#<sound3dVolumeCor then set sound volume idxMonsterBase+t, (1-(dist#/sound3dVolumeCor))*100
if dist# > 10 : rem <-- at least a distance of 10 so that atanfull() does not bug, when deltas becomes 0
if dist# < enemyAwarenessRadius(t)
enemyAngle(t) = atanfull(deltaX#, deltaZ#)
enemyAngle(t) = WrapValue(enemyAngle(t)+180)
enemyCurSpeed(t) = enemyMaxSpeed(t)
else
if enemyWalkTimeout(t) <= 0
enemyWalkTimeout(t) = RndBetween(enemyWalkTimeoutMin(t), enemyWalkTimeoutMax(t))
enemyAngle(t) = RndBetween(0,359)
enemyCurSpeed(t) = RndBetween(0, enemyMaxSpeed(t))
ENDIF
enemyWalkTimeout(t) = enemyWalkTimeout(t) - 1
endif
if enemyCurSpeed(t) = 0
gosub scorpChangeToIdle
else
gosub scorpChangeToWalk
rem TODO: also make animation slower/faster
endif
 
a# = WrapValue(enemyAngle(t) + 180)
XTest# = Newxvalue(eX#, a#, enemyCurSpeed(t))
ZTest# = Newzvalue(eZ#, a#, enemyCurSpeed(t))
if XTest# > 0 and XTest# < cMapSizeX then eX# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then eZ# = ZTest#
if XTest# <= 0 or XTest# >= cMapSizeX or ZTest# <= 0 or ZTest# >= cMapSizeZ
rem Kehrtwende, um den Kartenrand zu verlassen
enemyAngle(t) = WrapValue(enemyAngle(t)+180)
enemyWalkTimeout(t) = RndBetween(enemyWalkTimeoutMin(t), enemyWalkTimeoutMax(t))
enemyCurSpeed(t) = RndBetween(0, enemyMaxSpeed(t))
endif
eY# = floorHeight#(eX#, eZ#) + yPosOffset#
Position Object idxMonsterBase+t, eX#, eY#, eZ#
Position Sound idxMonsterBase+t, eX#, eY#, eZ#
eRY# = smoothRotate#(eRY#, enemyAngle(t), enemyRotateSmoothness)
rotate object idxMonsterBase+t, eRX#, eRY#, eRZ#
endif
next
return
 
_handle_player:
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
X# = camera position x()
Y# = camera position y()
Z# = camera position z()
 
if invertMouse = 1
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
else
cAX# = WrapValue(cAX# + MousemoveY() * 0.2)
endif
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAZ# = Camera angle Z()
 
rem Sprungroutine
jumpBoost = 1
if sprungdelay > 0 then dec sprungdelay
if MouseClick() = 2 and sprung = 0 and sprungrev = 0 and sprungdelay = 0 and obentimer = 0 then sprung = sprung + 5
if sprung > 0
if sprungrev = 0
if obentimer = 0
if sprung < 70 then sprung = sprung + 5
if sprung > 69 then sprung = sprung + 2
endif
if sprung > 79 and obentimer < 5 then obentimer = obentimer + 1
if obentimer > 2
obentimer = 0
sprungrev = 1
endif
else
if sprungrev = 1
sprung = sprung - 5
if sprung < 1
sprungrev = 0
sprung = 0
sprungdelay = 15
endif
endif
endif
endif
rem Laufen
speedboost# = 1
 
if upPressed()+downPressed()+leftPressed()+rightPressed() = 0
runEnergy# = runEnergy# + 2
stop sound 10
else
if not sound playing(10) then loop sound 10
energyChanged = 0
if ShiftKey()+ControlKey() = 1 : rem shift+control at the same time = walk normal
rem TODO: es ruckelt trotzdem noch
if ControlKey()=1 and runEnergy#>0 : rem Energy >1 , damit es nicht ruckelt (run-walk-run-walk-run-walk) . 3 = walk regain
speedboost# = 2
runEnergy# = runEnergy# - 1
energyChanged = 1
endif
if ShiftKey()=1
speedboost# = 0.5
runEnergy# = runEnergy# + 0.5
energyChanged = 1
endif
endif
if not energyChanged then runEnergy# = runEnergy# + 1
if upPressed()
XTest# = Newxvalue(X#, cAY#, 7*speedboost#)
ZTest# = Newzvalue(Z#, cAY#, 7*speedboost#)
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if downPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if leftPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if rightPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
endif
if runEnergy# > maxRunEnergy then runEnergy# = maxRunEnergy
print "Run energy: ", runEnergy#
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera
Y# = floorHeight#(X#, Z#) + 85 + sprung*jumpBoost
Position Camera X#, Y#, Z#
 
Rem Position Listener
Position Listener X#, Y#, Z#
Rotate Listener 0, cAY#, 0
 
rem Sky sphere follows player
position object 2, X#, Y#, Z#
rem zrotate object 51, cAY#
return
 
_fademenu:
if fade > 100 then fadedir = 0
if fade < 50 then fadedir = 1
if fadedir = 1
fade = fade + 2.5
else
fade = fade - 2.5
endif
rem Beleuchtet
ink rgb(255, fade, 0), 0
set text font "Tahoma"
set text size 26
if menu = 1
if pos = 1 then text 260, 255, "Neues Spiel starten"
if pos = 2 then text 260, 285, "Spiel laden"
if pos = 3 then text 260, 315, "Einstellungen"
if pos = 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos = 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos = 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos = 3 then text 260, 315, "Hauptmenü"
endif
rem Normal
ink rgb(255, 230, 0), 0
if menu = 1
if pos <> 1 then text 260, 255, "Neues Spiel starten"
if pos <> 2 then text 260, 285, "Spiel laden"
if pos <> 3 then text 260, 315, "Einstellungen"
if pos <> 4 then text 260, 345, "Spiel beenden"
endif
if menu = 3
if pos <> 1
if sound = 1 then text 260, 255, "Ton: An"
if sound = 0 then text 260, 255, "Ton: Aus"
endif
if pos <> 2
if music = 1 then text 260, 285, "Musik: An"
if music = 0 then text 260, 285, "Musik: Aus"
endif
if pos <> 3 then text 260, 315, "Hauptmenü"
endif
sync
return
 
_handle_radar:
rem Leuchtpunkt
if radarpointrev = 0
inc radarpointcolor, 3
else
dec radarpointcolor, 3
endif
if radarpointcolor > 255
radarpointrev = 1
radarpointcolor = 254
endif
if radarpointcolor < 150
radarpointrev = 0
radarpointcolor = 149
endif
rem Bäume
for t = 0 to cMaxTrees
x = (baumx(t) / 62.5) + 7.5
y = screen height() - 7.5 - (baumz(t) / 62.5)
rem ink rgb(0, radarpointcolor, 0), 0
ink rgb(0, 50, 0), 0
circle x, y, 1
circle x, y, 0
next i
rem Player
x = (X# / 62.5) + 7.5
y = screen height() - 7.5 - (Z# / 62.5)
ink rgb(0, 0, radarpointcolor), 0
circle x, y, 1
circle x, y, 0
rem Enemies
for t = 0 to cMaxEnemies
x = (object position x(idxMonsterBase+t) / 62.5) + 7.5
y = screen height() - 7.5 - (object position z(idxMonsterBase+t) / 62.5)
ink rgb(radarpointcolor, 0, 0), 0
circle x, y, 1
circle x, y, 0
next
return
 
_draw_trees:
// TODO: mit clone object arbeiten?
load image "bitmap\tree.bmp", 4
make object plain 52, 200, 400
make mesh from object 52, 52
add limb 52, 1, 52
rotate limb 52, 1, 0, 90, 0
make mesh from object 52, 52
delete object 52
// Methode 1: 1 Baum = 1 Object
for t = 0 to cMaxTrees
make object 1500+t, 52, 4
rx = baumx(t)
rz = baumz(t)
position object 1500+t, rx, floorHeight#(rx, rz)+190, rz
set object 1500+t, 1, 1, 0
next t
// Methode 2: Alle Bäume = 1 Objekt
remstart
make object 52, 52, 0 : rem TODO: da ist ein baum an offset 0,0,0
for t = 0 to cMaxTrees
add limb 52, t+1, 52
rx = baumx(t)
rz = baumz(t)
offset limb 52, t, rx, floorHeight#(rx, rz), rz
next t
make mesh from object 52, 52
delete object 52
make object 52, 52, 4
position object 52, 0, 190, 0
set object 52, 1, 1, 0
remend
rem test todo
 
rx = 500
rz = 500
load image "bitmap\dark-forest.jpg", 127
MAKE OBJECT BOX 127, 500, 350, 500
position object 127, rx, floorHeight#(rx,rz)+175, rz
rem set object 127, 1, 0, 0, 0, 0, 1, 0
texture object 127, 127
 
rx = 1700
rz = 500
load image "bitmap\dark-forest2.jpg", 126
MAKE OBJECT CYLINDER 126, 350
scale object 126, 180, 100, 180 : rem percent!
position object 126, rx, floorHeight#(rx,rz)+150, rz
set object 126, 1, 0, 0, 0, 0, 1, 0
rem texture object 126, 126
rem Make flat mesh piece
make object plain 998,300,300
hide object 998
make mesh from object 1,998
delete object 998
rem const
h=-40
li=0
end_x = 400
end_y = 400
for i = 0 to 10
w = RndBetween(150,250)
a = a + RndBetween(-80,80)
start_x = end_x
start_y = end_y
center_x = start_x + (w/2) * cos(a)
center_y = start_y + (w/2) * sin(a)
end_x = start_x + w * cos(a)
end_y = start_y + w * sin(a)
li=li+1
add limb 126,li,1
rotate limb 126, li, 0, -a, 0
offset limb 126,li,center_x,floorHeight#(center_x,center_y)+h,center_y
next
set object cull 126, 0
set object ambient 126, 0
texture object 126, 126
return
 
_create_trees:
dim baumx(cMaxTrees)
dim baumz(cMaxTrees)
for t = 0 to cMaxTrees
repeat
x = rnd(cMapSizeX)
z = rnd(cMapSizeZ)
ok = 1
if isInCircle(x,z,5000,5000,2000) then ok=0 : rem TODO: später für büschel anwenden
until ok=1
baumx(t) = x
baumz(t) = z
NEXT
return
 
_menu:
load bitmap "bitmap\titlescreen.jpg"
set text font "times"
set text size 27
fade = 100
pos = 1
menu = 1
sound = 1
do
gosub _fademenu
if ( downkey() = 1 and pos < 4 and menu = 1 ) or ( downkey() = 1 and pos < 3 and menu = 3 )
inc pos
while downkey() = 1
gosub _fademenu
endwhile
endif
if upkey() = 1 and pos > 1
dec pos
while upkey() = 1
gosub _fademenu
endwhile
endif
if returnkey() = 1
if menu = 1
if pos = 1 then gosub _startgame
if pos = 2
rem load bitmap "bitmap\titlescreen.jpg"
rem menu = 2
rem pos = 1
endif
if pos = 3
load bitmap "bitmap\titlescreen.jpg"
menu = 3
pos = 1
endif
if pos = 4 then end
else
if menu = 3
if pos = 1
if sound = 1
sound = 0
else
sound = 1
endif
load bitmap "bitmap\titlescreen.jpg"
endif
if pos = 2
if music = 1
music = 0
else
music = 1
endif
load bitmap "bitmap\titlescreen.jpg"
endif
if pos = 3
load bitmap "bitmap\titlescreen.jpg"
menu = 1
pos = 1
endif
endif
endif
while returnkey() = 1
gosub _fademenu
endwhile
endif
loop
return
 
_create_enemies:
dim enemySpeed(cMaxEnemies)
dim enemyDir(cMaxEnemies)
dim enemyWalkTimeout(cMaxEnemies)
dim enemyWalkTimeoutMin(cMaxEnemies)
dim enemyWalkTimeoutMax(cMaxEnemies)
dim enemyAwarenessRadius(cMaxEnemies)
dim enemyCurSpeed(cMaxEnemies)
dim enemyMaxSpeed(cMaxEnemies)
dim enemyAngle(cMaxEnemies)
dim enemyCurrentAnim(cMaxEnemies)
for t = 0 to cMaxEnemies
if t=0
Load 3Dsound "test.wav",idxMonsterBase+t
else
Clone Sound idxMonsterBase+t, idxMonsterBase
endif
x# = RndBetween(1000, 9000)
z# = RndBetween(1000, 9000)
enemyAwarenessRadius(t) = RndBetween(600, 1300)
enemyMaxSpeed(t) = RndBetween(1, 4)
enemyWalkTimeoutMin(t) = 200
enemyWalkTimeoutMax(t) = 300
if t = 0
animScorpIdleStart = 0
Load object "obj\scorpion\ScorpIdle.x", idxMonsterBase+t
animScorpIdleEnd = total object frames(idxMonsterBase+t)
animScorpWalkStart = animScorpIdleEnd+1
Append object "obj\scorpion\ScorpWalk.x", idxMonsterBase+t, animScorpWalkStart
animScorpWalkEnd = total object frames(idxMonsterBase+t)
else
Clone Object idxMonsterBase+t, idxMonsterBase
endif
y# = floorHeight#(x#, z#) : rem TODO + yPosOffset#
position object idxMonsterBase+t, x#, y#, z#
Position Sound idxMonsterBase+t, x#, y#, z#
fix object pivot idxMonsterBase+t
gosub scorpChangeToWalk
set object collision on idxMonsterBase+t
NEXT
return
 
scorpChangeToIdle:
rem TODO: smoothness (interpolation)
if enemyCurrentAnim(t) <> 1
loop object idxMonsterBase+t, animScorpIdleStart, animScorpIdleEnd
enemyCurrentAnim(t) = 1
endif
return
 
scorpChangeToWalk:
rem TODO: smoothness (interpolation)
if enemyCurrentAnim(t) <> 2
loop object idxMonsterBase+t, animScorpWalkStart, animScorpWalkEnd
enemyCurrentAnim(t) = 2
endif
return
 
_setupClock:
set text font "arial" : set text size 30 : set text transparent
// Session variables
clockTickCounter=0
clockCurrentMidDot=0
clockTicksPerSecond = framerate
return
 
_handleClock:
if mod(clockTickCounter*clockBlinksPerSecond, clockTicksPerSecond) = 0
clockCurrentMidDot = 1 - clockCurrentMidDot
endif
if mod(clockTickCounter*clockSpeedFactor, clockTicksPerSecond) = 0
clockSeconds = clockSeconds + 1
endif
gosub _printClock
 
clockTickCounter = clockTickCounter + 1
RETURN
 
_create_water:
remstart
make object plain 3, 20000, 20000
load image "bitmap\GM01B02.bmp", 3
texture object 3, 3
position object 3, 0, waterLevel, 0
xrotate object 3, 90
set object light 3, 1
ghost object on 3
remend
 
remstart
make object plain 3, 10000, 10000
load image "bitmap\GM01B02a.bmp",3
texture object 3, 3
xrotate object 3, 90
position object 3, 5000,waterLevel, 5000
set object ambient 3,0
ghost object on 3
remend
remstart
rem TODO: geht nicht zusammen mit fog
make object plain 3, 10000, 10000
load image "bitmap\GM01B02c.bmp", 3
texture object 3, 3
xrotate object 3, 90
position object 3, 5000, waterLevel, 5000
set object ambient 3, 0
rem set object ambient 3, 1
rem ghost object on 3
remend
make matrix 3, cMapSizeX+2*waterMovement, cMapSizeZ+2*waterMovement, 15, 15
load image "bitmap\water.bmp", 3
prepare matrix texture 3, 3, 1, 1
fill matrix 3, 0, 1
position matrix 3, 0, waterLevel, 0
ghost matrix on 3
set matrix 3, 0, 0, 1, 1, 1, 1, 1
update matrix 3
return
 
_create_floor:
rem Boden
make matrix 1, cMapSizeX, cMapSizeZ, 15, 15
 
load image "bitmap\forest_floor_texture.jpg", 1
prepare matrix texture 1, 1, 1, 1
fill matrix 1, 0, 1
set matrix 1, 0, 0, 1, 1, 1, 1, 1
randomize matrix 1, 130
rem TEST
rem TODO: aber man kann 40,40 nicht updaten?!
set matrix height 1, 10, 10, 1000
update matrix 1
remstart
currentmatrix=1
for z=1 to 20
for x=1 to 20
rem Get matrix heights
rem print x, " - ", z
rem sync
rem sleep 100
h8#=get matrix height(currentmatrix,x,z-1)
h4#=get matrix height(currentmatrix,x-1,z)
h#=get matrix height(currentmatrix,x,z)
h2#=get matrix height(currentmatrix,x,z)
rem Calculate projected angle X using heights
x1#=(x-1)*25.0 : y1#=h#
x2#=(x+0)*25.0 : y2#=h4#
dx#=x2#-x1#
dy#=y2#-y1#
ax#=atanfull(dx#,dy#)
ax#=wrapvalue(90-ax#)
rem Calculate projected angle Z using heights
z1#=(z-1)*25.0 : y1#=h2#
z2#=(z+0)*25.0 : y2#=h8#
dz#=z2#-z1#
dy#=y2#-y1#
az#=atanfull(dz#,dy#)
az#=wrapvalue(90-az#)
rem Make normal from projected angle
nx#=sin(ax#)
ny#=cos(ax#)
nz#=sin(az#)
rem Setting matrix normal for smoothness
set matrix normal currentmatrix,x,z,nx#,ny#,nz#
next x
next z
update matrix currentmatrix
remend
return
 
_create_sky:
if test = 1
load image "bitmap\tree.bmp", 2
else
load image "bitmap\stars.bmp", 2
endif
 
make object sphere 2, (landsize * 2) - 500
 
rem make object sphere 2, -4000
set object collision off 2
rem scale object 2, 2000, 750, 2000
scale object 2, 600, 120, 600
set object 2, 1, 0, 0, 0, 0, 1, 1
texture object 2, 2
rem fade object 2, 0
backdrop off
if test = 1
backdrop on
set object wireframe 2, 1
endif
return
 
_create_radar:
rem Karte - Abstand zur Kamera: 1.1
remstart
load image "map\ST01L01a.bmp", 5
make object plain 51, 0.352, 0.352
lock object on 51
position object 51, -0.6908, -0.4675, 1.1
ghost object on 51
texture object 51, 5
remend
rem Karte - Abstand zur Kamera: 1.5
load image "map\ST01L01a.bmp", 5
make object plain 51, 0.48, 0.48
lock object on 51
position object 51, -0.942, -0.6375, 1.5
ghost object on 51
texture object 51, 5
return
 
_printClock:
if clockCurrentMidDot = 0
middle$ = " "
else
middle$ = ":"
endif
min = clockSeconds/60
hours = min/60
if clockShowSeconds
secsText$ = middle$+TwoDigit$(mod(clockSeconds,60))
else
secsText$ = ""
endif
print "Time: ", TwoDigit$(mod(hours,24)), middle$, TwoDigit$(mod(min,60)), secsText$
return
 
rem Rotate smooth, and rotate in the direction with the lowest distance
rem "turn object left" ist das kommando
function smoothRotate#(von#, nach#, smoothness)
if (von# > 270) and (nach# < 90)
ret# = WrapValue(von# + (360 - von# + nach#)/smoothness)
else
if (von# < 90) and (nach# > 270)
ret# = WrapValue(von# - (360 - nach# + von#)/smoothness)
else
ret# = von# + (nach# - von#)/smoothness
endif
endif
endfunction ret#
 
function floorHeight#(X#, Z#)
rem TODO: implement water
ret# = Get Ground Height(1, X#, Z#)
ENDFUNCTION ret#
 
function upPressed()
ret = UpKey()=1 or keystate(17)=1 or joystick up()=1
ENDFUNCTION ret
 
function leftPressed()
ret = LeftKey()=1 or keystate(30)=1 or joystick left()=1
ENDFUNCTION ret
 
function rightPressed()
ret = RightKey()=1 or keystate(32)=1 or joystick right()=1
ENDFUNCTION ret
 
function downPressed()
ret = DownKey()=1 or keystate(31)=1 or joystick down()=1
ENDFUNCTION ret
 
function TwoDigit$(value)
if value < 10
ret$ = "0"+STR$(value)
else
ret$ = STR$(value)
ENDIF
ENDFUNCTION ret$
 
function mod(num,modulus)
value=num-((num/modulus)*modulus)
endfunction value
 
function fileReadInt(fileNum)
read string 1, s$
ret=val(s$)
ENDFUNCTION ret
 
function RndBetween(a,b)
ret = a+Rnd(b-a)
ENDFUNCTION ret
 
function isInCircle(pX#,pY#,cX#,cY#,cR#)
ret = sqrt( (pX#-cX#)*(pX#-cX#) + (pY#-cY#)*(pY#-cY#) ) <= cR#
ENDFUNCTION ret
 
_stop_game_sounds:
Stop Sound 1 : rem sound\forestbg.wav
Stop Sound 5 : rem music\pause.wav
Stop Sound 10 : rem sound\walk.wav
for t = 0 to cMaxEnemies
Stop Sound idxMonsterBase+t
next t
return
 
_exit:
exit
/trunk/_private/_old/Baumwand-Experiment/dark-forest.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/_old/Baumwand-Experiment/dark-forest.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/_old/Baumwand-Experiment/dark-forest2.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/_old/Baumwand-Experiment/dark-forest2.psd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/_private/_old/Wasser-Plane/Forest.DBA
0,0 → 1,902
rem Nightmare Forest
rem by Daniel Marschall
 
rem TODO
rem - wasser sounds
rem - schwimmen
rem - im wasser langsamer
rem - menü am anfang und pause
rem - bluteffekt
rem - rascheln im busch
rem - baum kollission
rem - die gegner kommen erst nach einer bestimmten zeit. spawnen weit weg vom spieler
 
rem NICE TO HAVE
rem - radar breitbild
rem - wassermatrix bewegt sich nur in 1 richtung
rem - mausumkehrung einstellbar
rem - stars.bmp (5000px) braucht lange zum laden. 1000px ist verpixelt
 
rem ToDo:
rem Steifen am Boden
rem Radar wackelt
rem :startgame weglassen
rem Streifen am Boden und am Himmel...
rem Baum teiltransparenz
rem Radar lieber als Matrix. Viele Probleme wie z.B. mit Skorpion transparenz
rem Unscharfes Radar, Radar ganz dyn. zeichnen? Rader stay on top
rem Menü: musik aus --> an: loop von position 0!
 
// Read configuration
open to read 1, "config.txt"
read string 1, dummy$ : rem header
framerate = fileReadInt(1)
clockSpeedFactor = fileReadInt(1)
clockBlinksPerSecond = fileReadInt(1)
clockShowSeconds = fileReadInt(1)
beginClockSeconds = fileReadInt(1)
enemyRotateSmoothness = fileReadInt(1)
maxRunEnergy = fileReadInt(1)
waterLevel = fileReadInt(1)
waterMovement = fileReadInt(1)
sound3dVolumeCor = fileReadInt(1)
invertMouse = fileReadInt(1)
test = fileReadInt(1)
camerarange = fileReadInt(1)
fogdistance = fileReadInt(1)
close file 1
 
rem SCHEISSE! bei 3000 ist die framerate total am arsch! was mach ich nur?
rem #constant cMaxTrees 3000
#constant cMaxTrees 200
 
#constant cMapSizeX 10000
#constant cMapSizeZ 10000
 
#constant idxMonsterBase 1000
#constant idxTreeBase 1500
 
#constant cMaxEnemies 20 : rem todo: 0 heißt 1 , das ist verwirrend
 
rem Setup & Startbildschirm
if check display mode( desktop width(), desktop height(), screen depth() ) then set display mode desktop width(), desktop height(), screen depth()
hide mouse
 
randomize timer()
 
Sync On
Sync Rate framerate
 
load bitmap "bitmap\titlescreen.jpg"
 
gosub _menu
 
_startgame:
 
ink rgb(255, 230, 0), 0
load bitmap "bitmap\titlescreen.jpg"
text 28, 550, "Starting game..."
 
sync
 
rem Setup
Set camera range 1, camerarange
Autocam off
 
runEnergy# = maxRunEnergy
clockSeconds = beginClockSeconds
 
gosub _create_floor
gosub _create_sky
gosub _create_trees
gosub _draw_trees
gosub _create_water
gosub _create_radar
 
rem Bildschirm neu aufbauen
cls
sync
 
rem Lichtversuch
make light 1
 
rem Radar vorbereiten
radarpointcolor = 150
 
gosub _create_enemies
gosub _setupClock
 
Rem Forest atmo
load sound "sound\forestbg.wav", 1
loop sound 1
 
load sound "music\pause.wav", 5
 
load sound "sound\walk.wav", 10
 
rem Pause Menu
load image "bitmap\titlescreen.jpg",95
sprite 95,0,0,95
set sprite 95, 1, 0
hide sprite 95
 
rem Hauptschleife
do
Disable EscapeKey
gosub _handle_weather
gosub _handle_player
gosub _handle_radar
gosub _handle_enemies
gosub _handleClock
if EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
gosub _pausemenu
endif
sceneInitialized=1
sync
loop
 
_pausemenu:
rem TODO: geht nicht
rem show sprite 95
rem load bitmap "bitmap\titlescreen.jpg",0
gosub _stop_game_sounds
loop sound 5
repeat
text 28, 550, "Pause. ESC=Weiter. Runter=Ende."
sync
if DownKey() = 1
goto _exit
ENDIF
UNTIL EscapeKey() = 1
repeat
sync
until not (EscapeKey() = 1)
stop sound 5
loop sound 1
hide sprite 95
rem TODO: das bringt nix. wenn man die maus bewegt, wird nach der pause die kamera gescrollt
set cursor 0, 0
return
 
_handle_weather:
rem Wetter
color ambient light rgb(64,64,128)
rem set ambient light 1
set ambient light 50
if fog available() = 1
fog on
fog distance fogdistance
fog color rgb(0, 0, 0)
endif
if test = 1
SET MATRIX WIREFRAME ON 1
SET MATRIX WIREFRAME ON 3
endif
 
rem Stars are moving
scroll object texture 2, 0.00002, 0
scroll object texture 3, 0.00004, 0
 
return
 
_handle_enemies:
pX# = Camera Position X()
pZ# = Camera Position Z()
for t = 0 to cMaxEnemies
eX# = Object Position X(idxMonsterBase+t)
eY# = Object Position Y(idxMonsterBase+t)
eZ# = Object Position Z(idxMonsterBase+t)
eRX# = Object Angle X(idxMonsterBase+t)
eRY# = Object Angle Y(idxMonsterBase+t)
eRZ# = Object Angle Z(idxMonsterBase+t)
deltaX# = pX#-eX#
deltaZ# = pZ#-eZ#
 
rem TODO: cor file
yPosOffset# = 20
dist# = sqrt( deltaX#*deltaX# + deltaZ#*deltaZ# )
if clockSeconds > 1
if not sound playing(idxMonsterBase+t)
set sound volume idxMonsterBase+t, 0
rem TODO: beliebiges startoffset?
loop sound idxMonsterBase+t
endif
endif
rem The mixing of 3dsound is bullshit (too loud from far distance, and not very loud on close distance),
rem so we mix the volume ourself
if sound3dVolumeCor>0 and dist#<sound3dVolumeCor then set sound volume idxMonsterBase+t, (1-(dist#/sound3dVolumeCor))*100
if dist# > 10 : rem <-- at least a distance of 10 so that atanfull() does not bug, when deltas becomes 0
if dist# < enemyAwarenessRadius(t)
enemyAngle(t) = atanfull(deltaX#, deltaZ#)
enemyAngle(t) = WrapValue(enemyAngle(t)+180)
enemyCurSpeed(t) = enemyMaxSpeed(t)
else
if enemyWalkTimeout(t) <= 0
enemyWalkTimeout(t) = RndBetween(enemyWalkTimeoutMin(t), enemyWalkTimeoutMax(t))
enemyAngle(t) = RndBetween(0,359)
enemyCurSpeed(t) = RndBetween(0, enemyMaxSpeed(t))
ENDIF
enemyWalkTimeout(t) = enemyWalkTimeout(t) - 1
endif
if enemyCurSpeed(t) = 0
gosub scorpChangeToIdle
else
gosub scorpChangeToWalk
rem TODO: also make animation slower/faster
endif
 
a# = WrapValue(enemyAngle(t) + 180)
XTest# = Newxvalue(eX#, a#, enemyCurSpeed(t))
ZTest# = Newzvalue(eZ#, a#, enemyCurSpeed(t))
if XTest# > 0 and XTest# < cMapSizeX then eX# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then eZ# = ZTest#
if XTest# <= 0 or XTest# >= cMapSizeX or ZTest# <= 0 or ZTest# >= cMapSizeZ
rem Kehrtwende, um den Kartenrand zu verlassen
enemyAngle(t) = WrapValue(enemyAngle(t)+180)
enemyWalkTimeout(t) = RndBetween(enemyWalkTimeoutMin(t), enemyWalkTimeoutMax(t))
enemyCurSpeed(t) = RndBetween(0, enemyMaxSpeed(t))
endif
eY# = floorHeight#(eX#, eZ#) + yPosOffset#
Position Object idxMonsterBase+t, eX#, eY#, eZ#
Position Sound idxMonsterBase+t, eX#, eY#, eZ#
eRY# = smoothRotate#(eRY#, enemyAngle(t), enemyRotateSmoothness)
rotate object idxMonsterBase+t, eRX#, eRY#, eRZ#
endif
next
return
 
_handle_player:
set cursor 0, 0
oldcAY# = cAY#
oldcAX# = cAX#
X# = camera position x()
Y# = camera position y()
Z# = camera position z()
 
if invertMouse = 1
cAX# = WrapValue(cAX# - MousemoveY() * 0.2)
else
cAX# = WrapValue(cAX# + MousemoveY() * 0.2)
endif
cAY# = WrapValue(cAY# + MousemoveX() * 0.2)
cAZ# = Camera angle Z()
 
rem Sprungroutine
jumpBoost = 1
if sprungdelay > 0 then dec sprungdelay
if MouseClick() = 2 and sprung = 0 and sprungrev = 0 and sprungdelay = 0 and obentimer = 0 then sprung = sprung + 5
if sprung > 0
if sprungrev = 0
if obentimer = 0
if sprung < 70 then sprung = sprung + 5
if sprung > 69 then sprung = sprung + 2
endif
if sprung > 79 and obentimer < 5 then obentimer = obentimer + 1
if obentimer > 2
obentimer = 0
sprungrev = 1
endif
else
if sprungrev = 1
sprung = sprung - 5
if sprung < 1
sprungrev = 0
sprung = 0
sprungdelay = 15
endif
endif
endif
endif
rem Laufen
speedboost# = 1
 
if upPressed()+downPressed()+leftPressed()+rightPressed() = 0
runEnergy# = runEnergy# + 2
stop sound 10
else
if not sound playing(10) then loop sound 10
energyChanged = 0
if ShiftKey()+ControlKey() = 1 : rem shift+control at the same time = walk normal
rem TODO: es ruckelt trotzdem noch
if ControlKey()=1 and runEnergy#>0 : rem Energy >1 , damit es nicht ruckelt (run-walk-run-walk-run-walk) . 3 = walk regain
speedboost# = 2
runEnergy# = runEnergy# - 1
energyChanged = 1
endif
if ShiftKey()=1
speedboost# = 0.5
runEnergy# = runEnergy# + 0.5
energyChanged = 1
endif
endif
if not energyChanged then runEnergy# = runEnergy# + 1
if upPressed()
XTest# = Newxvalue(X#, cAY#, 7*speedboost#)
ZTest# = Newzvalue(Z#, cAY#, 7*speedboost#)
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if downPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 180), 5*(speedboost#/2))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if leftPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# - 90), 5*(speedboost#/1.3))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
if rightPressed()
XTest# = Newxvalue(X#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
ZTest# = Newzvalue(Z#, Wrapvalue(cAY# + 90), 5*(speedboost#/1.3))
if XTest# > 0 and XTest# < cMapSizeX then X# = XTest#
if ZTest# > 0 and ZTest# < cMapSizeZ then Z# = ZTest#
endif
endif
if runEnergy# > maxRunEnergy then runEnergy# = maxRunEnergy
print "Run energy: ", runEnergy#
 
Rem Rotate camera
cTestX# = WrapValue(cAX# - 180)
if cTestX# > 225 then cAX# = 45
if cTestX# < 135 then cAX# = 315
YRotate camera CurveAngle(cAY#, oldcAY#, 24)
XRotate camera CurveAngle(cAX#, oldcAX#, 24)
 
Rem Position Camera