Subversion Repositories eduke32

Rev

Rev 4970 | Rev 4987 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4970 Rev 4977
Line 550... Line 550...
550
    "screentext",               // 370
550
    "screentext",               // 370
551
    "dynamicsoundremap",        // 371
551
    "dynamicsoundremap",        // 371
552
    "screensound",              // 372
552
    "screensound",              // 372
553
    "getmusicposition",         // 373
553
    "getmusicposition",         // 373
554
    "setmusicposition",         // 374
554
    "setmusicposition",         // 374
-
 
555
    "undefinevolume",           // 375
-
 
556
    "undefineskill",            // 376
-
 
557
    "undefinelevel",            // 377
555
    "<null>"
558
    "<null>"
556
};
559
};
557
#endif
560
#endif
558
561
559
// KEEPINSYNC with enum GameEvent_t and lunatic/con_lang.lua
562
// KEEPINSYNC with enum GameEvent_t and lunatic/con_lang.lua
Line 2217... Line 2220...
2217
    Bstrncpyz(GametypeNames[idx], name, sizeof(GametypeNames[idx]));
2220
    Bstrncpyz(GametypeNames[idx], name, sizeof(GametypeNames[idx]));
2218
    g_numGametypes = idx+1;
2221
    g_numGametypes = idx+1;
2219
}
2222
}
2220
#endif
2223
#endif
2221
2224
-
 
2225
void C_UndefineVolume(int32_t vol)
-
 
2226
{
-
 
2227
    Bassert((unsigned)vol < MAXVOLUMES);
-
 
2228
-
 
2229
    EpisodeNames[vol][0] = '\0';
-
 
2230
-
 
2231
    g_numVolumes = 0;
-
 
2232
    for (int32_t i = MAXVOLUMES-1; i >= 0; i--)
-
 
2233
    {
-
 
2234
        if (EpisodeNames[i][0])
-
 
2235
        {
-
 
2236
            g_numVolumes = i+1;
-
 
2237
            break;
-
 
2238
        }
-
 
2239
    }
-
 
2240
}
-
 
2241
-
 
2242
void C_UndefineSkill(int32_t skill)
-
 
2243
{
-
 
2244
    Bassert((unsigned)skill < MAXSKILLS);
-
 
2245
-
 
2246
    SkillNames[skill][0] = '\0';
-
 
2247
-
 
2248
    g_numSkills = 0;
-
 
2249
    for (int32_t i = MAXSKILLS-1; i >= 0; i--)
-
 
2250
    {
-
 
2251
        if (SkillNames[i][0])
-
 
2252
        {
-
 
2253
            g_numSkills = i+1;
-
 
2254
            break;
-
 
2255
        }
-
 
2256
    }
-
 
2257
}
-
 
2258
-
 
2259
void C_UndefineLevel(int32_t vol, int32_t lev)
-
 
2260
{
-
 
2261
    Bassert((unsigned)vol < MAXVOLUMES);
-
 
2262
    Bassert((unsigned)lev < MAXLEVELS);
-
 
2263
-
 
2264
    {
-
 
2265
        map_t *const map = &MapInfo[(MAXLEVELS*vol)+lev];
-
 
2266
-
 
2267
        Bfree(map->filename);
-
 
2268
        map->filename = NULL;
-
 
2269
-
 
2270
        Bfree(map->name);
-
 
2271
        map->name = NULL;
-
 
2272
-
 
2273
        map->partime = 0;
-
 
2274
        map->designertime = 0;
-
 
2275
    }
-
 
2276
}
-
 
