Skip to content

Commit

Permalink
Add basic map editing functions. When in cheat mode, you can use 'w' …
Browse files Browse the repository at this point in the history
…and 'a' to

raise and lower tile height, and use 'k' to flip tiles. You must trash your
keymap again before you can use this.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@667 4a71c877-e1ca-e34f-864e-861f7616d084
  • Loading branch information
perim committed Aug 30, 2006
1 parent fc147e9 commit d483c05
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 64 deletions.
24 changes: 6 additions & 18 deletions lib/ivis_common/piedef.h
Expand Up @@ -145,19 +145,12 @@ typedef struct
iPalette *Palette;
} TEXTUREPAGE;


typedef struct {
UDWORD flags;
SDWORD nVrts;
void *pVrts;
iTexAnim *pTexAnim;
} PIED3DPOLY;
typedef struct {
UDWORD flags;
SDWORD nVrts;
PIEVERTEX *pVrts;
iTexAnim *pTexAnim;
} PIEPOLY;
typedef struct {
UDWORD flags;
SDWORD nVrts;
PIEVERTEX *pVrts;
iTexAnim *pTexAnim;
} PIEPOLY;


/***************************************************************************/
Expand All @@ -172,8 +165,6 @@ typedef struct
*/
/***************************************************************************/
extern void pie_Draw3DShape(iIMDShape *shape, int frame, int team, UDWORD colour, UDWORD specular, int pieFlag, int pieData);
//extern void pie_Draw3DIntelShape(iIMDShape *shape, int frame, int team, UDWORD colour, UDWORD specular, int pieFlag, int pieData);
//extern void pie_Draw3DNowShape(iIMDShape *shape, int frame, int team, UDWORD col, UDWORD spec, int pieFlag, int pieFlagData);
extern void pie_DrawImage(PIEIMAGE *image, PIERECT *dest, PIESTYLE *style);
extern void pie_DrawImage270(PIEIMAGE *image, PIERECT *dest, PIESTYLE *style);

Expand All @@ -189,9 +180,6 @@ extern void pie_GetResetCounts(SDWORD* pPieCount, SDWORD* pTileCount, SDWORD* pP
extern void SetBSPObjectPos(SDWORD x,SDWORD y,SDWORD z);
extern void SetBSPCameraPos(SDWORD x,SDWORD y,SDWORD z);

//piedraw functions used in piefunc.c
extern void pie_D3DPoly(PIED3DPOLY *poly);

// PNG
BOOL pie_PNGLoadMemToBuffer(char *pngimage, iSprite *s, iColour *pal);
iBool pie_PNGLoadMem(char *pngimage, iSprite *s, iColour *pal);
Expand Down
3 changes: 0 additions & 3 deletions lib/ivis_opengl/piedraw.c
Expand Up @@ -113,9 +113,6 @@ static SDWORD polyCount = 0;
//old ivis style draw poly (low level) software mode only
static void pie_IvisPoly(SDWORD texPage, iIMDPoly *poly, BOOL bClip);
static void pie_IvisPolyFrame(SDWORD texPage, iIMDPoly *poly, SDWORD frame, BOOL bClip);
//d3d draw poly (low level) D3D mode only
void pie_D3DPoly(PIED3DPOLY *poly);
//static void pie_D3DPolyFrame(PIED3DPOLY *poly, SDWORD frame);
//pievertex draw poly (low level) //all modes from PIEVERTEX data
static void pie_PiePoly(PIEPOLY *poly, BOOL bClip);
static void pie_PiePolyFrame(PIEPOLY *poly, SDWORD frame, BOOL bClip);
Expand Down
30 changes: 14 additions & 16 deletions src/keybind.c
Expand Up @@ -381,7 +381,7 @@ void kf_ToggleOutline( void )
{
terrainOutline = TRUE;
}
// addConsoleMessage("Tile outline display toggled",DEFAULT_JUSTIFY);
addConsoleMessage("Tile outline display toggled",DEFAULT_JUSTIFY);
}

// --------------------------------------------------------------------------
Expand Down Expand Up @@ -449,40 +449,37 @@ void kf_ScreenDump( void )
/* Make all functions available */
void kf_AllAvailable( void )
{


#ifndef DEBUG
if(bMultiPlayer && (NetPlay.bComms != 0) )
{
return;
}
#endif



// addConsoleMessage("All items made available",DEFAULT_JUSTIFY);
addConsoleMessage("All items made available",DEFAULT_JUSTIFY);
makeAllAvailable();

}

// --------------------------------------------------------------------------

/* Flips the cut of a tile */
void kf_TriFlip( void )
{
iVector pos;
//MAPTILE *psTile;
// psTile = mapTile(mouseTileX,mouseTileY);
// TOGGLE_TRIFLIP(psTile);
// addConsoleMessage("Triangle flip status toggled",DEFAULT_JUSTIFY);
MAPTILE *psTile;
psTile = mapTile(mouseTileX,mouseTileY);
TOGGLE_TRIFLIP(psTile);
// addConsoleMessage("Triangle flip status toggled",DEFAULT_JUSTIFY);
/*
// This seems to be some kind of fire effect test that was added
// here of all places for some unknown reason. - Per
iVector pos;
pos.x = mouseTileX*TILE_UNITS + TILE_UNITS/2;
pos.z = mouseTileY*TILE_UNITS + TILE_UNITS/2;
pos.y = map_Height(pos.x,pos.x);
effectGiveAuxVar(50);
effectGiveAuxVarSec(10000);
addEffect(&pos,EFFECT_FIRE,FIRE_TYPE_LOCALISED,FALSE,NULL,0);

*/
}

