__ CIVILIZATION v2.58ž ___________________________________(CR) VECTRONIX 1996 __ ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ HISTORY-FILE ...special greetings to in German JABBA/SUPERIOR only!! NIRVANA/ADM JACKY/ACF TSCC ____ __________ ____ _____ ______ ______ __ __ _/\_____ ___ \__ \_/ __ _/ \_ _/ \__/ \__/ ___ \_/ \_/ \| \_ _/ V \_ | | _\ / / \ / /\ \ __/\ | l / / \ \ _/ _/ | | | | ___/ \__/__/ \__/ \__/ | / | | \___/. \ | | | | | | _ _/ / _/ |______ | | | | | | | |\ | | | l | | _| | | | _/ | | | | | | | | | | _l_ / | | | | | | | | | | | | | | | | |\_ _ _/ | | _| ! | | | | | | | j | | | | |/ | \_ l ! _ | : | ! | | | | ___ _/ ! | | | | | | \ : /| . | : | | | | | \_ : | | | | | | \ . / | | . | | | | | | . | | | | | | \ / | | | | | | | | | | | | | | `/ `--------^--------' `---' `---| |--------^---| |---^---^----' `----' `----' pr„sentiert CIVILIZATION v2.58beta von MICROPROSE SIMULATION SOFTWARE geknackt, trainiert, verbessert usw. von METALLINOS/VEX Anleitung geschrieben von MOONFALL und METALLINOS/VEX Spiel besorgt von W.I.N _________________________________________________ ---------------------- Contact us at Uni Marburg |------------------------------ ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ Einleitung: ----------- Das Spiel CIVILIZATION hat schon vor Jahren einen Kultstatus erreicht. Nur gab es NIE eine Version, die 100%ig korrekt und optisch "„sthetisch" war. Diesem Problem wird mit dieser neuen Version 2.57ž abgeholfen! VECTRONIX hat zwar schon mehrere Versionen dieses Spiels im Laufe des Jahre 1993 (!) und 1994 herausgebracht, sie liefen auch von Version zu Version stabiler, jedoch optische M„ngel waren dort immer noch vorhanden. Vorweg muž bemerkt werden: CIVILIZATION wurde von MPS MANGELHAFT programmiert! Sowohl fehlerhafter Programmcode, unerkl„rliche Abstrze und optische M„ngel waren (und sind in der Originalversion) in unglaublicher Vielfalt vorhanden. Ich werde im weiteren Text klarstellen, was wir (VECTRONIX) in/an diesem Spiel ge„ndert und verbessert haben. ================================================================================ Versionsdaten: -------------- Massenhafte Verbesserungen bis Anfang 1994/Ende 1993. Zu dem Zeitpunkt: Komplette Reassemblierung des gesamten Spiels. Sourcecodel„nge ca. 2.7 MB! ***** 01.01.1995 v2.50 Begin der mitgeschriebenen Versionsnummernz„hlung ***** 01.01.1995-04.03.1995 "Vergessen", daž ich mitprotokollieren wollte ;-) ***** 04.03.1995 v2.54 ***** 12.09.1995 v2.55 ***** 17.09.1995 v2.56 ***** 20.10.1995 v2.57 ***** 26.10.1995 v2.57 ***** 24.11.1995 v2.58 ***** 22.12.1995 v2.57ž ==> Zurckstufung! ***** 30.01.1996 v2.58ž ***** Letzte Žnderung: ***** 30.01.1996 (v2.58ž) ***** aktuelle Versionsnummer: ***** 2.58ž ŽNDERUNGEN und VERBESSERUNGEN des Programmcodes: ================================================ ***** get„tigte Žnderungen vor dem 12.09.1995: *** Der Clippingfix 1 wurde eingefgt. *** Der Clippingfix 2 wurde eingefgt. *** Der Drivefix mit TRAP #0 und TRAP #3 wurde eingefgt. *** Der 4 Megabytefix mit TRAP #4 wurde eingefgt. (Test ob Sprite ber * Bildschirm geschrieben wurde.)(Routine erneuert und verschnellert) *** Barbaren-Trainer auf Wunsch installierbar * ==> Durch den erforderlichen Tastendruck evtl. kein Keyboardfix mehr n”tig!! * (Leider falsch gedacht!) *** TRAP #1 Loader wurde eingebaut fr ICE! gepackte Files. * Die TRAP #1 Routine muž vor Verlassen des Programmes destalliert werden. *** TRAP #14 Farbpatch wurde installiert. * Destallierung am Ende des Programms. *** Bei Label L07FA wurde ein BLE durch BLT ersetzt, da sonst ab und zu * eine Endlosschleife auftrat. Scheint jetzt behoben zu sein. * SCHEISSE!!! Es scheint so, daž dadurch die Schiffe (und evtl Flugzeuge) * der Gegner berhaupt nicht mehr aus den St„dten auslaufen!!! * K”nnte man als Traineroption anw„hlen lassen... * Wurde jetzt abfragem„žig als Trainer installiert. * ==> Endlosschleife tritt wahrscheinlich immer noch ab und zu auf!!! * Durch Eliminierung vieler m”glicher EXT.L-Fehler wurde die Wahrscheinlich- * keit ziemlich stark verringert, daž der H„nger auftritt. * Er kommt aber immer noch!!! *** Einige Trapaufrufbefehle wurden optimiert, indem direkt auf den Stack ber- * geben wird, und nicht mehr durch ein Datenregister *** Wenn man mehr St„dte hat, als auf einer Bildschirmseite darstellbar sind, * und man drckt F4, dann Absturz, weil ber den Bildschirm geschrieben wurde. * Bei Label L16C6/L16C7 wurde der Fehler behoben. Leider wird diese Routine * sehr oft aufgerufen, so daž sie jetzt absolut lahmarschig geworden ist. * Nicht nur, wenn man auf F4 drckt, auch andere Dinge sind jetzt langsamer. * Es besteht aber die M”glichkeit, daž jetzt auch noch andere unentdeckte * Fehler durch diesen Fix eliminiert wurden, da es scheint, daž diese Routine * Doppelfunktionen hat. *** Farben werden nun vorher gerettet und nachher wieder zurckgeschrieben. *** Maus stellt in Zeile 199 keinen Dreck mehr da. *** Sch”nheitsfehlerkorrektur bei Label L1370. " builds space ship" * wurde nicht richtig zentriert dargestellt. Sieht nun besser aus. *** Sch”nheitsfehlerkorrektur bei Label L1F35. "Estimate arrival in ..." * wurde nicht richtig zentriert dargestellt. Sieht nun besser aus. *** Die Texte "Complete Replay" und "Quick Replay" waren vertauscht. * Ich habe sie in die richtige Reihenfolge gebracht. *** Histographen-Darstellung war unsch”n, wenn ein bestimmter M„chigkeitswert * berschritten wurde. Grund des Fehlers war ein EXT.L-Befehl der fehlerhaft * angewendet wurde. Ca. bei Label L110F. *** Quadrierung optimiert bei ca. L05C2. *** Bei L13A4: Wenn ein Gegner sein Raumschiff gestartet hat, dann wurde erst * der Bildschirm gel”scht und danach erst auf eine Taste gewartet. * Dieser Sch”nheitsfehler wurde eliminiert... *** _RAND wurd um ca. 4 Taktzyklen beschleunigt, durch weglassen eines * EXT.L-Befehls. K”nnte sich evtl. auf die Geschwindigkeit des Spieles aus- * wirken,da die Routy oft aufgerufen wird. *** Bei Label __CXD22: Bei DIVU was falsch? Weiss nicht! Muž probiert werden. *** _CONSET und _CONUNSET wesentlich optimiert! *** _LIBCANDO und _DOSOUND optimiert *** _CLEARPAGE (vermutlich L”schroutine fr den ganzen Bildschirm) minimal be- * schleunigt. *** _INSTALLVBL und _DESTALLVBL etwas optimiert *** Bei L0BC9 (im Intro?) wird z.B. die vermutlich absturztr„chtige _KBHIT- * Funktion aufgerufen. *** Bei L16FB eine HAARSTRŽUBENDE ROUTINE entdeckt zum wiederherstellen des * Hintergrunds bei _HIDEMOUSE! Hat Zieladresse auf $3FFF60 (=$400000-160) * berprft. V”llig hirnrissig! L„uft aužerdem dadurch eventualiter NICHT * mehr auf Rechnern mit mehr als 4 MB ST-RAM! Logisch w„re ein Abfragen, ob * der Bildschirmspeicherbereich nicht vielleicht berschritten wrde. * ==> eliminiert, jetzt wird nur noch getestet, ob nicht ber den Bildschirm * drber geschrieben wird. *** L16C6 nochmals deutlich optimiert (nicht andauernder XBIOS-Aufruf) *** |~|~| hier bin ich stehengeblieben auf der Suche nach dem Keyboard-Fehler. *** L002A: Hauptloop? *** _INITDATA: Spielkonfiguration/Initialisierung aller Spieler etc. *** Neu entdeckte Verf„lschungsfehler: *** 2 eventuell auftretende EXT-Fehler bei ca. L0522 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L0586 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L05C2 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. _ADDCLINK eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L07B9 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L07BA eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L0912 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L0C3A eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. _FAMOUS eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L0C4C eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L0D7C eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L0DCC eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L1145 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L115B eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L1160 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L1166 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L1169 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L116C eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L1171 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L11BF eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L11F2 eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. _AXN eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L122E eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L133A eliminiert. *** Eventuell auftretender EXT-Fehler bei ca. L133B eliminiert. *** Diese eventuellen Fehler mssen bisher nicht unbedingt in Erscheinung * getreten sein, wenn sie dies berhaupt jemals tun!!! * (Es sind Bereichsberschreitungsfehler...) *** Nach EXT. gesucht bis ca. Zeile 7176, auf Plausibilit„t berprft. *** Bis L0095 "MOVE.L" vor "EXT.L" auf "MOVE.W" optimiert. Optimierung eigent- *lich unn”tig, da MOVE.L dx,dy wohl dieselbe Zeit braucht wie MOVE.W dx,dy... ***** chronologische Darstellung der Žnderungen erst 12.09.1995! *** 12.09.1995: "Heidelburg" in "Heidelberg" ge„ndert. * Der Diplomat u. evtl. der Traveller wird bei Meldungen nicht korrekt * dargestellt!!! Behoben bis zum 17.09.1995 (Hat lange gedauert! Aber Neo- * chrome buggt rum mit IFF und TRUEPAINT kann nicht vernnftig packed-IFF * abspeichern...) *** 13.09.1995: Beschleunigung bei L0D24/(_BUILDSPRITE)/L173B * Bei _CONVERTPIC ist 'ne haarstr„ubend schlechte Routine gesichtet worden! * Die Routine IFF_DECOMP muž so umgeschrieben werden, daž auch UNGEPACKTE * IFF-Files geladen werden k”nnen, da ich SP299.LBM ver„ndert habe. *** 16.09.1995: * Laden von ungepackten ILBM(IFF)-Files geht nicht (scheint was mit meiner * Copy-Routine falsch zu laufen). Ich werde dann im Laufe der Zeit alles auf * PI1-Bilder umkonvertieren mssen (Packrate ist sicher(!) sowieso besser). * SP299.LBM ist nun SP299.PI1, heisst aber immer noch SP299.LBM, weil das * Proggie irgendwo immer ein LBM ber die vorgegebenen Extensions schreibt... *** 17.09.1995: v2.56 * Jetzt k”nnen ungepackte PI1-Bilder eingeladen werden! * Die alten *.LBM-Bilder mssen in NEOCHROME v2.27 eingeladen werden und dann * als PI1 abgespeichert werden. Die Farben sind dann irgendwie vertauscht, * aber das wird bei _CONVERTPIC wieder in die richtige Reihenfolge gebracht. * (Dauert aber tierisch lange, so daž die Bilder (samt Farben) vorher besser * konvertiert und gespeichert werden sollten.) * Ebenfalls werden nun der Spion/Diplomat/Traveller korrekt dargestellt. *** 22.09.1995: * CBRUSH4.BBM: Die Pixelbreite wurde von 318 auf 320 ge„ndert, da sonst bei * der Palastanzeige bei Anzeige dieses Teils am rechten Bildschirmrand Dreck * dargestellt wurde. * Scheint wohl noch ein Problem mit CBRUSH2.BBM da zu sein! 1 Pixelspalte wird * links dargestellt, die da eigentlich wohl nicht hingeh”rt. *** 19.10.1995: * Bei _LOADGAMEFILE habe ich das RETTEN und RESTOREN des Bildschirms eingebaut * => sieht nun wesentlich sch”ner aus! * Ganz nebenbei wurde auch der Fehler behoben, daž, wenn man das Laden eines * Spielstandes per ESC abgebrochen hatte und danach ein neues Spiel per "START * NEW GAME" gestartet hat, die Grafik rechts und unten nicht korrekt darge- * stellt war. * ACHTUNG! Bei der Laufwerksauswahl wird der Bildschirm immer noch nicht * korrekt zurckgesetzt! *** 20.10.1995: v2.57 * Auch bei der Laufwerksauswahl beim Laden eines Spielstandes wird der Bild- * schirm jetzt korrekt zurckgesetzt. * Bei "_SHOWMOUSE" und "_HIDEMOUSE" wird jetzt auch grunds„tzlich d0.l ge- * rettet. * Jetzt werden also ALLE Register IMMER gerettet, so daž diese Routinen grund- * s„tzlich ohne Gefahr aufgerufen werden k”nnen. * (Wenn zu oft an oder abgeschaltet wurde, konnte der Fall eintreten, daž D0.L * zerst”rt wurde.) * Es ist nun m”glich auch das Laufwerk bei _SAVEGAMEFILE/_LOADGAMEFILE mit der * Maus auszuw„hlen. Bei L10C9 wurden Zeilen eingefgt, damit dort kein Dreck * hinterlassen wird. *** 22./23.10.1995: * Farbfehler bei L016B bei RECTUMFILL-Aufruf entfernt. War unsch”n anzuschauen * wenn man alle Zivilisationen zerst”rt hatte. * v2.57 Text-Titelbildschirm eingebaut. * Bei L1788 auf korrekte Planeanzahl beim Entpacken umgestellt. * ==> VERBLšFFEND einfache L”sung des Bildmodifizier-/Einlade-/Planeverschieb- * ungs-Problems!!!!!!! * Nun k”nnen auch per DPAINT modifizierte *.IFF/*.LBM-Files, die nur 4 Planes * haben verwendet werden!!! PI1-Laderoutine ist nun berflssig geworden!!! * Alle Routinen zum PI1-Einladen wurden ausgeREMt. * Titelbildschirm (LOGO.LBM) (mit "CIVILIZATION v2.57") eingebaut. *** 26.10.1995: * Wenn man die HALL OF FAME im Hauptmenu anklickt, wird der Hintergrund nicht * korrekt gerettet und zurckgeschrieben! * Jetzt korrigiert: * Bei L17D4 (VIEW HALL OF FAME) wurde _SAVESCREEN/_RESTORSCREEN eingebaut. * Endgltiger Release von Version 2.57. * (Nein! Nur einer hat eine Kopie gekriegt und direkt festgestellt, daž da * immer noch das Problem vorhanden ist, daž CIV nicht aus bestimmten Ordnern * gestartet werden kann! Der Ordnername MUSS immer aus 11 Buchstaben bestehen! * Am Besten sollte er "CIVILIZA.TIO" heižen! *** 23.11.1995: * Versuchte Žnderung: Absturz beim Programmstart, wenn der Ordner, in dem sich * Civilization befindet, einen Namen hat, der ziemlich kurz ist. * Absturz mit 2 Bomben dann in einer Tastaturabfrageroutine?! * Aber wohl nur, weil bestimmte Files nicht gefunden wurden! * ==> Vermutung: Liegt an Fsfirst/Fsnext/SetDTA/GetDTA. * Žnderungen bei DFIND * Bei L15BA: unn”tiges "tst.w d7" einfach weggelassen! * _STPATH: Buffer von 100 auf 256 Bytes erh”ht, so daž jetzt theoretisch die * Ordnertiefe wesentlich gr”žer sein kann. * Bei _AMIGAINIT/L15A3: Vor dem Bltmode-Aufruf werden die Farben gerettet * und nachher wieder zurckgeschrieben. Damit wird der "newtrap14" ber- * flssig! * _KBHIT: Statt per GEMDOS (#11)auf Zeichenverfgbarkeit zu berprfen, wurde * die entsprechende BIOS-Funktion (#1) benutzt. Buserrorfehler beim Starten * ist weg, aber dafr Absturz beim Beenden des Programms!!! * L1956: testing => Fehlschlag * ._CLOSE? L18B2? * STRMFE? L1A13: Testing * _DEXT/L1FB3/L1FB7: Zeiger auf Endungen, die an Filenamen angeh„ngt werden * sollen! Wenn diese auf 0 zeigen, dann wird vermutlich nichts angeh„ngt! * ==> L1FB7 und L1FB3 wurden von mir auf 0 ver„ndert! ==> Rckg„ngig gemacht! * Um das weglassen zu k”nnen, muž STRMFE: noch weiter ver„ndert werden! * STRMFE: So ver„ndert, daž KEINE spezifizierte Endung mehr drangeh„ngt wird! * IN KEINEM FALL MEHR! Daher: Aufpassen, daž alle Files die richtigen File- * namen haben! * STRMFE: ist fast komplett berflssig geworden! Sie kann durch eine ganz * normale Stringkopierroutine ersetzt werden!!! ==> Sp„ter?! * L1FB2/L1FB5: Meines Erachtens nach v”llig berflssig. (AusgeREMt) * Muss noch betrachtet werden: L18B2 (Fclose) mit einigen der __UFBS-Kan„le! * Meiner Meinung nach k”nnen diese Standardkan„le irgendwie nicht geschlossen * werden! * Oder wer hat schon mal versucht Bildschirm/Tastatur etc. zu schliessen?! * ==> Nochmal berprfen: __DISATTY: und alpha__REDIRECT. *** 22.12.1995: * Festgestellt, daž SLAM2.BBM noch nicht in SLAM2.LBM umbenannt war! Hiermit * get„tigt. (W„re gewesen: Absturz bei Zerst”rung aller Zivilizationen!) * Achtung! Vielleicht werden manche andere Dateien jetzt auch nicht mehr ge- * funden?! Mssten dann umgenannt werden! * Muž beim Spielen drauf geachtet werden! * *** NEBENBEI: FEHLER im TEMPUS 2.21 gefunden!! Bei diesem Sourcecode und bei * Voreinstellung von 160 Zeichen pro Spalte, hier aber 615 Zeilen drin sind, * die 192 Zeichen lang sind, beim Zeilenl„ngenanpassen des TEMPUS gibt's 2 * Bomben! * Abgestellt durch Voreinstellung der TEMPUS-Zeilenl„nge auf 200 Zeichen. * - Weiterer Fehler im Tempus: Ist das Textfenster bei 640x480x2 auf maximaler * Gr”že, und man klickt auf (bzw. einen Pixel rechts neben) den Scrollbalken, * so gibt's 'nen Totalabsturz! Keine Eingabe wird mehr angenommen! *** * So, jetzt aber genug! Ich bringe diese Version jetzt als V2.57ž raus! * => Žndern des Logos von "2.57" in "2.57ž" * => Editieren der Anleitung * Release der Betaversion nach Fertigstellung der Anleitung! *** 27.01.1996: * Neuen Fehler ausgemacht! Die Farben werden beim Benutzen der XBIOS #5 * Funktionen ohne den newtrap14-Patch doch nicht mehr korrekt gesetzt! * Nur wenn NVDI 2.50 installiert ist funktionierte es noch richtig! * V2.57ž war also eine quasi "verschlimmbesserte" Version! * ==> MUSS DRINGEND VERBESSERT WERDEN! * Alle Traps werden im KOMMENTAR mit "BIOS" "XBIOS" "GEMDOS" versehen, * damit sie besser aufffindbar sind. * CIVILISATION-Schriftzug im Titel auf CIVILIZATION ge„ndert. * Gleichzeitig neue Versionsnummer "v2.58ž" eingefgt. * Alle "trap #14" bei XBIOS-5 Calls wurden ersetzt durch "bsr do_xbios5_patch" * Diese Rotuien muž noch programmiert werden. Es sollen dort jeweils die Farben * gerettet, danach der XBIOS #5 Call gemacht werden, und dann die Farben * wieder zurckgeschrieben werden! *** 30.01.1996: * "do_xbios5_patch" eingebaut. Die Farben werden nun korrekt vor den * jeweiligen XBIOS #5-Aufrufen gerettet und danach wieder in die Register * zurckgeschrieben. * Beim Programmende werden die Farben jetzt auch wieder korrekt zurck- * geschrieben. * => Žndern des Logos in LOGO.LBM von "2.58" in "2.58ž". * Release der version 2.58ž. ================================================================================ ZUKUNFTSPLANUNG: ================ Ich werde noch einiges an diesem Spiel tun, immer sporadisch, wenn mir mal wieder irgendein kleiner oder grožer Fehler auff„llt. Als wichtigste Žnderung w„re die Eliminierung des 2-Bomben-Keyboard-Absturzes zu nennen, der aber nur auftritt, wenn der Ordner, in dem sich CIVILIZATION be- findet einen zu kurzen Namen hat! Also am Besten CIV IMMER im ORDNER "CIVILIZA.TIO" halten!!!!!!!!!!!!!!!!!!!!!!! Wer mir da Tips geben kann sollte sich irgendwie mit mir in Verbindung setzen. (Am besten ber unseren Sysop ;-) So, viel Spaž mit dem Programm und bis die Tage... METALLINOS of VECTRONIX 30.01.1996 ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙|_____ VECTRONIX in 1996 ____|˙˙˙˙˙˙˙˙˙ _________________________________________|˙˙˙˙˙ "reges piratorum" ˙˙˙˙|_________