/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 |