Coder Social home page Coder Social logo

aplumafreak500 / lumas-ct-pack-launcher Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 361 KB

Launcher for Luma's CT Pack, loosely based on the CTGP-R channel.

License: GNU General Public License v3.0

Makefile 6.47% C 82.26% C++ 11.04% Assembly 0.23%
lumas-ct-pack ctgp mario-kart-wii wiimmfi devkitpro devkitppc nintendo

lumas-ct-pack-launcher's People

Contributors

aplumafreak500 avatar

Watchers

 avatar  avatar

lumas-ct-pack-launcher's Issues

CTGP-Code

  • Dol parts
  • Strap parts
  • Dynamic CRS1
  • Dynamic CUP1
  • Toggleable OVR1
  • OVR1: Speedometer colors
  • CTWW
  • Rel patches

Mirror Servers

  • sync w/ master server or another mirror
  • config
  • verify w/ clients
  • integrate client code into server code
  • multiple distros in one server

How to eject the disc?

if (game_id==0x0) {
printf("Disc read error!\n\n");
/*
read_try++;
if (read_try==3) {
// todo: eject the disc
}
*/
goto reinsert_disc;
}
else if (game_id==0x1) {
// We would've printf()'d here but it would result in a dupe message.
// todo: eject the disc
goto reinsert_disc;
}
else if ((game_id!=gids[0] && game_id!=gids[1] && game_id!=gids[2] && game_id !=gids[3]) && !debug_build) {
printf("Excuse me, princess! This isn't Mario Kart Wii!\n\n");
// todo: eject the disc
goto reinsert_disc;
}
else if (game_id==gids[3]) {
printf("Korean support is not implemented!\n\n");
// todo: eject the disc
goto reinsert_disc;
}

Server

Will be its own repo. Python at first, eventually C or Java. (will be fork of RiiFS)

  • Definition of the protocol. (Will be based on RiiFS with additional extensions)
  • UDP send/recv
  • Runnable server.
  • generate RSA keys
  • tell users where to put the files
  • config
  • verify with client
  • multiple distros on one server

More to come.

Make it actually do something

Admittedly, I have little experience in this area. What I want is for this to load files from SD or USB instead of disc. Maybe hook a function in IOS, or something.

Short of Riivolution becoming open source finding such a function, I'm currently stuck.

Debug Logging

  • USB Gecko Slot A (see #6)
  • USB Gecko Slot B (see #6)
  • Wi-Fi Gecko (see #6)
  • OSReport
  • SD/USB
  • TCP/UDP (see #11)

Other in-memory patches

  • vs -> vx
  • Region line colors
  • Save text BMGs
  • 01 -> L1/L2 (yes, there's a string in StaticR.rel that says simply 01. Unknown if/where it's used.)
  • _d -> <null>
  • CD.szs and related support patches If file doesn't exist in patch dir, call the game's DVDOpen (see #5)
  • Wiimmfi

Client

  • init network
  • UDP send/recv
  • verify RSA key
  • verify SHA256 of files

libogc

Same as libwiigui; more to come.

  • set up basic UI
  • ttf
  • gfx
  • more stylized UI

User-supplied config, files, etc.

  • Auto-generate RSA and AES keys
  • Config/vars
  • Add CTGP-Code itself as a submodule
  • Add Makefile rules for CTGP-Code
  • WBZ hook
  • Make the user drop in CTGP-Code text, & track files

libwiigui

  • set up basic UI
  • ttf
  • gfx
  • more stylized UI

Encryption?

If, in case I really wanted this...

  • hook file loader (Brainslug, see #5)
  • decryption function
  • keys
  • encrypt files

Gecko

  • codehandler
  • codehandleronly
  • GCT
  • VI Hook
  • AXNextFrame Hook
  • WPad Hook
  • GCPad Hook
  • GXDraw Hook
  • GXFlush Hook
  • USB Gecko Slot A
  • USB Gecko Slot B
  • Wifi Gecko
  • Debug logs (like Brainslug)

File patches (Riivo)

  • Find the DVD library functions in the game
  • Write a new Brainslug module that will load the files from SD instead of disc (USB/network will come later)

File type progress

  • U8
  • Yaz0 decompression
  • Yaz0 compression
  • BRRES
  • Tex0
  • GCT parsing
  • MP3 (for channel music)
  • BRLYT (Coundown; cup menu)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.