diff --git a/polymer/eduke32/build/include/build.h b/polymer/eduke32/build/include/build.h index 953c96cff..084de9190 100644 --- a/polymer/eduke32/build/include/build.h +++ b/polymer/eduke32/build/include/build.h @@ -364,6 +364,17 @@ typedef struct Tracker(Wall, int16_t) extra; } walltypev7; +typedef struct +{ + int32_t x, y; + int16_t point2, nextwall, nextsector; + uint16_t cstat; + int16_t picnum, overpicnum; + int8_t shade; + uint8_t pal, xrepeat, yrepeat, xpanning, ypanning; + uint16_t lotag, hitag; + int16_t extra; +} twalltype; enum { SPR_XFLIP = 4, @@ -1268,7 +1279,7 @@ int32_t sectorofwall_noquick(int16_t theline); int32_t loopnumofsector(int16_t sectnum, int16_t wallnum); void setslope(int32_t sectnum, int32_t cf, int16_t slope); -int32_t lineintersect(int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t x3, +int32_t lintersect(int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t x3, int32_t y3, int32_t x4, int32_t y4, int32_t *intx, int32_t *inty, int32_t *intz); int32_t rayintersect(int32_t x1, int32_t y1, int32_t z1, int32_t vx, int32_t vy, int32_t vz, int32_t x3, diff --git a/polymer/eduke32/build/src/build.c b/polymer/eduke32/build/src/build.c index 7a0e4c6b1..1d382181b 100644 --- a/polymer/eduke32/build/src/build.c +++ b/polymer/eduke32/build/src/build.c @@ -192,8 +192,8 @@ typedef struct int16_t *ynextwall; // [numwalls][2] #endif sectortype *sector; - walltype *wall; - spritetype *sprite; + twalltype *wall; + tspritetype *sprite; } mapinfofull_t; int32_t g_doScreenShot; @@ -1605,7 +1605,7 @@ static int32_t backup_highlighted_map(mapinfofull_t *mapinfo) // allocate temp storage mapinfo->sector = (sectortype *)Xmalloc(highlightsectorcnt * sizeof(sectortype)); - mapinfo->wall = (walltype *)Xmalloc(tmpnumwalls * sizeof(walltype)); + mapinfo->wall = (twalltype *)Xmalloc(tmpnumwalls * sizeof(walltype)); #ifdef YAX_ENABLE if (mapinfo->numyaxbunches > 0) @@ -1621,7 +1621,7 @@ static int32_t backup_highlighted_map(mapinfofull_t *mapinfo) if (tmpnumsprites>0) { - mapinfo->sprite = (spritetype *)Xmalloc(tmpnumsprites * sizeof(spritetype)); + mapinfo->sprite = (tspritetype *)Xmalloc(tmpnumsprites * sizeof(spritetype)); } else { @@ -1838,7 +1838,7 @@ static int32_t restore_highlighted_map(mapinfofull_t *mapinfo, int32_t forreal) // insert sprites for (i=0; inumsprites; i++) { - const spritetype *srcspr = &mapinfo->sprite[i]; + const tspritetype *srcspr = &mapinfo->sprite[i]; int32_t sect = onumsectors + srcspr->sectnum; j = insertsprite(sect, srcspr->statnum); @@ -2245,9 +2245,9 @@ void fade_editor_screen(int32_t keepcol) static void copy_some_wall_members(int16_t dst, int16_t src, int32_t reset_some) { - static walltype nullwall; - walltype *dstwal=&wall[dst]; - const walltype *srcwal = src >= 0 ? &wall[src] : &nullwall; + static twalltype nullwall; + walltype * const dstwal = &wall[dst]; + const twalltype *srcwal = src >= 0 ? (twalltype *)&wall[src] : &nullwall; memset(&nullwall, 0, sizeof(nullwall)); nullwall.yrepeat = 8; @@ -2472,7 +2472,7 @@ static int32_t trace_loop(int32_t j, uint8_t *visitedwall, int16_t *ignore_ret, // Context that needs special treatment: suckwall, splitsect, splitstartwall static int32_t backup_drawn_walls(int32_t restore) { - static walltype *tmpwall; + static twalltype *tmpwall; // back up if (restore==0) @@ -2485,7 +2485,7 @@ static int32_t backup_drawn_walls(int32_t restore) return 2; Bfree(tmpwall); - tmpwall = (walltype *)Xmalloc((newnumwalls-numwalls) * sizeof(walltype)); + tmpwall = (twalltype *)Xmalloc((newnumwalls-numwalls) * sizeof(walltype)); ovh.bak_wallsdrawn = newnumwalls-numwalls; @@ -2636,8 +2636,8 @@ static int32_t sectors_components(int16_t hlsectcnt, const int16_t *hlsector, in static int cmpgeomwal1(const void *w1, const void *w2) { - const walltype *wal1 = &wall[*(int16_t *)w1]; - const walltype *wal2 = &wall[*(int16_t *)w2]; + twalltype const * const wal1 = (twalltype *)&wall[*(int16_t *)w1]; + twalltype const * const wal2 = (twalltype *)&wall[*(int16_t *)w2]; if (wal1->x == wal2->x) return wal1->y - wal2->y; @@ -2944,7 +2944,7 @@ static int32_t lineintersect2v(const vec2_t *p1, const vec2_t *p2, // line segm vec2_t *pint) { int32_t intz; - return lineintersect(p1->x, p1->y, 0, p2->x, p2->y, 0, + return lintersect(p1->x, p1->y, 0, p2->x, p2->y, 0, q1->x, q1->y, q2->x, q2->y, &pint->x, &pint->y, &intz); } @@ -3431,7 +3431,7 @@ void overheadeditor(void) i = newnumwalls-1; for (; i>=0; i--) { - const walltype *wal = &wall[i]; + walltype const * const wal = &wall[i]; if (j>=0 && sector[j].wallptr > i) j--; @@ -3605,7 +3605,7 @@ void overheadeditor(void) if ((highlight[i]&16384)==0) { - const walltype *wal = &wall[highlight[i]]; + walltype const * const wal = &wall[highlight[i]]; const int32_t p2=wal->point2, hlp=(show2dwall[p2>>3]&(1<<(p2&7))); vec3_t v1 = { x, y, 0 }, v2 = { wall[p2].x, wall[p2].y, 0 }; @@ -3799,7 +3799,7 @@ void overheadeditor(void) int32_t startofloop, endofloop; int32_t numtoswap = -1; int32_t w=0; - walltype tempwall; + twalltype tempwall; startofloop = startwall = sector[highlightsector[i]].wallptr; endofloop = endwall = startwall+sector[highlightsector[i]].wallnum-1; @@ -5067,7 +5067,7 @@ end_yax: ; sector[refsect].wallnum += n; if (refsect != numsectors-1) { - walltype *tmpwall = (walltype *)Xmalloc(n * sizeof(walltype)); + twalltype *tmpwall = (twalltype *)Xmalloc(n * sizeof(walltype)); int16_t *tmponw = (int16_t *)Xmalloc(n * sizeof(int16_t)); for (m=0; mpoint2]; - wal1p2 = &wall[wal1->point2]; + wal0p2 = (twalltype *)&wall[wal0->point2]; + wal1p2 = (twalltype *)&wall[wal1->point2]; if (k==0) { @@ -5935,14 +5935,14 @@ end_point_dragging: { pos.x = wal0->x + (wal0p2->x - wal0->x)/4; pos.y = wal0->y + (wal0p2->y - wal0->y)/4; - pos.z = getflorzofslope(sectorofwall(wal0-wall), pos.x, pos.y); + pos.z = getflorzofslope(sectorofwall(wal0-(twalltype *)wall), pos.x, pos.y); if (!delayerr) message("Outer wall coordinates must coincide for both components"); - OSD_Printf("wal0:%d (%d,%d)--(%d,%d)\n",(int)(wal0-wall), - TrackerCast(wal0->x),TrackerCast(wal0->y), TrackerCast(wal0p2->x),TrackerCast(wal0p2->y)); - OSD_Printf("wal1:%d (%d,%d)--(%d,%d)\n",(int)(wal1-wall), - TrackerCast(wal1->x),TrackerCast(wal1->y), TrackerCast(wal1p2->x),TrackerCast(wal1p2->y)); + OSD_Printf("wal0:%d (%d,%d)--(%d,%d)\n",(int)(wal0-(twalltype *)wall), + wal0->x,wal0->y, wal0p2->x,wal0p2->y); + OSD_Printf("wal1:%d (%d,%d)--(%d,%d)\n",(int)(wal1-(twalltype *)wall), + wal1->x,wal1->y, wal1p2->x,wal1p2->y); goto end_join_sectors; } @@ -10250,14 +10250,12 @@ void showsectordata(int16_t sectnum, int16_t small) void showwalldata(int16_t wallnum, int16_t small) { - walltype *wal; + walltype const * const wal = &wall[wallnum]; int32_t sec; char snotbuf[80]; int32_t col=0; //, row = 0; int32_t color = small ? whitecol : editorcolors[11]; - wal = &wall[wallnum]; - if (small) { _printmessage16("^10Wall %d %s ^O(F8 to edit)", wallnum, diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index 6117e2c75..8d6d644d5 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -9853,7 +9853,7 @@ int32_t ExtPostStartupWindow(void) } if (ReadPaletteTable()) - return -1; + return 0; InitCustomColors(); diff --git a/polymer/eduke32/source/gameexec.c b/polymer/eduke32/source/gameexec.c index 24673df84..957be8736 100644 --- a/polymer/eduke32/source/gameexec.c +++ b/polymer/eduke32/source/gameexec.c @@ -2986,7 +2986,7 @@ nullquote: int32_t intx, inty, intz, ret; if (tw==CON_LINEINTERSECT) - ret = lineintersect(x1, y1, z1, x2, y2, z2, x3, y3, x4, y4, &intx, &inty, &intz); + ret = lintersect(x1, y1, z1, x2, y2, z2, x3, y3, x4, y4, &intx, &inty, &intz); else ret = rayintersect(x1, y1, z1, x2, y2, z2, x3, y3, x4, y4, &intx, &inty, &intz); diff --git a/polymer/eduke32/source/m32exec.c b/polymer/eduke32/source/m32exec.c index 33d7ad09d..728b1ec05 100644 --- a/polymer/eduke32/source/m32exec.c +++ b/polymer/eduke32/source/m32exec.c @@ -1820,7 +1820,7 @@ badindex: int32_t intx, inty, intz, ret; if (tw==CON_LINEINTERSECT) - ret = lineintersect(x1, y1, z1, x2, y2, z2, x3, y3, x4, y4, &intx, &inty, &intz); + ret = lintersect(x1, y1, z1, x2, y2, z2, x3, y3, x4, y4, &intx, &inty, &intz); else ret = rayintersect(x1, y1, z1, x2, y2, z2, x3, y3, x4, y4, &intx, &inty, &intz);