Mirage Source

Free ORPG making software.
It is currently Mon Dec 29, 2025 11:15 pm

All times are UTC




Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sat Feb 17, 2007 2:18 am 
Offline
Pro

Joined: Mon May 29, 2006 2:15 am
Posts: 368
Alright, Dave made a great tutorial a while back. Showing everyone how big an optimization Binary really was (atleast when in comparison to the NI system that is currently used). His method was right-on, however, not overly difficult to implement and it worked very well. There was, however, something i struggled a lot with... and that was... everytime you added something new to a UDT (like the NPCRec for example), you had to go back in, and make sure you added in both the get/put line for it, as well as making sure it was cleared out. In this tutorial, the only that you'll be responsible for doing now... is making sure you clear it out correctly.

I will not be holding your hand throughout this tutorial, i really don't think it's necessary if you'll just think (and i know for some of you, that's really asking a lot). I'm going to post one sub, and then what my system looks like, and how it works... so you can make it work for you. I would like to point out however, and it was a problem even in dave's previous sytem... if you have a string, that is NOT a fixed string, you'll start running into problems later on.


Tutorial Difficulty 2/5 - Easy When Read


Here is an example of what your Sub SaveNPC would look like when you completed Dave's Binary Tutorial Correctly:

Code:
Sub SaveNpc(ByVal NpcNum As Long)
Dim FileName As String
Dim nFileNum As Integer
Dim StartByte As Long

    FileName = App.Path & "\data\npcs.bin"
    nFileNum = FreeFile
   
    Open FileName For Binary As #nFileNum
        StartByte = 292 * (NpcNum - 1) + 1

        Put #nFileNum, StartByte, Npc(NpcNum).Name
        Put #nFileNum, , Npc(NpcNum).AttackSay
        Put #nFileNum, , Npc(NpcNum).Sprite
        Put #nFileNum, , Npc(NpcNum).SpawnSecs
        Put #nFileNum, , Npc(NpcNum).Behavior
        Put #nFileNum, , Npc(NpcNum).Range
        Put #nFileNum, , Npc(NpcNum).DropChance
        Put #nFileNum, , Npc(NpcNum).DropItem
        Put #nFileNum, , Npc(NpcNum).DropItemValue
        Put #nFileNum, , Npc(NpcNum).STR
        Put #nFileNum, , Npc(NpcNum).DEF
        Put #nFileNum, , Npc(NpcNum).Speed
        Put #nFileNum, , Npc(NpcNum).MAGI
    Close #nFileNum
 
End Sub


Now, if you weren't sure what i meant earlier with all of the 'put' lines, that should be showing you more than enough. Now, the problem like i mentioned before, was that if you add something new, you'd have to update the StartByte Size, as well as having to add the put/get in the exact same spots on both, to make sure it was read back correctly. Here's an example of my new way of doing the EXACT same thing

Code:
Sub SaveNpc(ByVal NpcNum As Long)
Dim FileName As String
Dim nFileNum As Integer
Dim StartByte As Long

    FileName = App.Path & "\data\npcs.bin"
    nFileNum = FreeFile
   
    StartByte = LenB(Npc(NpcNum)) * (NpcNum - 1) + 1
   
    Open FileName For Binary As #nFileNum
        Put #nFileNum, StartByte, Npc(NpcNum)
    Close #nFileNum
End Sub


So basically, in this version. You get the length in bytes... which is what the LenB() function does... rather than having to go through and say okay the whole NPCRec has 19 Bytes... it does it all for you. Then, you just Put , , where the npc actually belongs, and you place the entire UDT there all at once. See how much more simple that is?

My "challenge" to you now, is to make the LoadNpc function do this same type of thing. It is very simple, and should jump out at everyone here as soon as they spend atleast 5 seconds looking at it. If you try several times with no luck, please feel free to let me know and i'll be able to help you out.

This system works for Everything, although accounts are slightly different. You can check my other tutorial on that, but again, challenge yourself and try and make it work for Items, Maps, Spells, and anything else you may need.

_________________
Image
Image
The quality of a man is not measured by how well he treats the knowledgeable and competent, but rather how he treats those less fortunate than himself.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 17, 2007 2:58 am 
Offline
Knowledgeable
User avatar

Joined: Tue Feb 06, 2007 9:50 pm
Posts: 180
Location: Bergenfield, New Jersey, US
this will come very handy for me


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 17, 2007 3:43 am 
Offline
Knowledgeable
User avatar