// --------------------------------------------------------------------------
Expand Down Expand Up @@ -677,8 +674,9 @@ void kf_RaiseTile( void )
/* Lowers the tile under the mouse */
void kf_LowerTile( void )
{
// lowerTile(mouseTileX,mouseTileY);
selNextSpecifiedBuilding(REF_FACTORY);
lowerTile(mouseTileX,mouseTileY);
// Not sure why the below was here of all places - Per
// selNextSpecifiedBuilding(REF_FACTORY);
}

// --------------------------------------------------------------------------
Expand Down
3 changes: 2 additions & 1 deletion src/keyedit.c
Expand Up @@ -539,7 +539,8 @@ BOOL saveKeyMap(void)
count++);
if(keyMapSaveTable[count] == NULL)
{
debug( LOG_ERROR, "can't find keymapped function in the keymap save table!!" );
debug( LOG_ERROR, "can't find keymapped function %s in the keymap "
"save table at %d!", name, count );
abort();
}
WRITE(&count, sizeof(count));
Expand Down
37 changes: 11 additions & 26 deletions src/keymap.c
Expand Up @@ -219,7 +219,6 @@ _keymapsave keyMapSaveTable[] =
kf_ToggleRadarAllyEnemy, //enemy/ally radar color toggle
kf_ToggleSensorDisplay, // Was commented out below. moved also!. Re-enabled --Q 5/10/05
kf_AddHelpBlip, //Add a beacon
//#ifdef DEBUG // debug mappings only
kf_AllAvailable,
kf_ToggleDebugMappings,
kf_NewPlayerPower,
Expand All @@ -239,15 +238,16 @@ _keymapsave keyMapSaveTable[] =
kf_ShowMappings,
kf_GiveTemplateSet,
kf_ToggleVisibility,
// kf_ToggleSensorDisplay, // Was commented out. Re-enabled see above! --Q 5/10/05
kf_FinishResearch,
kf_LowerTile,
kf_ToggleDemoMode,
kf_ToggleGodMode,
kf_EndMissionOffWorld,
kf_SystemClose,
kf_ToggleShadows,
//#endif
kf_RaiseTile,
kf_ToggleOutline,
kf_TriFlip,

NULL // last function!
};
Expand Down Expand Up @@ -426,30 +426,24 @@ void keyInitMappings( BOOL bForceDefaults )
keyAddMapping(KEYMAP_ASSIGNABLE,KEY_IGNORE,(KEY_CODE)KEY_MAXSCAN,KEYMAP_PRESSED,kf_ToggleReopenBuildMenu,strresGetString(psStringRes,STR_BIND_REOPEN_BUILD));

// NOTE THIS!!!!!!!
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_A,KEYMAP_PRESSED,kf_AllAvailable, "Make all items available");
// available: ctrl+g, ctrl+e, ctrl+m
keyAddMapping(KEYMAP___HIDE,KEY_LSHIFT,KEY_BACKSPACE,KEYMAP_PRESSED,kf_ToggleDebugMappings, "TOGGLE Debug Mappings");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_X,KEYMAP_PRESSED,kf_FinishResearch, "Complete current research");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_SCROLLLOCK,KEYMAP_PRESSED,kf_TogglePauseMode, strresGetString(psStringRes,STR_BIND_PAUSE));
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_J,KEYMAP_PRESSED,kf_MaxScrollLimits, "Maximum scroll limits");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_K,KEYMAP_PRESSED,kf_KillSelected, "Kill Selected Unit(s)");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_M,KEYMAP_PRESSED,kf_ShowMappings, "Show all keyboard mappings - use pause!");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_N,KEYMAP_PRESSED,kf_GiveTemplateSet, "Give template set(s) to player 0 ");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_V,KEYMAP_PRESSED,kf_ToggleVisibility, "Toggle visibility");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_W,KEYMAP_DOWN,kf_LowerTile, "Lower tile height");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_W,KEYMAP_DOWN,kf_RaiseTile, "Raise tile height");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_A,KEYMAP_DOWN,kf_LowerTile, "Lower tile height");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_Y,KEYMAP_PRESSED,kf_ToggleDemoMode, "Toggles on/off DEMO Mode");
// keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_Z,KEYMAP_PRESSED,kf_ToggleSensorDisplay, "Toggle Sensor display");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_B,KEYMAP_PRESSED,kf_EndMissionOffWorld, "End Mission");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_KP_MINUS,KEYMAP_PRESSED,kf_SystemClose, "System Close (EXIT)");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_E,KEYMAP_PRESSED,kf_DebugDroidInfo, "Show unit info");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_G,KEYMAP_PRESSED,kf_ToggleGodMode, "Toggle god Mode Status");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_I,KEYMAP_PRESSED,kf_RecalcLighting, "Recalculate lighting");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_J,KEYMAP_PRESSED,kf_ToggleFog, "Toggles All fog");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_K,KEYMAP_PRESSED,kf_ToggleMistFog, "Toggle Mist Fog");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_L,KEYMAP_PRESSED,kf_ToggleFogColour, "Toggle Fog Colour Fog");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_M,KEYMAP_PRESSED,kf_AddMissionOffWorld, "Add Mission - Keep");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_N,KEYMAP_PRESSED,kf_NewPlayerPower, "New game player power");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_O,KEYMAP_PRESSED,kf_ChooseOptions, "Display Options Screen");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_P,KEYMAP_PRESSED,kf_TogglePower, "Infinite power");
keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_Q,KEYMAP_PRESSED,kf_ToggleWeather, "Trigger some weather");
keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F1,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 0");
keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F2,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 1");
Expand All @@ -459,6 +453,9 @@ void keyInitMappings( BOOL bForceDefaults )
keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F6,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 5");
keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F7,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 6");
keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F8,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 7");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_K,KEYMAP_PRESSED,kf_TriFlip, "Flip terrain triangle");
// would be nice, but does not currently work - Per
// keyAddMapping(KEYMAP__DEBUG,KEY_LCTRL,KEY_P,KEYMAP_PRESSED,kf_ToggleOutline, "Tile Outline");

