Mercurial > hg > dmlib
changeset 729:e09b7fbedf8c
Merged.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 21 Apr 2013 18:34:13 +0300 |
parents | 867fc7f205a8 (current diff) 9b39c0a3f7b7 (diff) |
children | 3d813c81f33c |
files | |
diffstat | 6 files changed, 106 insertions(+), 97 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile.gen Sun Apr 21 18:34:06 2013 +0300 +++ b/Makefile.gen Sun Apr 21 18:34:13 2013 +0300 @@ -417,7 +417,7 @@ @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf -$(TESTS_BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(DMLIB_A) +$(TESTS_BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(OBJPATH)dmevalw.o $(DMLIB_A) @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm @@ -477,7 +477,7 @@ @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm -$(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(DMLIB_A) +$(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(OBJPATH)dmevalw.o $(DMLIB_A) @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
--- a/dmeval.c Sun Apr 21 18:34:06 2013 +0300 +++ b/dmeval.c Sun Apr 21 18:34:13 2013 +0300 @@ -1,5 +1,4 @@ #include "dmeval.h" -#include <stdio.h> #include <math.h> #define DM_MAX_ID_LEN 16 @@ -657,83 +656,6 @@ } -static const char *dm_oper_names[OP_NOPERS] = -{ - "NONE", - "+", - "-", - "*", - "/", - "%", - - "<<", - ">>", - - "&", - "|", - "^", - - "FUNC", - "VAR", - "SUBEXPR", - "CONST" -}; - - -static void dm_print_optree_do(FILE *out, DMEvalContext *ev, DMEvalNode *node, const int level) -{ - int i; - while (node != NULL) - { - switch (node->op) - { - case OP_FUNC: - fprintf(out, "%s(", node->id != NULL ? node->id->name : "?ERROR"); - for (i = 0; i < node->id->nargs; i++) - { - dm_print_optree_do(out, ev, node->args[i], level + 1); - if (i < node->id->nargs - 1) - fprintf(out, ","); - } - fprintf(out, ")"); - break; - - case OP_VAR: - fprintf(out, "%s", node->id != NULL ? node->id->name : "?ERROR"); - break; - - case OP_CONST: - fprintf(out, "%.1f", node->val); - break; - - case OP_SUBEXPR: - fprintf(out, "("); - if (node->subexpr != NULL) - dm_print_optree_do(out, ev, node->subexpr, level + 1); - else - fprintf(out, "?ERROR"); - fprintf(out, ")"); - break; - - default: - if (node->op > 0 && node->op < OP_NOPERS) - fprintf(out, "%s", dm_oper_names[node->op]); - else - fprintf(out, "ERROR!"); - break; - } - node = node->next; - } -} - - -void dm_print_optree(FILE *out, DMEvalContext *ev, DMEvalNode *node) -{ - dm_print_optree_do(out, ev, node, 0); - fprintf(out, "\n"); -} - - /* operator precedence: HIGHEST
--- a/dmeval.h Sun Apr 21 18:34:06 2013 +0300 +++ b/dmeval.h Sun Apr 21 18:34:13 2013 +0300 @@ -93,7 +93,5 @@ int dm_eval_reorder(DMEvalContext *ev, DMEvalNode *node, DMEvalNode **result); int dm_eval_exec(DMEvalContext *ev, DMEvalNode *tree, DMValue *presult); -void dm_print_optree(FILE *out, DMEvalContext *ev, DMEvalNode *node); - #endif // DMEVAL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dmevalw.c Sun Apr 21 18:34:13 2013 +0300 @@ -0,0 +1,78 @@ +#include "dmevalw.h" + + +static const char *dm_oper_names[OP_NOPERS] = +{ + "NONE", + "+", + "-", + "*", + "/", + "%", + + "<<", + ">>", + + "&", + "|", + "^", + + "FUNC", + "VAR", + "SUBEXPR", + "CONST" +}; + + +static void dm_print_optree_do(FILE *out, DMEvalContext *ev, DMEvalNode *node, const int level) +{ + int i; + while (node != NULL) + { + switch (node->op) + { + case OP_FUNC: + fprintf(out, "%s(", node->id != NULL ? node->id->name : "?ERROR"); + for (i = 0; i < node->id->nargs; i++) + { + dm_print_optree_do(out, ev, node->args[i], level + 1); + if (i < node->id->nargs - 1) + fprintf(out, ","); + } + fprintf(out, ")"); + break; + + case OP_VAR: + fprintf(out, "%s", node->id != NULL ? node->id->name : "?ERROR"); + break; + + case OP_CONST: + fprintf(out, "%.1f", node->val); + break; + + case OP_SUBEXPR: + fprintf(out, "("); + if (node->subexpr != NULL) + dm_print_optree_do(out, ev, node->subexpr, level + 1); + else + fprintf(out, "?ERROR"); + fprintf(out, ")"); + break; + + default: + if (node->op > 0 && node->op < OP_NOPERS) + fprintf(out, "%s", dm_oper_names[node->op]); + else + fprintf(out, "ERROR!"); + break; + } + node = node->next; + } +} + + +void dm_print_optree(FILE *out, DMEvalContext *ev, DMEvalNode *node) +{ + dm_print_optree_do(out, ev, node, 0); + fprintf(out, "\n"); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dmevalw.h Sun Apr 21 18:34:13 2013 +0300 @@ -0,0 +1,10 @@ +#ifndef DMEVALW_H +#define DMEVALW_H + +#include "dmeval.h" +#include <stdio.h> + +void dm_print_optree(FILE *out, DMEvalContext *ev, DMEvalNode *node); + + +#endif // DMEVALW_H
--- a/editor/edmain.cpp Sun Apr 21 18:34:06 2013 +0300 +++ b/editor/edmain.cpp Sun Apr 21 18:34:13 2013 +0300 @@ -45,13 +45,13 @@ } #endif #ifdef DM_USE_TREMOR - if (engine->audioPos + len >= engine->audioRes->rdataSize) + if (engine->audioPos + len >= engine->audioRes->resSize) { engine->exitFlag = true; } else { - memcpy(stream, (Uint8 *) engine->audioRes->rdata + engine->audioPos, len); + memcpy(stream, (Uint8 *) engine->audioRes->resData + engine->audioPos, len); engine->audioPos += len; } #endif @@ -62,8 +62,9 @@ { int err; - if ((err = dmres_init(&engine.resources, engine.optPackFilename, engine.optDataPath, - engine.optResFlags, engineClassifier)) != DMERR_OK) + if ((err = dmResourcesInit( + &engine.resources, engine.optPackFilename, engine.optDataPath, + engine.optResFlags, engineClassifier)) != DMERR_OK) { dmError("Could not initialize resource manager: %d, %s.\n", err, dmErrorStr(err)); @@ -74,20 +75,20 @@ int DemoEditor::loadResources() { - int err, loaded, total; - err = dmres_preload(engine.resources, true, &loaded, &total); + int err, loaded = 0, total = 0; + BOOL first = TRUE; - while ((err = dmres_preload(engine.resources, false, &loaded, &total)) == DMERR_PROGRESS) + do { +/* // Show a nice progress bar while loading - if (total > 0 && (loaded % 2) == 0) - { -/* - if ((err = engineShowProgress(loaded, total)) != DMERR_OK) - return err; + if ((err = engineShowProgress(loaded, total)) != DMERR_OK) + return err; */ - } + err = dmResourcesPreload(engine.resources, first, &loaded, &total); + first = FALSE; } + while (err == DMERR_PROGRESS); return DMERR_OK; } @@ -259,7 +260,7 @@ if (engine.audioRes != NULL) { timelineAudioTrack->setWaveform( - engine.audioRes->rdata, engine.audioRes->rdataSize, + engine.audioRes->resData, engine.audioRes->resSize, engine.optAfmt.format, engine.optAfmt.channels, engine.optAfmt.freq); } @@ -356,7 +357,7 @@ delete currTimeline; dmFreePreparedTimelineData(engine.ptl); engineShutdownEffects(&engine); - dmres_close(engine.resources); + dmResourcesClose(engine.resources); if (engine.demoShutdown != NULL) engine.demoShutdown(&engine);