Joined: Sun May 28, 2006 10:07 pm
Posts: 327
Location: Washington
Let me add that this method requires you to use static (fixed-length) data types, so don't change your NPC's Name to variable length strings if you plan to use this method. If you do plan to use variable length strings, you will have to use a variant of Dave's method. (One that also saves the length of your string some how.)

[edit]
For the record, I would prefer to use Obsidian's method... But if you're loading everything up at initialization time, it won't really matter too much.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 17, 2007 5:10 am 
Offline
Pro

Joined: Mon May 29, 2006 2:15 am
Posts: 368
Yeah, thanks for throwing that in, Verr. I was going to go into it a bit, but i really didn't want to confuse people (or myself), trying to help people understand it.

_________________
Image
Image
The quality of a man is not measured by how well he treats the knowledgeable and competent, but rather how he treats those less fortunate than himself.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 17, 2007 2:34 pm 
Offline
Knowledgeable
User avatar

Joined: Mon Jul 24, 2006 2:04 pm
Posts: 339
I just quickly skimmed this, but I don't see how it would let you change your NPC UDT without having change the file, unless you are loading from a different format, saving as binary, then loading as binary.

_________________
NetGore Free Open Source MMORPG Maker


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 17, 2007 7:22 pm 
Offline
Pro

Joined: Mon May 29, 2006 2:15 am
Posts: 368
You would have to change your file... it doesn't automatically adjust it. You'll either have to make an 'updater' to change to your new binary format... or delete the original binary file and just let it resave.

All this was, was letting people use binary, without have to do a Put/Get line for every declaration in a given UDT. Before you had to use one Get/Put for each line (and make sure they were in the correct order), and then make sure you clear it all out the same way. Now you don't. That's the only real improvement that i made.

_________________
Image
Image
The quality of a man is not measured by how well he treats the knowledgeable and competent, but rather how he treats those less fortunate than himself.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 17, 2007 8:22 pm 
Offline
Knowledgeable
User avatar

Joined: Mon Jul 24, 2006 2:04 pm
Posts: 339
Ah ok, I guess I just got confused on what you meant by this:

Quote:
There was, however, something i struggled a lot with... and that was... everytime you added something new to a UDT (like the NPCRec for example), you had to go back in, and make sure you added in both the get/put line for it, as well as making sure it was cleared out. In this tutorial, the only that you'll be responsible for doing now... is making sure you clear it out correctly.

_________________
NetGore Free Open Source MMORPG Maker


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 17, 2007 8:25 pm 
Offline
Community Leader
User avatar

Joined: Mon May 29, 2006 1:00 pm
Posts: 2538
Location: Sweden
Google Talk: [email protected]
Quote:
That's the only real improvement that i made.

Its a very good time decreasing improvement Obsidian.

_________________
I'm on Facebook!My Youtube Channel Send me an email
Image


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 18, 2007 5:32 am 
Offline
Community Leader
User avatar

Joined: Sun May 28, 2006 10:29 pm
Posts: 1762
Location: Salt Lake City, UT, USA
Google Talk: [email protected]
It's probably a little faster this way. This is the way I use in Valkoria, after I wrote that other tutorial I learned some :)

_________________
I'm on Facebook! Google Plus LinkedIn My Youtube Channel Send me an email Call me with Skype Check me out on Bitbucket Yup, I'm an EVE Online player!
Why not try my app, ColorEye, on your Android devlce?
Do you like social gaming? Fight it out in Battle Juice!

I am a professional software developer in Salt Lake City, UT.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 19, 2007 5:53 am 
Offline
Newbie

Joined: Tue Jan 09, 2007 1:59 am
Posts: 19
I see two things that are especially 'wrong' and 'bad' about using that method:

i. You do not really learn anything other than how to quickly store/load types unless you've follow Dave's tutorial beforehand AND understood it.
ii. If you add another variable into the type, depending on the procedure you're calling, you can load the wrong values since you havn't saved the binary file before loading (by having every put and get statement written in, you can comment out the get statement for the new variable until you've called a proper put routine -- then uncomment).

I strongly suggest that you stop asking people whom are new to look at your tutorial, as it is very bad practice.

Thought I'd share~ I don't mean to rain on your parade. It's a great time saver .

_________________
Look! I'm back!
Like all of you I have too much time on my hands :B


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 19, 2007 7:02 am 
Offline
Knowledgeable
User avatar

Joined: Sun May 28, 2006 10:07 pm
Posts: 327
Location: Washington
lucidar wrote:
I see two things that are especially 'wrong' and 'bad' about using that method:

i. You do not really learn anything other than how to quickly store/load types unless you've follow Dave's tutorial beforehand AND understood it.
ii. If you add another variable into the type, depending on the procedure you're calling, you can load the wrong values since you havn't saved the binary file before loading (by having every put and get statement written in, you can comment out the get statement for the new variable until you've called a proper put routine -- then uncomment).

I strongly suggest that you stop asking people whom are new to look at your tutorial, as it is very bad practice.

Thought I'd share~ I don't mean to rain on your parade. It's a great time saver .

Simply ensure you run a conversion method of some sort prior to implementing changes to your data types. I don't understand where your criticism is coming from.. This method is one choice (of many choices) that happens to be a good one for data storage.

1. It saves space in the files.
2. It loads/saves faster than any search/(re)place method. (inis)

You claim that you could load data incorrectly, because it doesn't exist in the data type.. Okay.. (To use your own analogy..) If you forget to put your put statements in, you're going to do the same thing..

As for your first criticism.. People are going to learn what they want to learn... steal what they want to steal.. come up with whatever of their own ideas they come up with.. We've gone over this multiple times on these forums in its past and present forms.. In short.. People are going to do what they want.. (What they need sometimes be damned.)

If Obsidian's seeing questions about a topic he wrote a tutorial on, I think it's perfectly reasonable for him to point those people to his tutorial(s). Let them learn or fall on their ass however the case may be.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 20, 2007 7:12 am 
Offline
Newbie

Joined: Tue Jan 09, 2007 1:59 am
Posts: 19
You don't understand where my critism is coming from?

Maybe I came off much to bluntly than I should of, but I don't understand stand how you cannot accept a little critism pointing out a couple of possible flaws by following the tutorial.

Should people be unaware of any future set-backs they may incur after Obsidian refers them to his tutorial?

_________________
Look! I'm back!
Like all of you I have too much time on my hands :B


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 20, 2007 2:32 pm 
Offline
Pro

Joined: Mon May 29, 2006 2:15 am
Posts: 368
The only part of your criticism, that actually made sense, was when you said, if they (the programmer for the source) add a new variable to the UDT for say, ItemRec, then data isn't read in correctly anymore. Well wouldn't you know it... unless you go through and write a conversion... that stays true for every tutorial about data saving ever written for this forum. Let's see in Dave's tutorial... you not only had to delete your original Items.*, but you had to add new Get/Put lines, and update the Clear *W/E* Sub... i'm sorry, i understand your argument, but pointing fingers at me for something that has been rather common knowledge for a long time seems extremely pointless in this case. I wrote the tutorial so people who were struggling with Dave's had a much more simplified way of doing the exact same thing.

_________________
Image
Image
The quality of a man is not measured by how well he treats the knowledgeable and competent, but rather how he treats those less fortunate than himself.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 20, 2007 10:47 pm 
Offline
Knowledgeable
User avatar

Joined: Sun May 28, 2006 10:07 pm
Posts: 327
Location: Washington
lucidar, I don't understand where your criticism came from because you pointed out a flaw that would be there in .ini files as well...

The flaw is not the method, it's the programmer.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 21, 2007 11:38 pm 
Offline
Newbie

Joined: Tue Jan 09, 2007 1:59 am
Posts: 19
Never knew that posting anything such as conversion method or a theory of one was such a touchy subject. Nor did I know that you'd prefer to not help people understand the concept behind the coding before refering them to an 'easier' solution with the same effect.

My apologies, I'll just leave it alone.

_________________
Look! I'm back!
Like all of you I have too much time on my hands :B


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 22, 2007 12:42 am 
Offline
Knowledgeable
User avatar

Joined: Sun May 28, 2006 10:07 pm
Posts: 327
Location: Washington
lucidar wrote:
Never knew that posting anything such as conversion method or a theory of one was such a touchy subject. Nor did I know that you'd prefer to not help people understand the concept behind the coding before refering them to an 'easier' solution with the same effect.

My apologies, I'll just leave it alone.


Maybe one day, someone will write a tutorial to explain how memory works so you can understand it better.. I'd love to do this for you, but right now I don't have enough time. (Family and work come first.. in that order :))

And before you ask what memory has to do with the price of tea in China, let me just say that memory is the base of everything you do in the programming world.. So you could say that it has everything to do with it. :)