2277
2222
LUNATIC_EXTERN int32_t C_SetDefName(const char *name)
2278
LUNATIC_EXTERN int32_t C_SetDefName(const char *name)
2223
{
2279
{
2224
    clearDefNamePtr();
2280
    clearDefNamePtr();
2225
    g_defNamePtr = dup_filename(name);
2281
    g_defNamePtr = dup_filename(name);
2226
    if (g_defNamePtr)
2282
    if (g_defNamePtr)
Line 5240... Line 5296...
5240
            g_scriptPtr--;
5296
            g_scriptPtr--;
5241
            j = 0;
5297
            j = 0;
5242
            C_NextLine();
5298
            C_NextLine();
5243
            continue;
5299
            continue;
5244
5300
-
 
5301
-
 
5302
        case CON_UNDEFINELEVEL:
-
 
5303
            g_scriptPtr--;
-
 
5304
            C_GetNextValue(LABEL_DEFINE);
-
 
5305
            g_scriptPtr--;
-
 
5306
            j = *g_scriptPtr;
-
 
5307
            C_GetNextValue(LABEL_DEFINE);
-
 
5308
            g_scriptPtr--;
-
 
5309
            k = *g_scriptPtr;
-
 
5310
-
 
5311
            if (EDUKE32_PREDICT_FALSE((unsigned)j > MAXVOLUMES-1))
-
 
5312
            {
-
 
5313
                initprintf("%s:%d: error: volume number exceeds maximum volume count.\n",g_szScriptFileName,g_lineNumber);
-
 
5314
                g_numCompilerErrors++;
-
 
5315
                C_NextLine();
-
 
5316
                continue;
-
 
5317
            }
-
 
5318
            if (EDUKE32_PREDICT_FALSE((unsigned)k > MAXLEVELS-1))
-
 
5319
            {
-
 
5320
                initprintf("%s:%d: error: level number exceeds maximum number of levels per episode.\n",g_szScriptFileName,g_lineNumber);
-
 
5321
                g_numCompilerErrors++;
-
 
5322
                C_NextLine();
-
 
5323
                continue;
-
 
5324
            }
-
 
5325
-
 
5326
            C_UndefineLevel(j, k);
-
 
5327
            continue;
-
 
5328
-
 
5329
        case CON_UNDEFINESKILL:
-
 
5330
            g_scriptPtr--;
-
 
5331
-
 
5332
            C_GetNextValue(LABEL_DEFINE);
-
 
5333
            g_scriptPtr--;
-
 
5334
            j = *g_scriptPtr;
-
 
5335
-
 
5336
            if (EDUKE32_PREDICT_FALSE((unsigned)j >= MAXSKILLS))
-
 
5337
            {
-
 
5338
                initprintf("%s:%d: error: skill number exceeds maximum skill count %d.\n",
-
 
5339
                           g_szScriptFileName,g_lineNumber, MAXSKILLS);
-
 
5340
                g_numCompilerErrors++;
-
 
5341
                C_NextLine();
-
 
5342
                continue;
-
 
5343
            }
-
 
5344
-
 
5345
            C_UndefineSkill(j);
-
 
5346
            continue;
-
 
5347
-
 
5348
        case CON_UNDEFINEVOLUME:
-
 
5349
            g_scriptPtr--;
-
 
5350
-
 
5351
            C_GetNextValue(LABEL_DEFINE);
-
 
5352
            g_scriptPtr--;
-
 
5353
            j = *g_scriptPtr;
-
 
5354
-
 
5355
            if (EDUKE32_PREDICT_FALSE((unsigned)j > MAXVOLUMES-1))
-
 
5356
            {
-
 
5357
                initprintf("%s:%d: error: volume number exceeds maximum volume count.\n",
-
 
5358
                    g_szScriptFileName,g_lineNumber);
-
 
5359
                g_numCompilerErrors++;
-
 
5360
                C_NextLine();
-
 
5361
                continue;
-
 
5362
            }
-
 
5363
-
 
5364
            C_UndefineVolume(j);
-
 
5365
            continue;
-
 
5366
5245
        case CON_DEFINEVOLUMENAME:
5367
        case CON_DEFINEVOLUMENAME:
5246
            g_scriptPtr--;
5368
            g_scriptPtr--;
5247
5369
5248
            C_GetNextValue(LABEL_DEFINE);
5370
            C_GetNextValue(LABEL_DEFINE);
5249
            g_scriptPtr--;
5371
            g_scriptPtr--;