Skip to content

Commit 16f0fdd

Browse files
committed
Adding ability to read the gump object area from a text file instead of having it hard coded in the engine
This new file called gump_area_info.txt will be read from patch then static and the exult flexes for bg and SI. This change will allow modders to create new gumps that have different areas to the existing gumps. This change is for Feature Request - Allow Customization of Container Gump Object Areas in Exult Studio or via uc function. exult#623
1 parent bce8986 commit 16f0fdd

File tree

10 files changed

+208
-21
lines changed

10 files changed

+208
-21
lines changed

Makefile.common

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,8 @@ gumps/Face_stats.o : gumps/Face_stats.cc $(EXULT_FLX)
506506

507507
gumps/Gamemenu_gump.o : gumps/Gamemenu_gump.cc $(EXULT_FLX)
508508

509+
gumps/Gump.o : gumps/Gump.cc $(EXULT_BG_FLX) $(EXULT_SI_FLX)
510+
509511
gumps/GameDisplayOptions_gump.o : gumps/GameDisplayOptions_gump.cc $(EXULT_FLX)
510512

511513
gumps/Mixer_gump.o : gumps/Mixer_gump.cc $(EXULT_FLX)

data/Makefile.am

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ EXULT_BG_FLX_OBJECTS = \
5858
bg/blends.dat \
5959
bg/container.dat \
6060
bg/autonotes.txt \
61-
bg/intro_hand.shp
61+
bg/intro_hand.shp \
62+
bg/gump_area_info.txt
6263

6364
EXULT_BG_INTROSFX_MT32_OBJECTS = \
6465
bg/introsfx_mt.in \
@@ -111,7 +112,8 @@ EXULT_SI_FLX_OBJECTS = \
111112
si/ext_intro_si01.ogg \
112113
si/ext_intro_sanctum1.flc \
113114
si/ext_intro_sanctum2.flc \
114-
si/ext_intro_sanctum3.flc
115+
si/ext_intro_sanctum3.flc \
116+
si/gump_area_info.txt
115117

116118
EXULT_BG_PAPERDOL_VGA_OBJECTS = \
117119
bg/amulets.shp \

data/bg/flx.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ container.dat
1414
autonotes.txt
1515
intro_hand.shp
1616
introsfx_mt32.flx
17-
introsfx_sb.flx
17+
introsfx_sb.flx
18+
gump_area_info.txt

data/bg/gump_area_info.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# This file is used to set the Object area of each gump and the checkmark location
2+
# Gump::set_object_area uses this to override the default values defined in the c++ code
3+
# Exult will try to load this file from static and from patch so it can be used in mods
4+
5+
#Format:
6+
#Shape in Gumps.vga: Area X, Area Y, Area W, Area H, Check X, Check Y
7+
8+
# gumps/box
9+
0: 46, 28, 74, 32, 8, 56
10+
#crate
11+
1: 50, 20, 80, 24, 8, 64
12+
#barrel
13+
8: 32, 32, 40, 40, 12, 124
14+
#bag"
15+
9:48, 20, 66, 44, 8, 66
16+
#backpack
17+
10: 36, 36, 85, 40, 8, 62
18+
#basket
19+
11: 42, 32, 70, 26, 8, 56
20+
#chest
21+
22: 40, 18, 60, 37, 8, 46
22+
#shipshold
23+
26: 38, 10, 82, 80, 8, 92
24+
#drawer
25+
27: 36, 12, 70, 26, 8, 46
26+
#body
27+
53: 36, 46, 84, 40, 8, 70

data/si/flx.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ ext_intro_r.xmi
1818
ext_intro_si01.ogg
1919
ext_intro_sanctum1.flc
2020
ext_intro_sanctum2.flc
21-
ext_intro_sanctum3.flc
21+
ext_intro_sanctum3.flc
22+
gump_area_info.txt

data/si/gump_area_info.txt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This file is used to set the Object area of each gump and the checkmark location
2+
# Gump::set_object_area uses this to override the default values defined in the c++ code
3+
# Exult will try to load this file from static and from patch so it can be used in mods
4+
5+
#Format:
6+
#Shape in Gumps.vga: Area X, Area Y, Area W, Area H, Check X, Check Y
7+
8+
# gumps/box
9+
0: 46, 28, 74, 32, 8, 56
10+
#crate
11+
1: 50, 20, 80, 24, 8, 64
12+
#barrel
13+
8: 32, 32, 40, 40, 12, 124
14+
#bag"
15+
9:48, 20, 66, 44, 8, 66
16+
#backpack
17+
10: 36, 36, 85, 40, 8, 62
18+
#basket
19+
11: 42, 32, 70, 26, 8, 56
20+
#chest
21+
18: 40, 18, 60, 37, 8, 46
22+
#shipshold
23+
21: 38, 10, 82, 80, 8, 92
24+
#drawer
25+
22: 36, 12, 70, 26, 8, 46
26+
"tree
27+
64: 62, 22, 36, 44, 9, 100
28+
#body
29+
48: 36, 46, 84, 40, 8, 70

fnames.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@
172172