saveKeyMap(); // save out the default key mappings.

Expand All @@ -468,28 +465,15 @@ void keyInitMappings( BOOL bForceDefaults )
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_F7,KEYMAP_DOWN,kf_DownGeoOffset,"Lower the geometric offset");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_F8,KEYMAP_DOWN,kf_UpDroidScale,"Increase droid Scaling");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_F9,KEYMAP_DOWN,kf_DownDroidScale,"Decrease droid Scaling");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_A,KEYMAP_PRESSED,kf_AllAvailable,"Make all avilable");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_B,KEYMAP_PRESSED,kf_MaxScrollLimits,"Allows full area map viewing");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_C,KEYMAP_PRESSED,kf_SimCloseDown,"Simulate Screen Close Down");
keyAddMapping(KEYMAP_ALWAYS,KEY_IGNORE,KEY_D,KEYMAP_PRESSED,kf_ToggleDrivingMode,"Toggle Driving Mode");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_E,KEYMAP_PRESSED,kf_ToggleDroidInfo,"Display droid info whilst tracking");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_F,KEYMAP_PRESSED,kf_TriFlip,"Flip terrain triangle");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_I,KEYMAP_PRESSED,kf_ToggleWidgets,"Toggle Widgets");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_J,KEYMAP_PRESSED,kf_ToggleRadarAllign,"Toggles Radar allignment");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_K,KEYMAP_PRESSED,kf_KillSelected,"Kill Selected Droid");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_L,KEYMAP_PRESSED,kf_RecalcLighting,"Recalculate Lighting");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_M,KEYMAP_PRESSED,kf_ShowMappings,"Show Keyboard mappings");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_N,KEYMAP_PRESSED,kf_GiveTemplateSet,"Give Template Set");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_O,KEYMAP_PRESSED,kf_ToggleOutline,"Tile Outline");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_P,KEYMAP_PRESSED,kf_TogglePower,"Infinite power");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_Q,KEYMAP_DOWN,kf_RaiseTile,"Raise tile height");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_R,KEYMAP_PRESSED,kf_ShowNumObjects,"Show number of Objects");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_S,KEYMAP_PRESSED,kf_FrameRate,"Show Frame Rate");
keyAddMapping(KEYMAP_ALWAYS,KEY_IGNORE,KEY_T,KEYMAP_PRESSED,kf_SendTextMessage,"Send Text Message");
keyAddMapping(KEYMAP_ALWAYS,KEY_IGNORE,KEY_U,KEYMAP_PRESSED,kf_ToggleBackgroundFog,"Toggle Background Fog");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_V,KEYMAP_PRESSED,kf_BuildInfo,"Build date and time");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_W,KEYMAP_DOWN,kf_LowerTile,"Lower tile height");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_X,KEYMAP_PRESSED,kf_DebugDroidInfo,"Droid Debug Info");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_Y,KEYMAP_PRESSED,kf_ToggleDemoMode,"Toggles on/off DEMO Mode");
keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_Z,KEYMAP_PRESSED,kf_ShowGridInfo,"DBPRINTF map grid coverage");
*/
Expand Down Expand Up @@ -784,7 +768,8 @@ BOOL bKeyProcessed;
{
if(keyToProcess->status==KEYMAP__DEBUG AND bDoingDebugMappings)
{
CONPRINTF(ConsoleString,(ConsoleString,"DEBUG MAPPING : %s",keyToProcess->pName));
// this got really annoying. what purpose? - Per
// CONPRINTF(ConsoleString,(ConsoleString,"DEBUG MAPPING : %s",keyToProcess->pName));
}
}
}
Expand Down

0 comments on commit d483c05

Please sign in to comment.