Fixed frills, walkways, and wall round-cornering, but somehow broke special spots.

git-svn-id: http://openexile.googlecode.com/svn/trunk@62 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
2009-05-21 21:56:34 +00:00
parent 70c7895480
commit 8ddf7eccc6
4 changed files with 98 additions and 16 deletions

View File

@@ -17,6 +17,10 @@
</array> </array>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>None</string> <string>None</string>
<key>LSItemContentTypes</key>
<array>
<string>com.spidweb.bladesofexile.oldsounds</string>
</array>
<key>LSTypeIsPackage</key> <key>LSTypeIsPackage</key>
<false/> <false/>
<key>NSPersistentStoreTypeKey</key> <key>NSPersistentStoreTypeKey</key>
@@ -37,6 +41,10 @@
</array> </array>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>None</string> <string>None</string>
<key>LSItemContentTypes</key>
<array>
<string>com.spidweb.bladesofexile.oldgraphics</string>
</array>
<key>LSTypeIsPackage</key> <key>LSTypeIsPackage</key>
<false/> <false/>
<key>NSPersistentStoreTypeKey</key> <key>NSPersistentStoreTypeKey</key>
@@ -50,13 +58,17 @@
<key>CFBundleTypeIconFile</key> <key>CFBundleTypeIconFile</key>
<string>boesave</string> <string>boesave</string>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>SavedGame</string> <string>Saved Game</string>
<key>CFBundleTypeOSTypes</key> <key>CFBundleTypeOSTypes</key>
<array> <array>
<string>beSV</string> <string>beSV</string>
</array> </array>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Editor</string> <string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>com.spidweb.bladesofexile.savegame</string>
</array>
<key>LSTypeIsPackage</key> <key>LSTypeIsPackage</key>
<false/> <false/>
<key>NSPersistentStoreTypeKey</key> <key>NSPersistentStoreTypeKey</key>
@@ -77,11 +89,75 @@
</array> </array>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Viewer</string> <string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.spidweb.bladesofexile.scenario</string>
</array>
<key>LSTypeIsPackage</key> <key>LSTypeIsPackage</key>
<false/> <false/>
<key>NSPersistentStoreTypeKey</key> <key>NSPersistentStoreTypeKey</key>
<string>Binary</string> <string>Binary</string>
</dict> </dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>.exd</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>boegraphics</string>
<key>CFBundleTypeName</key>
<string>Preset Graphics</string>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>LSItemContentTypes</key>
<array>
<string>com.spidweb.bladesofexile.newgraphics</string>
</array>
<key>LSTypeIsPackage</key>
<true/>
<key>NSPersistentStoreTypeKey</key>
<string>Binary</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>.exr</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>boeresources</string>
<key>CFBundleTypeName</key>
<string>Resource File</string>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>LSItemContentTypes</key>
<array>
<string>com.spidweb.bladesofexile.resources</string>
</array>
<key>LSTypeIsPackage</key>
<true/>
<key>NSPersistentStoreTypeKey</key>
<string>Binary</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>.exa</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>boesounds</string>
<key>CFBundleTypeName</key>
<string>Preset Sounds</string>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>LSItemContentTypes</key>
<array>
<string>com.spidweb.bladesofexile.newsounds</string>
</array>
<key>LSTypeIsPackage</key>
<true/>
<key>NSPersistentStoreTypeKey</key>
<string>Binary</string>
</dict>
</array> </array>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string> <string>${EXECUTABLE_NAME}</string>

View File

