@@ -49,7 +49,7 @@ function EventScriptServer_save(%brick)
49
49
{
50
50
% paramField = getField ( % paramList , % n ) ;
51
51
% param = % brick . eventOutputParameter [ % i , % n + 1 ] ;
52
-
52
+
53
53
// Translate parameter
54
54
switch $ ( getWord ( % paramField , 0 ) )
55
55
{
@@ -65,9 +65,9 @@ function EventScriptServer_save(%brick)
65
65
% param = % param ;
66
66
case "datablock" :
67
67
if ( isObject ( % param ) )
68
- % param = % param . getName ( ) ;
68
+ % param = % param . uiName ;
69
69
else
70
- % param = - 1 ;
70
+ % param = "" ;
71
71
case "vector" :
72
72
% param = % param ;
73
73
case "list" :
@@ -193,11 +193,11 @@ function EventScriptServer_load(%brick, %script)
193
193
% param = getField ( % params , % n ) ;
194
194
195
195
// Translate parameter
196
- switch $ ( getWord ( % paramField , 0 ) )
196
+ switch $ ( strlwr ( getWord ( % paramField , 0 ) ) )
197
197
{
198
198
case "int ":
199
199
% param = atoi ( % param ) ;
200
- case "intList ":
200
+ case "intlist ":
201
201
% count = getWordcount ( % paramField ) ;
202
202
for ( % m = 0 ; % m < % count ; % m ++ )
203
203
{
@@ -215,10 +215,45 @@ function EventScriptServer_load(%brick, %script)
215
215
case "string" :
216
216
% param = % param ;
217
217
case "datablock" :
218
+ % uiName = % param ;
219
+ % type = getWord ( % paramField , 1 ) ;
220
+
221
+ switch $ ( strlwr ( % type ) )
222
+ {
223
+ case "fxbrickdata" :
224
+ % param = $uiNameTable [ % param ] ;
225
+ case "fxlightdata" :
226
+ % param = $uiNameTable_Lights [ % param ] ;
227
+ case "particleemitterdata" :
228
+ % param = $uiNameTable_Emitters [ % param ] ;
229
+ case "itemdata" :
230
+ % param = $uiNameTable_Items [ % param ] ;
231
+ case "audioprofile" :
232
+ % param = $uiNameTable_Music [ % param ] ;
233
+ if ( ! isObject ( % param ) )
234
+ % param = $uiNameTable_Sounds [ % param ] ;
235
+ case "playerdata" :
236
+ % param = $uiNameTable_Vehicle [ % param ] ;
237
+ if ( ! isObject ( % param ) )
238
+ % param = $uiNameTable_Player [ % param ] ;
239
+ case "wheeledvehicledata" :
240
+ % param = $uiNameTable_Vehicle [ % param ] ;
241
+ case "flyingvehicledata" :
242
+ % param = $uiNameTable_Vehicle [ % param ] ;
243
+ case "hovervehicledata" :
244
+ % param = $uiNameTable_Vehicle [ % param ] ;
245
+ default :
246
+ // Apparently this is also legal
247
+ % param = $uiNameTable_ [ % type @ % param ] ;
248
+ }
249
+
218
250
if ( isObject ( % param ) )
219
251
% param = % param . getID ( ) ;
220
252
else
253
+ {
254
+ warn ( "EventScriptServer_load :: Datablock uiName \" " @ % uiName @ "\" does not exist on line " @ % line ) ;
221
255
% param = - 1 ;
256
+ }
222
257
case "vector" :
223
258
% param = % param ;
224
259
case "list" :
@@ -231,7 +266,7 @@ function EventScriptServer_load(%brick, %script)
231
266
break ;
232
267
}
233
268
}
234
- case "paintColor " :
269
+ case "paintcolor " :
235
270
// Locate the closest color
236
271
% dist = 2 ;
237
272
% closest = 0 ;
0 commit comments