Vesly's ASM

Looking at this now and I’m like a little kid at a candy store, hats off to all your dedication and creativity.

I have a question regarding the Cannot Die patch:

So does that mean if I install the cannot die patch the skillsys healing skills will not work? Or have I misunderstood? What of SkillSys will not work due to this ASM?

1 Like

Just install this hack after skillsys.

GetCharClassItemData

Here are a few ASMCs for getting data from the Character / Class / Item editors.

Slot 1 is the unitID / classID / itemID and slot 3 is the offset in the editor.

image

The selection box says +0x9 for affinity, so memory slot 3 holds 0x9. When the ASMC is called, it puts this value into memory slot C - eg. 2 in this case.

Enjoy.

9 Likes

Multiscale

Swarm

Flank / Infiltrator

The % more damage is configurable for swarm / flanking.

now a PR for skillsys master.

PS. I need icons for the following skills:

DrawBackID
SacrificeID
ArdentSacrificeID
ReciprocalAidID
MultiscaleID
FlankID
SwarmID

15 Likes

Draw Back:
DrawBack
Sacrifice
Sacrifice
Multiscale:
Multiscale
Flank:
Flank

7 Likes

I gotchu with Draw Back:
DrawBack

I had made this Icon a while ago. I made it with the same style as the other movement skills, while having the imagery be the same as in Engage.

Also, if you made an edit to Flank/Infiltrator and made it give a guaranteed follow-up instead of a +50% damage, then you can recreate Pincer Attack from Engage

Or you could just call THIS skill Pincer Attack, since it’s so similar. Either way, I have an Icon for that too (2 variants):
image image

6 Likes

New Game Config Menu

mGBA_6sbIwwDXJ1

So I took what Sme & Circles had done and made the text, number of options, and the flags to set to be entirely in the .event file instead of in the C file. I removed the description at the bottom but made it up to 8 options on screen instead of just the 3. I have not added support for scrolling or multiple pages, but I did make it much easier to configure now at least.

It takes over difficulty selection, so it makes these two patches do nothing:

This way I can set a few specific global flags based on what the player chooses at the start of the game.
mGBA_NMChySxzUV-ezgif.com-resize

Credits for this also goes to Sme and Circles.

15 Likes

Number Entry

Allows the player to chose a number. Returns the result to memory slot C. You can choose the initial, min, and the max values in slots 1, 2, and 3. Slots 4, 5, and 6 are for text IDs of the title and up to 3 lines of explanation on the top and the bottom. If you put 0 in these slots, text will not appear.

You can set whatever BG you want to - here I set the black BG 0x35.
mGBA_GYsO6kgoID

I hope someone finds a cool use for this! :slight_smile:

17 Likes

Question to the wizard on deck. You still interested in skill ideas, or is the shop closed for buissness?

I’m not looking for skill ideas right now, sorry.

1 Like

Fair enough…thank you for the reply

Modular Inventory Expansion

They said it was impossible, but they were wrong.

This hack allows units to hold up to 10 items by scrolling through them. Theoretically more is possible, but I couldn’t find the ram space for it. Please note that this takes over your EMS configuration - by default it supports 200 convoy and 62 player units, but if you use a custom EMS, you’ll need to reconfigure it.

https://i.imgur.com/D9hfaYX.gif

14 Likes

So is this an elaborate April Fools joke? Or did you post the wrong gif by accident?

I wouldn’t exactly call it elaborate - I didn’t fake a screenshot or actually make anything :sweat_smile:
Apologies to anyone that I got their hopes up.

3 Likes

WOW,thank you so much! I made a small game in my project,“Input Password”,when I first saw you hack,I exclaimed, “That’s it!”

1 Like

Thanks for the stuff you’ve released! I used a lot of it for my own projects, whether in it’s entirety or as a base to build off of.

I wanted to report some issues that I ran into and how I fixed them

ExtendWeaponDescBox

Release1_4

If the game needs to display text during the unit selection process, the objective text in the lower left gets covered a gray rectangle, even after the text prompt disappears (no, that’s not me censoring it haha). The vanilla text is also two lines long, so it’s not due to the new text that I replaced it with. I was able to solve this by adding a double proc exception checking loop after the initial single proc exception checking loop. I tried to solve it with just the single proc exception loop, but I ran into issues during other parts of preparations.

In Installer.event, I added:

#define gProc_PrepScreenPickUnitsMenu $A18E8C
#define gProc_BG3HSlide $A006E4 
...
InitItemDescVramDoubleProcExceptionsList:
//if both procs are active, don't allocate additional vram
POIN gProc_PrepScreenPickUnitsMenu gProc_BG3HSlide
WORD 0 //Terminator

In InitItemDescVram.asm, I added/changed the following

