diff --git a/DEFAULTMAP.INI b/DEFAULTMAP.INI new file mode 100644 index 0000000..7ed02f6 --- /dev/null +++ b/DEFAULTMAP.INI @@ -0,0 +1,57 @@ +[Basic] +Name=In the thick of it +Intro= +Brief= +Win= +Lose= +Action= +Player=Greece +Theme=No theme +CarryOverMoney=0 +ToCarryOver=no +ToInherit=no +TimerInherit=no +CivEvac=no +NewINIFormat=3 +CarryOverCap=0 +EndOfGame=no +NoSpyPlane=no +SkipScore=no +OneTimeOnly=no +SkipMapSelect=no +Official=yes +FillSilos=no +TruckCrate=no +Percent=0 + +[Map] +Theater=SNOW +X=49 +Y=49 +Width=30 +Height=30 + +[Waypoints] +98=8256 +99=8256 + +[MapPack] +1=BwAAIIH//v8f/4AHAAAggf/+/x//gAcAACCB//7/H/+ABwAAIIH//v8f/4AHAAAggQD+/x +2=8AgAcAACCBAP7/HwCA + +[Base] +Player=USSR +Count=0 + +[OverlayPack] +1=BwAAIIH//v8f/4AHAAAggf/+/x//gA== + +[Briefing] +1=Rescue Einstein from the Headquarters inside this Soviet complex. Once +2=found, evacuate him via the helicopter at the signal flare. Einstein and +3=Tanya must be kept alive at all costs. Beware the Soviet's Tesla Coils. +4=Direct Tanya to destroy the westmost power plants to take them off-line. + +[Digest] +1=bUa2F8EZhneJpy9AdS3S50JUrJE= + diff --git a/code/REDALERT/EXTERNS.H b/code/REDALERT/EXTERNS.H index 4f926cb..da7f00a 100644 --- a/code/REDALERT/EXTERNS.H +++ b/code/REDALERT/EXTERNS.H @@ -70,6 +70,7 @@ extern bool Debug_Cheat; extern bool Debug_Remap; extern bool Debug_Flag; extern bool Debug_Lose; +extern bool Debug_SkipBriefing; extern bool Debug_Map; extern bool Debug_Win; extern bool Debug_Icon; diff --git a/code/REDALERT/GLOBALS.CPP b/code/REDALERT/GLOBALS.CPP index 0728d89..1c04133 100644 --- a/code/REDALERT/GLOBALS.CPP +++ b/code/REDALERT/GLOBALS.CPP @@ -43,6 +43,7 @@ bool Debug_Remap = false; bool Debug_Icon = false; bool Debug_Flag = true; bool Debug_Lose = false; +bool Debug_SkipBriefing = false; bool Debug_Win = false; bool Debug_Map = false; // true = map editor mode bool Debug_Passable = false; // true = show passable/impassable terrain diff --git a/code/REDALERT/INIT.CPP b/code/REDALERT/INIT.CPP index 9146244..f596eb9 100644 --- a/code/REDALERT/INIT.CPP +++ b/code/REDALERT/INIT.CPP @@ -1294,6 +1294,34 @@ bool Select_Game(bool fade) ** Play a VQ */ case SEL_INTRO: +// jmarshall +#ifdef SCENARIO_EDITOR + Debug_Map = true; + Clear_Scenario(); + //Scen.Set_Scenario_Name(1, SCEN_PLAYER_SPAIN, SCEN_DIR_EAST, SCEN_VAR_A); + strcpy(Scen.ScenarioName, "DEFAULTMAP.INI"); + /* + ** Create houses + */ + for (HousesType house = HOUSE_FIRST; house < HOUSE_COUNT; house++) { + new HouseClass(house); + } + + PlayerPtr = HouseClass::As_Pointer(HOUSE_SPAIN); + PlayerPtr->IsHuman = true; + Base.House = HOUSE_USSR; + //LastHouse = HOUSE_GOOD; + Fill_In_Data(); + //Size_Map(-1, -1, 30, 30); + Scen.Waypoint[WAYPT_REINF] = XY_Cell(Map.MapCellX + Map.MapCellWidth / 2, Map.MapCellY + Map.MapCellHeight / 2); + Scen.Waypoint[WAYPT_HOME] = XY_Cell(Map.MapCellX + Map.MapCellWidth / 2, Map.MapCellY + Map.MapCellHeight / 2); +// (*this)[TacticalCoord].IsWaypoint = 1; + Map.Flag_Cell(Coord_Cell(Map.TacticalCoord)); + Map.Set_Tactical_Position(Cell_Coord(Scen.Waypoint[WAYPT_HOME] - (MAP_CELL_W * 4 * RESFACTOR) - (5 * RESFACTOR))); + Go_Editor(true); + process = false; + Debug_SkipBriefing = true; +#else Theme.Fade_Out(); if (Debug_Flag) { @@ -1313,7 +1341,8 @@ bool Select_Game(bool fade) display = true; fade = true; selection = SEL_NONE; - +#endif +// jmarshall end break; /* diff --git a/code/REDALERT/MENUS.CPP b/code/REDALERT/MENUS.CPP index a292a87..8a09c3f 100644 --- a/code/REDALERT/MENUS.CPP +++ b/code/REDALERT/MENUS.CPP @@ -549,8 +549,13 @@ int Main_Menu(unsigned long ) TextButtonClass multibtn(BUTTON_MULTI, TXT_MULTIPLAYER_GAME, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h); d_button_y += d_button_dy; - +// jmarshall - Intro button is going to be the scenario editor button. +#ifdef SCENARIO_EDITOR + TextButtonClass introbtn(BUTTON_INTRO, "Scenario Editor", TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h); +#else TextButtonClass introbtn(BUTTON_INTRO, TXT_INTRO, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h); +#endif +// jmarshall end d_button_y += d_button_dy; TextButtonClass exitbtn(BUTTON_EXIT, TXT_EXIT_GAME, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h); diff --git a/code/REDALERT/SCENARIO.CPP b/code/REDALERT/SCENARIO.CPP index fa38995..b700ee3 100644 --- a/code/REDALERT/SCENARIO.CPP +++ b/code/REDALERT/SCENARIO.CPP @@ -399,26 +399,30 @@ bool Start_Scenario(char * name, bool briefing) /* ** If there's no briefing movie, restate the mission at the beginning. */ - char buffer[25]; - if (Scen.BriefMovie != VQ_NONE) { - sprintf(buffer, "%s.VQA", VQName[Scen.BriefMovie]); - } - if (Session.Type == GAME_NORMAL && ( Scen.BriefMovie == VQ_NONE || !CCFileClass(buffer).Is_Available() ) ) { - /* - ** Make sure the mouse is visible before showing the restatement. - */ - while(Get_Mouse_State()) { - Show_Mouse(); + if (!Debug_SkipBriefing) + { + char buffer[25]; + if (Scen.BriefMovie != VQ_NONE) { + sprintf(buffer, "%s.VQA", VQName[Scen.BriefMovie]); + } + if (Session.Type == GAME_NORMAL && (Scen.BriefMovie == VQ_NONE || !CCFileClass(buffer).Is_Available())) { + /* + ** Make sure the mouse is visible before showing the restatement. + */ + while (Get_Mouse_State()) { + Show_Mouse(); + } + Restate_Mission(Scen.ScenarioName, TXT_OK, TXT_NONE); } - Restate_Mission(Scen.ScenarioName, TXT_OK, TXT_NONE); - } - if (briefing) { - Hide_Mouse(); - VisiblePage.Clear(); - Show_Mouse(); - Play_Movie(Scen.ActionMovie, Scen.TransitTheme); + if (briefing) { + Hide_Mouse(); + VisiblePage.Clear(); + Show_Mouse(); + Play_Movie(Scen.ActionMovie, Scen.TransitTheme); + } } + Debug_SkipBriefing = false; if (Scen.TransitTheme == THEME_NONE) { Theme.Queue_Song(THEME_FIRST); diff --git a/code/REDALERT/VORTEX.CPP b/code/REDALERT/VORTEX.CPP index da3dbe9..259ad88 100644 --- a/code/REDALERT/VORTEX.CPP +++ b/code/REDALERT/VORTEX.CPP @@ -764,6 +764,9 @@ void ChronalVortexClass::Zap_Target (void) void ChronalVortexClass::Coordinate_Remap ( GraphicViewPortClass *inbuffer, int x, int y, int width, int height, unsigned char *remap_table) { unsigned char getx,gety, remap_color, pixel_color; +// jmarshall - todo fix ChronalVortexClass + return; +// jmarshall end BufferClass destbuf (width * height);