ASM Help Thread

Nov 9, 2015 at 6:38 AM
Senior Member
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jan 22, 2015
Location:
Posts: 249
Nov 9, 2015 at 5:32 PM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1640
Age: 27
Pronouns: he/him
Ok, how do I use NICE, I literally know nothing about dll's or C++ though I am pretty decent at x86 and I want to make this the next step.

Could a simple tutorial be written out for this?

Sorry if I'm asking for something that's very situational....

@duncathan Yes, I love how it's only growing better even though it's small; Maybe if we can make NICE the standard of CS modding then we can draw in more member that will stick around kinda like the Sonic and mario ROM hacking communities because if it's great flexibility.
 
Nov 9, 2015 at 9:06 PM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Aug 2, 2014
Location: inactivity.
Posts: 115
Ok, how do I use NICE, I literally know nothing about dll's or C++ though I am pretty decent at x86 and I want to make this the next step.

Could a simple tutorial be written out for this?

Sorry if I'm asking for something that's very situational....

@duncathan Yes, I love how it's only growing better even though it's small; Maybe if we can make NICE the standard of CS modding then we can draw in more member that will stick around kinda like the Sonic and mario ROM hacking communities because if it's great flexibility.

(EDIT: The below assumes you are using the latest version of NICE, that is, the version with audio.)

Depends what you're going to do. If you want to just modify entities & make TSC commands, you'll want to work in Lua. If you want access to Windows API stuff, or something I've missed in the Lua layer, you work in C++. If you want to add hooks, you have to do a bit of ASM to hook it, then some C++ to connect your hook to Lua.
For "My little entity":
The first bit is complex. There's some procedures you have to follow when using Cave Editor, and I'm not sure how BL reacts.
If you're using Booster's Lab, it might work better. Backup the EXE, do ASM modifications, try using Booster's Lab on the ASM-modified EXE, and please note your results so everybody knows Booster's Lab works.
If you're using Cave Editor, Cave Editor will *NOT* work properly with NICE-modded EXEs. I have no idea why.
I suspect this has something to do with why Cave Editor and Sue's Workshop are like matter and anti-matter.
So, keep a backup of the EXE, and use Cave Editor on that backup. Doukutsu Assembler has ASM-lists for a reason, use them to apply the NICE-patches to your EXE before testing (so you can test w/ NICE running)
2. If you're using the template mod, things are now easy. Follow the above procedures, do Lua work in data/nice.lua, and do C/C++ work in game_dll. (Visual Studio C++ 2010 express project)
3. Otherwise, you have to copy over at least the extra DLLs, data/init.lua, and data/nice.lua. And if you want C/C++ work, you'll want to copy the game_dll sources.
And you'll also want to copy the licenses for the DLLs, too :)
4. Add your entity to data/nice.lua. An example of NPC216 (safely deletable, the kludge used in older NICE versions is gone now)
Sorry setup is complicated, but at the end things become a lot simpler (at least if you're working in Lua, anyway!)
 
Nov 25, 2015 at 6:42 PM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
Alright, how would I go about putting the TIMG command where the CAT command is?
 
Nov 25, 2015 at 10:28 PM
Senior Member
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jan 22, 2015
Location:
Posts: 249
Alright, how would I go about putting the TIMG command where the CAT command is?
Is it okay if I do it?
EDIT: I think I managed to do it.. PM me?
 
Last edited:
Back
Top