.set InitItemDescVramDoubleProcExceptionsList, ProcExceptionsList+4 @new
...
beq BeginSecondLoop @previously beq BreakLoop on line 48
...
@The rest of this is new; it goes between b Exit2 on line 52 and BreakLoop: on line 54
BeginSecondLoop:
ldr r4, InitItemDescVramDoubleProcExceptionsList

SecondLoop:
ldr r0, [r4]
cmp r0, #0
beq BreakLoop
blh ProcFind
cmp r0, #0
beq NextEntry_SecondLoop

ldr r0, [r4,#4]
cmp r0, #0
beq NextEntry_SecondLoop
blh ProcFind
cmp r0, #0
bne Exit2

NextEntry_SecondLoop:
add r4, #8
b SecondLoop
NumberEntry

NumberEntryBugs

I think the issues came up because of a problem with correctly distinguishing when a line/text has ended. In the context I used it in, NumberEntry is called through using a staff during gameplay. The problem wasn’t this severe at first, but after I inserted my dialogue for the chapter, it displayed like this. I don’t know C, so I made changes directly to the .lyn.event. Not sure how useful it’ll be, but I’ll still leave them here. This all replaced what was previously on line 15. When I was in the process of making changes, I broke that line up to make it easier for me to see what I was actually changing (and also revert if I did something wrong).

WORD $8000D29 $203DDE4 $203DDE0 $80D1685 $80053E9 $2024CC0 $30004B8 $2022F7A $80D74A9 $8001FAD $8004B89 $8002E95 $80D01FD $46DEB5F0 $464E4657 $B5E04645 $B0874BAB $F0000004 $48AAFA35 $D1002C00 $21E13F $F0004BA8 $4680FA2D $2B004643 $4BA6D05D $46994642 $62D3685B $68D1464A $D906428B $18D30FDA $428B105B $4642D8FA $2B0062D3 $E7FEDA00 $6892464A $D2014293 $62DA4643 $23302200 $4D994641 $F00054CA $4C98FA0B $F0002000 $2100FA06 $4B974896 $FA00F000 $20014B96 $F0009305 $F000F9FB $2000F9FB $F9F7F000 $20004B92 $F9F2F000 $695C464B $D12B2C00 $2B00699B $464BD14F $28006918 $E0DDD000 $23004C8B $21092202 $4D8A0020 $F9E0F000 $9D052001 $F9DCF000 $204643 $21036ADA $30104B85 $F9D2F000 $F0002001 $4640F9D1 $F0004B82 $B007F9CB $46BBBCF0 $46A946B2 $BCF046A0 $4700BC01 $4B7D0020 $F9BEF000 $24007803 $D00B2B00

//WORD $2B013401 $7843D003 $2B013001 $3D8FB $3001785B 
WORD $3401 $78430000 $2B013001 $3D8FB $3001781B

WORD $D1F32B00 $695B464B $D1002B00 $9302E0BD $22082300 $93009301 $33040021 $F7FF2000 $464BFD97 $2B00699B $9302D009 $22082300 $93009301 $20032103 $F7FF330E $464BFD89 $28006958 $4B63D017 $F98AF000 $17803 $D0102B00 $4E614D60 $28E006 $F983F000 $780B0001 $D0062B00 $D1F62B01 $3101784B $2B003508 $464BD1F8 $28006998 $E089D100 $F0004B54 $7803F96D $2B000001 $4D54D010 $E0064E52 $F0000028 $1F966 $2B00780B $2B01D006 $784BD1F6 $35083101 $D1F82B00 $D0162C00 $469B4B4B $26884B4B $469A2500 $764F45 $6819465B $19890038 $F0003501 $3680F94E $42A53708 $2001DBF4 $F0009B05 $464BF93F $28006998 $E74ED100 $F0004B39 $7803F937 $D1002B00 $2200E747 $32010017 

//WORD $D0032B01 $30017843 $D8FB2B01 $785B0003
WORD $0 $30017843 $D8FB2B01 $781B0003

WORD $2B003001 $4B33D1F2 $4B33469B $240025E4 $4E2F469A $465B00AD $306819 $F0001949 $3580F91E $36080023 $429F3401 $2001D1F3 $F0009B05 $464BF90D $28006918 $E721D100 $F0004B20 $4B25F905 $F0000004 $2307F901 $17C23008 $181B4013 $940110DB $22049300 $20002300 $4C1F491E $F8F3F000 $2103E70A $F0004B1D $4680F8ED $464BE6BE $2B00699B $E74AD000 $D18D2C00 $46C0E6F7 $804E885
2 Likes

Did those edits to number entry fix your issue?

Yes, it looks like this with the edits:
NumberEntryCorrect
(I didn’t want a background, so I’m also not sure why the glitched version made the background black)

2 Likes

MakeStolenItemDroppable

mGBA_mfxVlTr5Vt

mGBA_eEDJlLxsyJ

mGBA_kEQl7S6N25

20 Likes

Just tested it with enemy thieves and it worked like a charm.
Thanks again Vesly wtg! :star:

5 Likes