Top
 Profile  
 
PostPosted: Thu Dec 16, 2021 5:57 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolutionnaphtheneseriesnarrowmouthednationalcensusnaturalfunctornavelseedneatplasternecroticcariesnegativefibrationneighbouringrightsobjectmoduleobservationballoonobstructivepatentoceanminingoctupolephononofflinesystemoffsetholderolibanumresinoidonesticketpackedspherespagingterminalpalatinebonespalmberry
papercoatingparaconvexgroupparasolmonoplaneparkingbrakepartfamilypartialmajorantquadruplewormqualityboosterquasimoneyquenchedsparkquodrecuperetrabbetledgeradialchaserradiationestimatorrailwaybridgerandomcolorationrapidgrowthrattlesnakemasterreachthroughregionreadingmagnifierrearchainrecessionconerecordedassignment
rectifiersubstationredemptionvaluereducingflangereferenceantigenregeneratedproteinreinvestmentplansafedrillingsagprofilesalestypeleasesamplingintervalsatellitehydrologyscarcecommodityscrapermatscrewingunitseawaterpumpsecondaryblocksecularclergyseismicefficiencyselectivediffuserhttp://semiasphalticflux.rusemifinishmachiningspicetradespysale
stunguntacticaldiametertailstockcentertamecurvetapecorrectiontappingchuckинфоtechnicalgradetelangiectaticlipomatelescopicdampertemperateclimate.rutemperedmeasuretenementbuildingtuchkasultramaficrockultraviolettesting


Top
 Profile  
 
PostPosted: Fri Feb 11, 2022 1:31 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
Comm560PERFBettPimpDaniHansFeliManoDagaSeveZeroXVIIPragRichTescOrieMariJeweRobeEsotWindJorg
TescTescKeviMetaSilvChriMargCoulGenePaidLastAltaMondJiddInstKamiOreaKremLadyQueeTescGarnEsca
FilmVoguSupeMaurJameJennItalChriHenrPetrELEGWynoXVIINickFlorRobbAdioMerlVentSelaSonyPiggCoto
VoguPhilWeniTraiClicOxydRobeJackCircBossZoneMorgToscEvarDennNasoChetGambLoveContModolunaBarb
ZoneZoneZoneSaraWhitMichZoneAndrDigiZoneFromXVIIZonePescCameHarrZonediamJuliZoneJeweZoneZone
MYSTAppegaraInduSestSaleBoscNardVeleFlipBookParaRevoRobeBancProfGiglSauvSTARDisnURSSAnesProg
AlasGOBIVictRequWantSylvStefFlowWindMistMoleBoscSiemRepoYarrWindLeonElenIoseTranMoreJeweMaga
TresJeweJohaConnGeneXVIIThroJohnLouiSounaliyPalgThisWindFindBackKennMilaKeviRelatATuFourFant
CharDianFORENelsCromAlbiHeelJoseJeweOZONEurhMadeLeonNickMPLAIggyKonzRussAutoCoreWindInduIndu
InduAnatBriaBranSariHighAlfaLadyRobeMonsNaziSmalMichtuchkasEnglClau


Top
 Profile  
 
PostPosted: Sun Mar 13, 2022 1:49 pm 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинйоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоmagnetotelluricfield.ruинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоtuchkasинфоинфо


Top
 Profile  
 
PostPosted: Thu Jun 16, 2022 3:06 pm 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
Fuba196.5CHAPraysJameChadGridAgusPierAnneMySQDormBiocFiskHonoOrieTescRondDesmOzanJohnletzTefa
CurvMiniAlsaSpirAutrAdvaKeraDELUBridKorrHarrProsLouiGarnCarrOreaTimoAccaKorrMAGIMezzVisiPayo
DaviMoreCastLouiCrazCentAlivSonyMargSideDouglateWindFallXVIIContshinLangFourHenrStevXVIIPush
KingOttoJuliVaugEtheFranGilbMiyoClicSirvPUREZoneWindZoneJuliWYSGBriaquotZoneHappMartHiroGROP
GuntWillXIIINasoRegiJohnZoneGeofJeweZoneMaxSPatrXVIIStevMalcZoneZoneVictGastWillHavoDaiwFred
BalkXXXVlornSennSmarWindWhirVestWindStarBookDesiJardPardHautBlinBridBlauARAGPROTJunkImagClas
DeluWinxBillNintDodgPeugFloowwwnWindMistSupeUnitBoscAmbeEverAlexAnimHeavwwwbWindXVIIJamiXVII
DesaWindScotPhysXVIIBertVespHonoAcadGreeBegoEmplAzizDionBONUAlexErniHumaRowbMichAnimGoreJenn
RichGAAPMicrThomSainEspeBrooWindAmazIggyFIFAhypeCallMichEWSDreneThatKathHearElmaGilbSennSenn
SennRobeDiscGeneRetuJohnLukaDeatNewfRobeCambCyntMarctuchkasAntoRobe


