|
1 | 1 | package org.runejs.client;
|
2 | 2 |
|
3 | 3 | import org.runejs.client.cache.CacheIndex;
|
| 4 | +import org.runejs.client.cache.media.AnimationSequence; |
4 | 5 | import org.runejs.client.cache.media.ImageRGB;
|
5 | 6 | import org.runejs.client.cache.media.gameInterface.GameInterface;
|
6 | 7 | import org.runejs.client.cache.media.gameInterface.GameInterfaceArea;
|
|
10 | 11 | import org.runejs.client.frame.Minimap;
|
11 | 12 | import org.runejs.client.frame.ScreenController;
|
12 | 13 | import org.runejs.client.frame.ScreenMode;
|
| 14 | +import org.runejs.client.frame.console.Console; |
13 | 15 | import org.runejs.client.frame.tab.parts.TabParts;
|
14 | 16 | import org.runejs.client.input.MouseHandler;
|
15 | 17 | import org.runejs.client.io.Buffer;
|
|
30 | 32 | import org.runejs.client.media.renderable.Renderable;
|
31 | 33 | import org.runejs.client.scene.*;
|
32 | 34 | import org.runejs.client.scene.camera.CameraRotation;
|
| 35 | +import org.runejs.client.scene.util.CollisionMap; |
33 | 36 | import org.runejs.client.sound.MusicSystem;
|
34 | 37 | import org.runejs.client.sound.SoundSystem;
|
35 | 38 | import org.runejs.client.util.BitUtils;
|
@@ -3357,4 +3360,259 @@ public static boolean method596(int arg0, int arg1, byte junk, int arg3) {
|
3357 | 3360 | crossIndex = 0;
|
3358 | 3361 | return true;
|
3359 | 3362 | }
|
| 3363 | + |
| 3364 | + public static void startup() { |
| 3365 | + if (loadingPercent == 0) { |
| 3366 | + Game.currentScene = new Scene(Landscape.tile_height); |
| 3367 | + for (int i = 0; i < 4; i++) |
| 3368 | + Landscape.currentCollisionMap[i] = new CollisionMap(104, 104); |
| 3369 | + Minimap.minimapImage = new ImageRGB(512, 512); |
| 3370 | + anInt1607 = 5; |
| 3371 | + loadingPercent = 20; |
| 3372 | + Native.currentLoadingText = English.startingGameEngine; |
| 3373 | + } else if (loadingPercent == 20) { |
| 3374 | +// int[] is = new int[9]; |
| 3375 | +// for (int i = 0; i < 9; i++) { |
| 3376 | +// int i_0_ = 15 + 32 * i + 128; |
| 3377 | +// int i_1_ = 3 * i_0_ + 600; |
| 3378 | +// int i_2_ = Rasterizer3D.sinetable[i_0_]; |
| 3379 | +// is[i] = i_2_ * i_1_ >> 16; |
| 3380 | +// } |
| 3381 | +// Scene.method95(500, 800, 512, 334, is); |
| 3382 | + ScreenController.setBounds(); |
| 3383 | + anInt1607 = 10; |
| 3384 | + Native.currentLoadingText = English.preparedVisibilityMap; |
| 3385 | + loadingPercent = 30; |
| 3386 | + } else if (loadingPercent == 30) { |
| 3387 | + CacheArchive.skeletonCacheArchive = CacheArchive.loadArchive(0, true, false, true); |
| 3388 | + CacheArchive.skinDefinitionCacheArchive = CacheArchive.loadArchive(1, true, false, true); |
| 3389 | + CacheArchive.gameDefinitionsCacheArchive = CacheArchive.loadArchive(2, true, true, false); |
| 3390 | + CacheArchive.gameInterfaceCacheArchive = CacheArchive.loadArchive(3, true, false, true); |
| 3391 | + CacheArchive.soundEffectCacheArchive = CacheArchive.loadArchive(4, true, false, true); |
| 3392 | + CacheArchive.gameWorldMapCacheArchive = CacheArchive.loadArchive(5, true, true, true); |
| 3393 | + CacheArchive.musicCacheArchive = CacheArchive.loadArchive(6, false, true, true); |
| 3394 | + CacheArchive.modelCacheArchive = CacheArchive.loadArchive(7, true, false, true); |
| 3395 | + CacheArchive.gameImageCacheArchive = CacheArchive.loadArchive(8, true, false, true); |
| 3396 | + CacheArchive.gameTextureCacheArchive = CacheArchive.loadArchive(9, true, false, true); |
| 3397 | + CacheArchive.huffmanCacheArchive = CacheArchive.loadArchive(10, true, false, true); |
| 3398 | + CacheArchive.jingleCacheArchive = CacheArchive.loadArchive(11, true, false, true); |
| 3399 | + CacheArchive.clientScriptCacheArchive = CacheArchive.loadArchive(12, true, false, true); |
| 3400 | + loadingPercent = 40; |
| 3401 | + Native.currentLoadingText = English.connectingToUpdateServer; |
| 3402 | + anInt1607 = 20; |
| 3403 | + } else if (loadingPercent == 40) { |
| 3404 | + int i = 0; |
| 3405 | + i += CacheArchive.skeletonCacheArchive.getPercentLoaded() * 5 / 100; |
| 3406 | + i += 5 * CacheArchive.skinDefinitionCacheArchive.getPercentLoaded() / 100; |
| 3407 | + i += 5 * CacheArchive.gameDefinitionsCacheArchive.getPercentLoaded() / 100; |
| 3408 | + i += 5 * CacheArchive.gameInterfaceCacheArchive.getPercentLoaded() / 100; |
| 3409 | + i += 5 * CacheArchive.soundEffectCacheArchive.getPercentLoaded() / 100; |
| 3410 | + i += 5 * CacheArchive.gameWorldMapCacheArchive.getPercentLoaded() / 100; |
| 3411 | + i += CacheArchive.musicCacheArchive.getPercentLoaded() * 5 / 100; |
| 3412 | + i += 40 * CacheArchive.modelCacheArchive.getPercentLoaded() / 100; |
| 3413 | + i += CacheArchive.gameImageCacheArchive.getPercentLoaded() * 5 / 100; |
| 3414 | + i += CacheArchive.gameTextureCacheArchive.getPercentLoaded() * 5 / 100; |
| 3415 | + i += 5 * CacheArchive.huffmanCacheArchive.getPercentLoaded() / 100; |
| 3416 | + i += 5 * CacheArchive.jingleCacheArchive.getPercentLoaded() / 100; |
| 3417 | + i += 5 * CacheArchive.clientScriptCacheArchive.getPercentLoaded() / 100; |
| 3418 | + if (i == 100) { |
| 3419 | + loadingPercent = 45; |
| 3420 | + Native.currentLoadingText = English.loadedUpdateList; |
| 3421 | + anInt1607 = 30; |
| 3422 | + } else { |
| 3423 | + if (i != 0) |
| 3424 | + Native.currentLoadingText = English.checkingForUpdates + i + Native.percent; |
| 3425 | + anInt1607 = 30; |
| 3426 | + } |
| 3427 | + } else if (loadingPercent == 45) { |
| 3428 | + MusicSystem.initialiseMusic(0); |
| 3429 | + SoundSystem.initialiseSound(Game.signlink); |
| 3430 | + loadingPercent = 50; |
| 3431 | + Native.currentLoadingText = English.preparedSoundEngine; |
| 3432 | + anInt1607 = 35; |
| 3433 | + } else if (loadingPercent == 50) { |
| 3434 | + int i = 0; |
| 3435 | + if (TypeFace.fontSmall != null) |
| 3436 | + i++; |
| 3437 | + else |
| 3438 | + TypeFace.fontSmall = TypeFace.loadTypeFace(CacheArchive.gameImageCacheArchive, "", Native.fontP11Full); |
| 3439 | + if (fontNormal != null) |
| 3440 | + i++; |
| 3441 | + else |
| 3442 | + fontNormal = TypeFace.loadTypeFace(CacheArchive.gameImageCacheArchive, "", Native.fontP12Full); |
| 3443 | + if (TypeFace.fontBold != null) |
| 3444 | + i++; |
| 3445 | + else |
| 3446 | + TypeFace.fontBold = TypeFace.loadTypeFace(CacheArchive.gameImageCacheArchive, "", Native.fontB12Full); |
| 3447 | + if (i < 3) { |
| 3448 | + Native.currentLoadingText = English.loadingFonts + (i * 100 / 3) + Native.percent; |
| 3449 | + anInt1607 = 40; |
| 3450 | + } else { |
| 3451 | + loadingPercent = 60; |
| 3452 | + anInt1607 = 40; |
| 3453 | + Native.currentLoadingText = English.loadedFonts; |
| 3454 | + } |
| 3455 | + } else if (loadingPercent == 60) { |
| 3456 | + int i = method988(CacheArchive.huffmanCacheArchive, CacheArchive.gameImageCacheArchive); |
| 3457 | + int i_3_ = 5; |
| 3458 | + if (i < 5) { |
| 3459 | + Native.currentLoadingText = English.loadingTitleScreen + (100 * i / 5) + Native.percent; |
| 3460 | + anInt1607 = 50; |
| 3461 | + } else { |
| 3462 | + org.runejs.client.frame.console.Console.console = new Console(); |
| 3463 | + Native.currentLoadingText = English.loadedTitleScreen; |
| 3464 | + anInt1607 = 50; |
| 3465 | + processGameStatus(5); |
| 3466 | + loadingPercent = 70; |
| 3467 | + } |
| 3468 | + } else if (loadingPercent == 70) { |
| 3469 | + if (CacheArchive.gameDefinitionsCacheArchive.method185()) { |
| 3470 | + OverlayDefinition.initializeOverlayDefinitionCache(CacheArchive.gameDefinitionsCacheArchive); |
| 3471 | + UnderlayDefinition.initializeUnderlayDefinitionCache(CacheArchive.gameDefinitionsCacheArchive); |
| 3472 | + IdentityKit.initializeIdentityKitDefinitionCache(CacheArchive.gameDefinitionsCacheArchive, CacheArchive.modelCacheArchive); |
| 3473 | + GameObjectDefinition.initializeGameObjectDefinitionCache(CacheArchive.modelCacheArchive, VertexNormal.lowMemory, CacheArchive.gameDefinitionsCacheArchive); |
| 3474 | + ActorDefinition.initializeActorCache(CacheArchive.modelCacheArchive, CacheArchive.gameDefinitionsCacheArchive); |
| 3475 | + ItemDefinition.initializeItemDefinitionCache(CacheArchive.gameDefinitionsCacheArchive, membersWorld, CacheArchive.modelCacheArchive); |
| 3476 | + AnimationSequence.initializeAnimationCaches(CacheArchive.skinDefinitionCacheArchive, CacheArchive.gameDefinitionsCacheArchive, CacheArchive.skeletonCacheArchive); |
| 3477 | + SpotAnimDefinition.initializeSpotAnimCache(CacheArchive.modelCacheArchive, CacheArchive.gameDefinitionsCacheArchive); |
| 3478 | + VarbitDefinition.initializeVarbitDefinitionCache(CacheArchive.gameDefinitionsCacheArchive); |
| 3479 | + VarPlayerDefinition.initializeVarPlayerDefinitionCache(CacheArchive.gameDefinitionsCacheArchive); |
| 3480 | + GameInterface.createInterfaceMemoryBuffers(); |
| 3481 | + loadingPercent = 80; |
| 3482 | + anInt1607 = 60; |
| 3483 | + Native.currentLoadingText = English.loadedConfig; |
| 3484 | + } else { |
| 3485 | + Native.currentLoadingText = English.loadingConfig + CacheArchive.gameDefinitionsCacheArchive.method202() + Native.percent; |
| 3486 | + anInt1607 = 60; |
| 3487 | + } |
| 3488 | + } else if (loadingPercent == 80) { |
| 3489 | + int i = 0; |
| 3490 | + if (Minimap.minimapCompass != null) |
| 3491 | + i++; |
| 3492 | + else |
| 3493 | + Minimap.minimapCompass = method1028(CacheArchive.gameImageCacheArchive, Native.compass, ""); |
| 3494 | + if (minimapEdge == null) |
| 3495 | + minimapEdge = method1028(CacheArchive.gameImageCacheArchive, Native.mapEdge, ""); |
| 3496 | + else |
| 3497 | + i++; |
| 3498 | + if (mapSceneIcons != null) |
| 3499 | + i++; |
| 3500 | + else |
| 3501 | + mapSceneIcons = IndexedImage.getMultipleIndexedImages(CacheArchive.gameImageCacheArchive, Native.mapScene, ""); |
| 3502 | + if (Minimap.mapFunctionIcons == null) |
| 3503 | + Minimap.mapFunctionIcons = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.mapFunction, ""); |
| 3504 | + else |
| 3505 | + i++; |
| 3506 | + if (aClass40_Sub5_Sub14_Sub4Array2474 != null) |
| 3507 | + i++; |
| 3508 | + else |
| 3509 | + aClass40_Sub5_Sub14_Sub4Array2474 = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.hitmarks, ""); |
| 3510 | + if (aClass40_Sub5_Sub14_Sub4Array603 == null) |
| 3511 | + aClass40_Sub5_Sub14_Sub4Array603 = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.headiconsPK, ""); |
| 3512 | + else |
| 3513 | + i++; |
| 3514 | + if (headIconSprites != null) |
| 3515 | + i++; |
| 3516 | + else |
| 3517 | + headIconSprites = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.headiconsPrayer, ""); |
| 3518 | + if (hintIconSprites == null) |
| 3519 | + hintIconSprites = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.headiconsHint, ""); |
| 3520 | + else |
| 3521 | + i++; |
| 3522 | + if (multiCombatIcon == null) |
| 3523 | + multiCombatIcon = method1028(CacheArchive.gameImageCacheArchive, Native.overlayMultiway, ""); |
| 3524 | + else |
| 3525 | + i++; |
| 3526 | + if (Minimap.minimapMarkers == null) |
| 3527 | + Minimap.minimapMarkers = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.mapMarker, ""); |
| 3528 | + else |
| 3529 | + i++; |
| 3530 | + if (cursorCross != null) |
| 3531 | + i++; |
| 3532 | + else |
| 3533 | + cursorCross = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.cursorCross, ""); |
| 3534 | + if (Minimap.mapDots == null) |
| 3535 | + Minimap.mapDots = ImageRGB.method526(CacheArchive.gameImageCacheArchive, Native.mapDots, ""); |
| 3536 | + else |
| 3537 | + i++; |
| 3538 | + if (scrollbarArrowImages == null) |
| 3539 | + scrollbarArrowImages = IndexedImage.getMultipleIndexedImages(CacheArchive.gameImageCacheArchive, Native.scrollbar, ""); |
| 3540 | + else |
| 3541 | + i++; |
| 3542 | + if (moderatorIcon != null) |
| 3543 | + i++; |
| 3544 | + else |
| 3545 | + moderatorIcon = IndexedImage.getMultipleIndexedImages(CacheArchive.gameImageCacheArchive, Native.modIcons, ""); |
| 3546 | + if (i < 14) { |
| 3547 | + Native.currentLoadingText = English.loadingSprites + (100 * i / 14) + Native.percent; |
| 3548 | + anInt1607 = 70; |
| 3549 | + } else { |
| 3550 | + minimapEdge.trim(); |
| 3551 | + int i_4_ = (int) (Math.random() * 21.0) - 10; |
| 3552 | + int i_5_ = (int) (21.0 * Math.random()) - 10; |
| 3553 | + int i_6_ = (int) (41.0 * Math.random()) - 20; |
| 3554 | + int i_7_ = -10 + (int) (21.0 * Math.random()); |
| 3555 | + for (int i_8_ = 0; Minimap.mapFunctionIcons.length > i_8_; i_8_++) |
| 3556 | + Minimap.mapFunctionIcons[i_8_].method717(i_6_ + i_4_, i_5_ + i_6_, i_7_ + i_6_); |
| 3557 | + mapSceneIcons[0].mixPalette(i_4_ + i_6_, i_5_ + i_6_, i_6_ + i_7_); |
| 3558 | + Native.currentLoadingText = English.loadedSprites; |
| 3559 | + anInt1607 = 70; |
| 3560 | + loadingPercent = 85; |
| 3561 | + } |
| 3562 | + } else if (loadingPercent == 85) { |
| 3563 | + int i = method955(CacheArchive.gameImageCacheArchive); |
| 3564 | + if (i < 19) { |
| 3565 | + Native.currentLoadingText = English.loadingGameScreen + (i * 100 / 19) + Native.percent; |
| 3566 | + anInt1607 = 80; |
| 3567 | + } else { |
| 3568 | + Native.currentLoadingText = English.loadedGamescreen; |
| 3569 | + loadingPercent = 90; |
| 3570 | + anInt1607 = 80; |
| 3571 | + } |
| 3572 | + } else if (loadingPercent == 90) { |
| 3573 | + if (CacheArchive.gameTextureCacheArchive.method185()) { |
| 3574 | + Class35 class35 = new Class35(CacheArchive.gameTextureCacheArchive, CacheArchive.gameImageCacheArchive, 20, 0.8, !VertexNormal.lowMemory ? 128 : 64); |
| 3575 | + Rasterizer3D.method703(class35); |
| 3576 | + Rasterizer3D.createPalette(0.8); |
| 3577 | + loadingPercent = 110; |
| 3578 | + anInt1607 = 90; |
| 3579 | + Native.currentLoadingText = English.loadedTextures; |
| 3580 | + } else { |
| 3581 | + Native.currentLoadingText = English.loadingTextures + CacheArchive.gameTextureCacheArchive.method202() + Native.percent; |
| 3582 | + anInt1607 = 90; |
| 3583 | + } |
| 3584 | + } else if (loadingPercent == 110) { |
| 3585 | + Game.mouseCapturer = new MouseCapturer(); |
| 3586 | + Game.signlink.createThreadNode(10, Game.mouseCapturer); |
| 3587 | + Native.currentLoadingText = English.loadedInputHandler; |
| 3588 | + loadingPercent = 120; |
| 3589 | + anInt1607 = 94; |
| 3590 | + } else if (loadingPercent == 120) { |
| 3591 | + if (CacheArchive.huffmanCacheArchive.method194(Native.huffman, "")) { |
| 3592 | + HuffmanEncoding huffmanEncoding = new HuffmanEncoding(CacheArchive.huffmanCacheArchive.method170("", Native.huffman)); |
| 3593 | + method778(huffmanEncoding); |
| 3594 | + loadingPercent = 130; |
| 3595 | + Native.currentLoadingText = English.loadedWordpack; |
| 3596 | + anInt1607 = 96; |
| 3597 | + } else { |
| 3598 | + Native.currentLoadingText = English.loadingWordPack + Native.zeroPercent; |
| 3599 | + anInt1607 = 96; |
| 3600 | + } |
| 3601 | + } else if (loadingPercent == 130) { |
| 3602 | + if (!CacheArchive.gameInterfaceCacheArchive.method185()) { |
| 3603 | + Native.currentLoadingText = English.loadingInterfaces + (4 * CacheArchive.gameInterfaceCacheArchive.method202() / 5) + Native.percent; |
| 3604 | + anInt1607 = 100; |
| 3605 | + } else if (CacheArchive.clientScriptCacheArchive.method185()) { |
| 3606 | + Native.currentLoadingText = English.loadedInterfaces; |
| 3607 | + loadingPercent = 140; |
| 3608 | + anInt1607 = 100; |
| 3609 | + } else { |
| 3610 | + Native.currentLoadingText = English.loadingInterfaces + (80 + CacheArchive.clientScriptCacheArchive.method202() / 5) + Native.percent; |
| 3611 | + anInt1607 = 100; |
| 3612 | + } |
| 3613 | + } else { |
| 3614 | + if (loadingPercent == 140) |
| 3615 | + processGameStatus(10); |
| 3616 | + } |
| 3617 | + } |
3360 | 3618 | }
|
0 commit comments