Banks in Banks Speichern
Übersicht

![]() |
Jan_Ehemaliger AdminBetreff: Banks in Banks Speichern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aloa,
Ich wollte gestern meine Mapengine in Bmax 1.16 mal testen, Ok, das hatte zum effekt, das ich ne menge umschreiben musste, aber es gibt ein Problem, Ich speichere dort Banks in Banks. aber das geht nciht mehr wie Früher, Geht das überhaupt nciht mehr, oder mache ich was Falsch? |
||
between angels and insects |
![]() |
Suco-XBetreff: ........ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also Banks in Banks speichern scheint mir nicht gerade eine tolle Lösung, klingt ja richtig fies. Sicher dass du dich da mit deiner Lösung nicht verirrt hast?
Dir ist warscheinlich der Strict Modus zum verhängnis geworden, bei dem man nicht mehr mit Int Handles von Objecten rumspielen darf. Probiers doch mal mit den Befehlen wie HandleToObject und HandleFromObject um einen Integerwert deiner Banks zu bekommen. Das Integerzeugs kannst du ja dann in deine Banks speichern. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Alternativ kannst du jetzt auch Types mit Arrays drin nutzen, da diese im Unterschied zum alten BM jetzt dynamisch vergrössert und verkleinert werden können. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm,
Das Problem ist, Das es um die Bmax Mapengine für mapeditor.de.vu geht, diese war recht früh in Bmax Geschrieben und deshalb auch noch mit vielen BB techniken, und das alles umzuschreiben über ca. 150 kb source die ganzen abhängigkeiten ,... wollte ich eigentlich cniht. handle to objekt und handle from objekt funktioniren nciht. da sagt der mir immer, int und Objekt passen nicht ... |
||
between angels and insects |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Handle to / from wäre auch keine effiziente Lösung weil er das Objekt im System erst wieder suchen muss mit dem Handle und dafür ist BM nimmer optimiert (wie es das alte Blitz war).
Speziell bei Banks ist IntHandle eine sehr ungesunde idee, da dann BM langsamer wird BlitzPlus. (deswegen die Banks auch immer mit :TBank deklarieren, sollte das nicht geschehen sein) Da speicherst du besser den BytePtr der Bank in eine Bank. PseudoCode: WriteInt(Bank,BytePtr(Bank2)) local Bank2:tbank = TBank(ReadInt(Bank)) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
joa, sowas suchte ich,
mal sehen ob es funzt. |
||
between angels and insects |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
War doch ein klein bisschen länger ![]() Hier ein funktionierender Code: Code: [AUSKLAPPEN] Strict
Local bank:TBank = CreateBank(128) Local bank2:TBank = CreateBank(128) For Local i = 0 To 128/4 - 1 PokeInt(bank2,i*4,i) Next PokeInt(bank,0,Int(BankBuf(bank2))) Print "Adresse ist: " + PeekInt(bank,0) Local bank3:TBank = CreateStaticBank(Byte Ptr(PeekInt(bank,0)),128) Print "Die Daten sind:" For Local i = 0 To 128/4 - 1 Print "Offset: " + i*4 + ", Inhalt: " + PeekInt(bank3,i*4) Next End |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
AbrexxesBetreff: Bank->Stream->positionieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
wie kann ich mich in einem Stream auf eine bestimmte Stelle positionieren? Ich stehe da auf dem Schlauch. ![]() Code: [AUSKLAPPEN] Blogdat:TBank=LoadBank("blo.dat ") Local big=BankSize( Blogdat:TBank ) Print big CreateBankStream:TBankStream( Blogdat ) in=ReadStream(Blogdat) While Not Eof(in) Print ReadLine(in) Wend CloseStream in Also zb von einer bestimmten Position anfangen auszulesen? thx |
||
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du jetzt mit Positionieren: SeekStream(stream:TStream,pos:Int)?
EDIT: Irgendwie sieht der Code komisch aus... Wieso machst du es nicht einfach so? Code: [AUSKLAPPEN] Blogdat:TBank=LoadBank("blo.dat ")
Local big=BankSize( Blogdat:TBank ) Print big local in:TBankStream=CreateBankStream( Blogdat ) While Not Eof(in) Print ReadLine(in) Wend CloseStream in Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Yup, habe Seekstream die Bank und nicht den Stream übergeben. ![]() Jetzt gehts. ![]() Nachtrag: Ich experimentiere rum |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group