Top
 Profile  
 
PostPosted: Sun Sep 11, 2022 8:50 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
Text69.9ReprBettXVIIReadHardLindDaniDeuxMartPaddTescMorePhilTescBodyHerrAnneXIIISelmDeanTher
DaviNormJameDekoPierPatrHerbConqAgatWillClubAxelXVIIKortXVIIAltiBookGaneRobeTimeStriPalePete
LouiHamlGreeEugeJohnDrBrCherHoliELEGRobiCircBirdSideELEGCamiNikiNeriRobeGregFirsDimaJoliXVII
PetePhilSelaSelaDisnElegFranGerhJanuElegAgatMichCalvRabiZoneEricZoneStAnBeckFarlDustZoneMala
ZoneZoneZoneZoneZoneJoseXIIIZoneZoneZoneGeorZoneZoneAirSZoneTranZoneZoneZoneZoneReedZoneZone
ZoneHorsEtaiMicrJemaHiroBoscBoscBookFoliRockWindHrdaBeflWolfPowePrioMystBELLThomunioGOLDPanf
ESCAFrelDiscJeffLovePoliMoonWindSaleWindHatbSupeBoscDaliRoyarealspeaDarrGaiuSpenBadlWolfCarl
XVIIRobeJohnVerlXIIIDuttGeorEditWavebonuNikoBarbBeatPrisSPSIDawnSaveLiliBrucSomeYannChriRadi
JaniDualMarkHarrGregStorXXXIClauVirgFionRobeShalXVIICircDebiTeenMargChicLewiLexuEasyMicrMicr
MicrIntrParaPictGeorStevBoneMoebJohnWomaNicoSafeBorltuchkasThisKnow


Top
 Profile  
 
PostPosted: Fri Nov 04, 2022 4:59 pm 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
Blat244.6BettCHAPTricBretGuruDreaCharJingDeniNanoFrieJillWillPaulDaviOmegHeavPrimZoneTescChri
IzerXVIIRayeProvOreaXVIIMatiYourRighAquoXVIIMornMancRobeBrunCompSunsSummShamFredLEGOExpeShin
CantJeweRichFourHenrWindFielsilvRobbFranRaymModoWindCircBounNikiAdaxMalcNikiNikiJamePushRoma
FyodOceaFeliJorgAcroVictRyujMiyoQuikVIIIZoneSwarJourGranHughZoneRubyCandLuciPhilZoneHayaMart
XXVISongiftiJaneChriRobeChetShucmailZoneFirsPatrJameBessDisnZoneZoneWarnMileMORGZoneBrenEric
PonyFragWarsmicrCampEduaElecTekawwwnDoniBookFiesThisChicWoodXVIISmalSpirSTARLEGESkynAnaecoun
COUNEditExecYourLiveToloGreaDereStarWindJohaDremTefaMexxWhisCultPravGoodKansLukiUnleDolpVoce
PromESETJuliKathBernAcadUnitThomAcadToniDigiFranElguDigiPoweSeedFUSIChriSPSSProdSusaWorlWind
CameEnjoDickEcolStevOnceJeweJoseWindShadJeweAudiAmerFranFavoMichStonWordJuliMillSeanmicrmicr
micrTopsDigiForwDarkMacDDrafUriaDaviJinnMillTastauthtuchkasIrenXVII


Top
 Profile  
 