@@ -92,6 +92,7 @@
913D05BC0FA1EA0A00184C18 /* pc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 913D05BB0FA1EA0A00184C18 /* pc.cpp */; }; 913D05BC0FA1EA0A00184C18 /* pc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 913D05BB0FA1EA0A00184C18 /* pc.cpp */; };
913D05BD0FA1EA0A00184C18 /* pc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 913D05BB0FA1EA0A00184C18 /* pc.cpp */; }; 913D05BD0FA1EA0A00184C18 /* pc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 913D05BB0FA1EA0A00184C18 /* pc.cpp */; };
913D05BE0FA1EA0A00184C18 /* pc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 913D05BB0FA1EA0A00184C18 /* pc.cpp */; }; 913D05BE0FA1EA0A00184C18 /* pc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 913D05BB0FA1EA0A00184C18 /* pc.cpp */; };
913D6C050FC57A8E00E12527 /* boeresources.icns in Resources */ = {isa = PBXBuildFile; fileRef = 913D6C040FC57A8E00E12527 /* boeresources.icns */; };
91A79DC70FA797BF00A6A41F /* menu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 91A79DC60FA797BF00A6A41F /* menu.xib */; }; 91A79DC70FA797BF00A6A41F /* menu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 91A79DC60FA797BF00A6A41F /* menu.xib */; };
91AC60800FA26A3B00EEAE67 /* regtown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91AC607F0FA26A3B00EEAE67 /* regtown.cpp */; }; 91AC60800FA26A3B00EEAE67 /* regtown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91AC607F0FA26A3B00EEAE67 /* regtown.cpp */; };
91AC60810FA26A3B00EEAE67 /* regtown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91AC607F0FA26A3B00EEAE67 /* regtown.cpp */; }; 91AC60810FA26A3B00EEAE67 /* regtown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91AC607F0FA26A3B00EEAE67 /* regtown.cpp */; };
@@ -342,6 +343,7 @@
913D05B50FA1E9E300184C18 /* party.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = party.cpp; path = classes/party.cpp; sourceTree = "<group>"; }; 913D05B50FA1E9E300184C18 /* party.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = party.cpp; path = classes/party.cpp; sourceTree = "<group>"; };
913D05BA0FA1EA0A00184C18 /* pc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pc.h; path = classes/pc.h; sourceTree = "<group>"; }; 913D05BA0FA1EA0A00184C18 /* pc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pc.h; path = classes/pc.h; sourceTree = "<group>"; };
913D05BB0FA1EA0A00184C18 /* pc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pc.cpp; path = classes/pc.cpp; sourceTree = "<group>"; }; 913D05BB0FA1EA0A00184C18 /* pc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pc.cpp; path = classes/pc.cpp; sourceTree = "<group>"; };
913D6C040FC57A8E00E12527 /* boeresources.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = boeresources.icns; sourceTree = "<group>"; };
91A79DC60FA797BF00A6A41F /* menu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = menu.xib; sourceTree = "<group>"; }; 91A79DC60FA797BF00A6A41F /* menu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = menu.xib; sourceTree = "<group>"; };
91A79DDD0FA79DEE00A6A41F /* dialogs.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = dialogs.xib; sourceTree = "<group>"; }; 91A79DDD0FA79DEE00A6A41F /* dialogs.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = dialogs.xib; sourceTree = "<group>"; };
91AC607E0FA26A3B00EEAE67 /* regtown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = regtown.h; path = classes/regtown.h; sourceTree = "<group>"; }; 91AC607E0FA26A3B00EEAE67 /* regtown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = regtown.h; path = classes/regtown.h; sourceTree = "<group>"; };
@@ -842,6 +844,7 @@
children = ( children = (
91279BB30F9D03B6007B0D52 /* boesave.icns */, 91279BB30F9D03B6007B0D52 /* boesave.icns */,
91279BB40F9D03B7007B0D52 /* boesounds.icns */, 91279BB40F9D03B7007B0D52 /* boesounds.icns */,
913D6C040FC57A8E00E12527 /* boeresources.icns */,
91279BB50F9D03B7007B0D52 /* boegraphics.icns */, 91279BB50F9D03B7007B0D52 /* boegraphics.icns */,
91D62F330F8EB84800674AB3 /* bladesofexile.rsrc */, 91D62F330F8EB84800674AB3 /* bladesofexile.rsrc */,
2B8F435C0C0973680012E4A8 /* BoE.icns */, 2B8F435C0C0973680012E4A8 /* BoE.icns */,
@@ -976,6 +979,7 @@
91279BB70F9D03B7007B0D52 /* boesounds.icns in Resources */, 91279BB70F9D03B7007B0D52 /* boesounds.icns in Resources */,
91279BB80F9D03B7007B0D52 /* boegraphics.icns in Resources */, 91279BB80F9D03B7007B0D52 /* boegraphics.icns in Resources */,
91A79DC70FA797BF00A6A41F /* menu.xib in Resources */, 91A79DC70FA797BF00A6A41F /* menu.xib in Resources */,
913D6C050FC57A8E00E12527 /* boeresources.icns in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View File

@@ -2142,35 +2142,35 @@ void place_trim(short q,short r,location where,unsigned short ter_type)
if (trim != 0) { if (trim != 0) {
unsigned short shore; unsigned short shore;
if (trim & 2){ // upper right if (trim & 2){ // upper right
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x + 1, where.y - 1);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,5,shore); draw_trim(q,r,5,shore);
}if (trim & 8){ // lower right }if (trim & 8){ // lower right
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x + 1, where.y + 1);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,7,shore); draw_trim(q,r,7,shore);
}if (trim & 32){ // lower left }if (trim & 32){ // lower left
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x - 1, where.y + 1);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,6,shore); draw_trim(q,r,6,shore);
}if (trim & 128){ // upper left }if (trim & 128){ // upper left
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x - 1, where.y - 1);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,4,shore); draw_trim(q,r,4,shore);
}if (trim & 1){ // top }if (trim & 1){ // top
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x, where.y - 1);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,2,shore); draw_trim(q,r,2,shore);
}if (trim & 4){ // right }if (trim & 4){ // right
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x + 1, where.y);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,1,shore); draw_trim(q,r,1,shore);
}if (trim & 16){ // bottom }if (trim & 16){ // bottom
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x, where.y + 1);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,3,shore); draw_trim(q,r,3,shore);
}if (trim & 64){ // left }if (trim & 64){ // left
shore = coord_to_ter(where.x, where.y); shore = coord_to_ter(where.x - 1, where.y);
shore = get_ground_for_shore(shore); shore = get_ground_for_shore(shore);
draw_trim(q,r,0,shore); draw_trim(q,r,0,shore);
} }
@@ -2324,10 +2324,12 @@ void draw_trim(short q,short r,short which_trim,unsigned short ground_ter)
LockPixels(to_bits); LockPixels(to_bits);
LockPixels(mask_bits); LockPixels(mask_bits);
LockPixels(from_bits); LockPixels(from_bits);
CopyMask ((BitMap*) *from_bits, CopyDeepMask ((BitMap*) *from_bits,
(BitMap*) *mask_bits, (BitMap*) *mask_bits,
(BitMap*) *to_bits, (BitMap*) *to_bits,
&from_rect, &mask_rect, &to_rect); &from_rect, &mask_rect, &to_rect,
transparent, NULL
);
UnlockPixels(from_bits); UnlockPixels(from_bits);
UnlockPixels(mask_bits); UnlockPixels(mask_bits);
UnlockPixels(to_bits); UnlockPixels(to_bits);

View File

@@ -815,7 +815,7 @@ Rect get_item_template_rect (short type_wanted)////
return store_rect; return store_rect;
} }
// Is this is subterranean fluid that gets shore plopped down on it? // Is this a fluid that gets shore plopped down on it?
bool is_fluid(unsigned short ter_type)//// bool is_fluid(unsigned short ter_type)////
{ {
// if (((ter_type >= 71) && (ter_type <= 76)) || (ter_type == 90)) // if (((ter_type >= 71) && (ter_type <= 76)) || (ter_type == 90))
@@ -824,12 +824,12 @@ bool is_fluid(unsigned short ter_type)////
return scenario.ter_types[ter_type].trim_type == TRIM_FRILLS; return scenario.ter_types[ter_type].trim_type == TRIM_FRILLS;
} }
// Is this is subterranean beach that gets shore plopped down next to it? // Is this a beach that gets shore plopped down next to it?
bool is_shore(unsigned short ter_type)//// bool is_shore(unsigned short ter_type)////
{ {
if (is_fluid(ter_type) == true) if (is_fluid(ter_type) == true)
return false; return false;
if(scenario.ter_types[ter_type].trim_type = TRIM_WATERFALL) if(scenario.ter_types[ter_type].trim_type == TRIM_WATERFALL)
return false; return false;
// if (ter_type == 77) // if (ter_type == 77)
// return false; // return false;