173173
#define PATCH_KEYS "<PATCH>/patchkeys.txt"
174174

175+
#define GUMP_AREA_INFO "<STATIC>/gump_area_info.txt"
176+
#define PATCH_GUMP_AREA_INFO "<PATCH>/gump_area_info.txt"
177+
175178
#define EXULT_SERVER "<GAMEDAT>/exultserver"
176179

177180
#define NUM_FONTS (20)

gumps/Gump.cc

Lines changed: 120 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3131
#include "ignore_unused_variable_warning.h"
3232
#include "misc_buttons.h"
3333
#include "objiter.h"
34+
#include "msgfile.h"
35+
#include "U7obj.h"
36+
#include "utils.h"
37+
#include "data/exult_bg_flx.h"
38+
#include "data/exult_si_flx.h"
39+
#include "databuf.h"
3440

3541
#include <algorithm>
42+
#include <cctype>
43+
#include <charconv>
44+
45+
std::unique_ptr<Text_msg_file_reader> Gump::gump_area_info;
3646

3747
/*
3848
* Create a gump.
@@ -126,9 +136,117 @@ void Gump::set_pos(int newx, int newy) { // Set new spot on screen.
126136
* Sets object area and creates checkmark button
127137
*/
128138

129-
void Gump::set_object_area(const TileRect& area, int checkx, int checky) {
139+
static bool read_int_and_advance(std::string_view& line, int& val)
140+
{
141+
// Remove whitspace from start
142+
while (line.size() && std::isspace(line.front())) {
143+
line.remove_prefix(1);
144+
}
145+
146+
147+
if (!line.size()) {
148+
return false;
149+
}
150+
151+
// find the comma or end
152+
size_t comma = line.find(',', 0);
153+
if (comma == line.npos) {
154+
comma = line.size();
155+
}
156+
auto sub = line.substr(0, comma );
157+
158+
// remove white space at end of subsctring befor comma
159+
while (sub.size() && std::isspace(sub.back())) {
160+
sub.remove_suffix(1);
161+
}
162+
163+
if (!sub.size()) {
164+
return false;
165+
}
166+
167+
auto res
168+
= std::from_chars(sub.data(), sub.data() + sub.size(), val, 10);
169+
if (res.ptr != sub.data() + sub.size()) {
170+
return false;
171+
}
172+
173+
if (comma+1 >= line.size()) {
174+
line = std::string_view();
175+
} else {
176+
line = line.substr(comma+1);
177+
}
178+
179+
return true;
180+
}
181+
182+
void Gump::set_object_area(
183+
TileRect area, int checkx, int checky, bool set_check) {
184+
185+
if (!gump_area_info) {
186+
File_spec flx;
187+
if (GAME_BG) {
188+
flx = File_spec(
189+
BUNDLE_CHECK(BUNDLE_EXULT_BG_FLX, EXULT_BG_FLX),
190+
EXULT_BG_FLX_GUMP_AREA_INFO_TXT);
191+
}
192+
else if (GAME_SI) {
193+
flx = File_spec(
194+
BUNDLE_CHECK(BUNDLE_EXULT_SI_FLX, EXULT_SI_FLX),
195+
EXULT_SI_FLX_GUMP_AREA_INFO_TXT);
196+
}
197+
198+
199+
IExultDataSource datasource(
200+
flx, GUMP_AREA_INFO, PATCH_GUMP_AREA_INFO,0);
201+
gump_area_info = std::make_unique<Text_msg_file_reader>(datasource);
202+
203+
}
204+
205+
// if we sucesfully read it try to use it
206+
if (gump_area_info && get_shapenum() >= 0 && get_shapefile()==SF_GUMPS_VGA)
207+
{
208+
auto section = gump_area_info->get_global_section();
209+
if (size_t(get_shapenum()) < section.size())
210+
{
211+
auto sv = section[(get_shapenum())];
212+
if (sv.size())
213+
{
214+
// Read 6 ints
215+
int vals[6];
216+
bool success = true;
217+
218+
for (int&v : vals)
219+
{
220+
if (!(success = read_int_and_advance(sv, v))) {
221+
break;
222+
}
223+
224+
}
225+
226+
// succeeded in parsing line, so update the values
227+
if (success)
228+
{
229+
area.x = vals[0];
230+
area.y = vals[1];
231+
area.w = vals[2];
232+
area.h = vals[3];
233+
checkx = vals[4];
234+
checky = vals[5];
235+
236+
}
237+
else
238+
{
239+
std::cerr << "Failed to parse line in "
240+
"gump_area_info.txt for gump "
241+
<< get_shapenum() << std::endl;
242+
}
243+
}
244+
}
245+
246+
}
130247
object_area = area;
131-
if (std::none_of(elems.begin(), elems.end(), [](auto elem) -> bool {
248+
if (set_check && std::none_of(
249+
elems.begin(), elems.end(), [](auto elem) -> bool {
132250
return dynamic_cast<Checkmark_button*>(elem) != nullptr;
133251
})) {
134252
checkx += 16;

gumps/Gump.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2424
#include "rect.h"
2525
#include "shapeid.h"
2626

27+
2728
#include <vector>
2829

2930
class Checkmark_button;
@@ -117,18 +118,21 @@ class Gump_Base : public ShapeID, public Paintable {
117118
* A gump contains an image of an open container from "gumps.vga".
118119
*/
119120
class Gump : nonreplicatable, public Gump_Base {
120-
protected:
121+
static std::unique_ptr<class Text_msg_file_reader> gump_area_info;
122+
123+
protected:
121124
Gump() = delete;
122125
Container_game_object* container; // What this gump shows.
123126
int x, y; // Location on screen.
124127
TileRect object_area{}; // Area to paint objects in, rel. to
125128
using Gump_elems = std::vector<Gump_widget*>;
126129
Gump_elems elems; // Includes 'checkmark'.
127130
bool handles_kbd; // Kbd can be handled by gump.
128-
void set_object_area(const TileRect& area, int checkx, int checky);
131+
void set_object_area(
132+
TileRect area, int checkx, int checky, bool set_check=true);
129133

130134
void set_object_area(const TileRect& area) {
131-
object_area = area;
135+
set_object_area(area, 0, 0, false);
132136
}
133137

134138
void add_elem(Gump_widget* w) {

msvcstuff/vs2019/data/data.vcxproj

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,10 @@
182182
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RelativeDir)../exult_bg_flx.h;%(RelativeDir)../exult_bg.flx;%(Outputs)</Outputs>
183183
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RelativeDir)../exult_bg_flx.h;%(RelativeDir)../exult_bg.flx;%(Outputs)</Outputs>
184184
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RelativeDir)../exult_bg_flx.h;%(RelativeDir)../exult_bg.flx;%(Outputs)</Outputs>
185-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx</AdditionalInputs>
186-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx</AdditionalInputs>
187-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx</AdditionalInputs>
188-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx</AdditionalInputs>
185+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
186+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
187+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
188+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RelativeDir)BGmap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)u7menupal.pal;%(RelativeDir)bg_paperdol.vga;%(RelativeDir)bg_mr_faces.vga;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)intro_hand.shp;%(RelativeDir)introsfx_mt32.flx;%(RelativeDir)introsfx_sb.flx;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
189189
</CustomBuild>
190190
</ItemGroup>
191191
<ItemGroup>
@@ -263,18 +263,18 @@
263263
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Building exult_si.flx</Message>
264264
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Building exult_si.flx</Message>
265265
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Building exult_si.flx</Message>
266-
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
267-
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
268-
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
269-
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
270266
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RelativeDir)../exult_si_flx.h;%(RelativeDir)../exult_si.flx;%(Outputs)</Outputs>
271267
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RelativeDir)../exult_si_flx.h;%(RelativeDir)../exult_si.flx;%(Outputs)</Outputs>
272268
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RelativeDir)../exult_si_flx.h;%(RelativeDir)../exult_si.flx;%(Outputs)</Outputs>
273269
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RelativeDir)../exult_si_flx.h;%(RelativeDir)../exult_si.flx;%(Outputs)</Outputs>
274-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg</AdditionalInputs>
275-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg</AdditionalInputs>
276-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg</AdditionalInputs>
277-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg</AdditionalInputs>
270+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg;%(RelativeDir)ext_intro_sanctum1.flc;%(RelativeDir)ext_intro_sanctum2.flc;%(RelativeDir)ext_intro_sanctum3.flc;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
271+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg;%(RelativeDir)ext_intro_sanctum1.flc;%(RelativeDir)ext_intro_sanctum2.flc;%(RelativeDir)ext_intro_sanctum3.flc;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
272+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg;%(RelativeDir)ext_intro_sanctum1.flc;%(RelativeDir)ext_intro_sanctum2.flc;%(RelativeDir)ext_intro_sanctum3.flc;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
273+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RelativeDir)SImap.shp;%(RelativeDir)defaultkeys.txt;%(RelativeDir)bodies.txt;%(RelativeDir)paperdol_info.txt;%(RelativeDir)shape_info.txt;%(RelativeDir)shape_files.txt;%(RelativeDir)avatar_data.txt;%(RelativeDir)blends.dat;%(RelativeDir)container.dat;%(RelativeDir)autonotes.txt;%(RelativeDir)ext_intro_castle.flc;%(RelativeDir)ext_intro_ship1.flc;%(RelativeDir)ext_intro_ship2.flc;%(RelativeDir)ext_intro_pil1.flc;%(RelativeDir)ext_intro_a.xmi;%(RelativeDir)ext_intro_r.xmi;%(RelativeDir)ext_intro_si01.ogg;%(RelativeDir)ext_intro_sanctum1.flc;%(RelativeDir)ext_intro_sanctum2.flc;%(RelativeDir)ext_intro_sanctum3.flc;%(RelativeDir)gump_area_info.txt</AdditionalInputs>
274+
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
275+
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
276+
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
277+
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(OutDir)expack.exe" -i "%(RelativeDir)./%(Filename)%(Extension)"</Command>
278278
</CustomBuild>
279279
</ItemGroup>
280280
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

0 commit comments

Comments
 (0)