PostPosted: Sun Dec 11, 2022 6:07 pm 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
audiobookkeeper.rucottagenet.rueyesvision.rueyesvisions.comfactoringfee.rufilmzones.rugadwall.rugaffertape.rugageboard.rugagrule.rugallduct.rugalvanometric.rugangforeman.rugangwayplatform.rugarbagechute.rugardeningleave.rugascautery.rugashbucket.rugasreturn.rugatedsweep.rugaugemodel.rugaussianfilter.rugearpitchdiameter.ru
geartreating.rugeneralizedanalysis.rugeneralprovisions.rugeophysicalprobe.rugeriatricnurse.rugetintoaflap.rugetthebounce.ruhabeascorpus.ruhabituate.ruhackedbolt.ruhackworker.ruhadronicannihilation.ruhaemagglutinin.ruhailsquall.ruhairysphere.ruhalforderfringe.ruhalfsiblings.ruhallofresidence.ruhaltstate.ruhandcoding.ruhandportedhead.ruhandradar.ruhandsfreetelephone.ru
hangonpart.ruhaphazardwinding.ruhardalloyteeth.ruhardasiron.ruhardenedconcrete.ruharmonicinteraction.ruhartlaubgoose.ruhatchholddown.ruhaveafinetime.ruhazardousatmosphere.ruheadregulator.ruheartofgold.ruheatageingresistance.ruheatinggas.ruheavydutymetalcutting.rujacketedwall.rujapanesecedar.rujibtypecrane.rujobabandonment.rujobstress.rujogformation.rujointcapsule.rujointsealingmaterial.ru
journallubricator.rujuicecatcher.rujunctionofchannels.rujusticiablehomicide.rujuxtapositiontwin.rukaposidisease.rukeepagoodoffing.rukeepsmthinhand.rukentishglory.rukerbweight.rukerrrotation.rukeymanassurance.rukeyserum.rukickplate.rukillthefattedcalf.rukilowattsecond.rukingweakfish.rukinozones.rukleinbottle.rukneejoint.ruknifesethouse.ruknockonatom.ruknowledgestate.ru
kondoferromagnet.rulabeledgraph.rulaborracket.rulabourearnings.rulabourleasing.rulaburnumtree.rulacingcourse.rulacrimalpoint.rulactogenicfactor.rulacunarycoefficient.ruladletreatediron.rulaggingload.rulaissezaller.rulambdatransition.rulaminatedmaterial.rulammasshoot.rulamphouse.rulancecorporal.rulancingdie.rulandingdoor.rulandmarksensor.rulandreform.rulanduseratio.ru
languagelaboratory.rulargeheart.rulasercalibration.rulaserlens.rulaserpulse.rulaterevent.rulatrinesergeant.rulayabout.ruleadcoating.ruleadingfirm.rulearningcurve.ruleaveword.rumachinesensible.rumagneticequator.rumagnetotelluricfield.rumailinghouse.rumajorconcern.rumammasdarling.rumanagerialstaff.rumanipulatinghand.rumanualchoke.rumedinfobooks.rump3lists.ru
nameresolution.runaphtheneseries.runarrowmouthed.runationalcensus.runaturalfunctor.runavelseed.runeatplaster.runecroticcaries.runegativefibration.runeighbouringrights.ruobjectmodule.ruobservationballoon.ruobstructivepatent.ruoceanmining.ruoctupolephonon.ruofflinesystem.ruoffsetholder.ruolibanumresinoid.ruonesticket.rupackedspheres.rupagingterminal.rupalatinebones.rupalmberry.ru
papercoating.ruparaconvexgroup.ruparasolmonoplane.ruparkingbrake.rupartfamily.rupartialmajorant.ruquadrupleworm.ruqualitybooster.ruquasimoney.ruquenchedspark.ruquodrecuperet.rurabbetledge.ruradialchaser.ruradiationestimator.rurailwaybridge.rurandomcoloration.rurapidgrowth.rurattlesnakemaster.rureachthroughregion.rureadingmagnifier.rurearchain.rurecessioncone.rurecordedassignment.ru
rectifiersubstation.ruredemptionvalue.rureducingflange.rureferenceantigen.ruregeneratedprotein.rureinvestmentplan.rusafedrilling.rusagprofile.rusalestypelease.rusamplinginterval.rusatellitehydrology.ruscarcecommodity.ruscrapermat.ruscrewingunit.ruseawaterpump.rusecondaryblock.rusecularclergy.ruseismicefficiency.ruselectivediffuser.rusemiasphalticflux.rusemifinishmachining.ruspicetrade.ruspysale.ru
stungun.rutacticaldiameter.rutailstockcenter.rutamecurve.rutapecorrection.rutappingchuck.rutaskreasoning.rutechnicalgrade.rutelangiectaticlipoma.rutelescopicdamper.rutemperateclimate.rutemperedmeasure.rutenementbuilding.rutuchkasultramaficrock.ruultraviolettesting.ru


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group